Apple ya permite ejecutar apps de iOS en Mac OS X gracias a su Apple M1

apple m1 ejecuta aplicaciones arm

¿Imaginas poder ejecutar las aplicaciones de tu iPhone o iPad en tu Mac? Pues deja de imaginarlo, porque ya es posible con los nuevos Mac de Apple. La compañía de Cupertino renovó su catálogo de portátiles y ordenadores preparándose para 2021, y realizó grandes cambios en el camino.

Además de ser los primeros Mac con chip ARM y tener un rendimiento excelente frente a los x86 que suministraba Intel, el SoC diseñado por la compañía esconde algo adicional. El nuevo Apple M1 permite ejecutar apps de iOS en Mac OS X y nosotros te contamos cómo esto es posible.

El Apple M1 puede ejecutar apps de iOS porque es de arquitectura ARM como los Apple AX

Mac 2020 ejecutan apps ARM en Mac OS X

Desde 2007, con el APL0098, Apple ha venido diseñando sus propios chips personalizados basados en la arquitectura ARM. Sin embargo, no fue hasta 2010 con el Apple A4 que la historia comenzó a ponerse buena.

En ese momento, Apple dejó de basarse en los núcleos Cortex de ARM para crear los suyos (como hace Qualcomm con sus núcleos Kryo, por ejemplo) y decidió lanzarse a la personalización total. Desde entonces, los SoC de Apple han ido mejorando de forma vertiginosa hasta llega al genial y potente A14 Bionic de los iPhone 12.

De este último parte el diseño del Apple M1, el primer chip ARM de Apple para sus Mac. ¿Por qué te contamos esto? Porque sabiendo de dónde viene el M1 puedes dar con la respuesta de su compatibilidad.

Aunque su diseño es totalmente personalizado, el Apple M1 conserva el mismo juego de instrucciones ARM que los Apple AX, otorgándole retrocompatibilidad inmediata con estos. Las aplicaciones de iOS están desarrolladas para ser ejecutadas sobre chips de esta arquitectura, y por ende también pueden usarse en el M1 sin problema.

Tras leer lo anterior, entonces quizás te puedas preguntar: “si el Apple M1 usa arquitectura ARM, ¿entonces también podría ejecutar aplicaciones de Android de forma nativa?”. Teóricamente sí, pero en la práctica no porque la personalización de la arquitectura ARM de los chips de Apple es muy profunda. Además, tanto iOS como Mac OS tampoco son compatibles, así que el problema sería doble.

Para este tipo de casos se hace necesario usar un software traductor de arquitectura, tal como está sucediendo con las aplicaciones basadas en x86.

¿Qué puedes esperar de las aplicaciones de iOS y Mac OS X?

ejecutar apps ios en mac os x

Aunque ya existían métodos para ejecutar aplicaciones de iOS en Mac OS X, con la llegada de Big Sur la cosa será mucho mejor. La versión 11 de Mac OS X agrega soporte nativo a estas aplicaciones (en dispositivos basados en ARM), y permite gozar de una ejecución más perfecta que nunca.

Según Apple, cuando instales e inicies una app de iOS en tu Mac esta se ejecutará como una aplicación estándar de escritorio. ¿Qué significa esto? Que, aunque se parezcan, no necesariamente serán como las ves en tu iPhone o iPad.

Además, al ejecutarse en Mac OS X, estas apps tendrán sus barras de menús, ventanas redimensionables, soporte de mouse, trackpad, teclado y más. Además, Apple asegura que todas las apps que hayas comprado en tu iPhone o iPad las tendrás disponibles para descargar en tu Mac sin volver a pagar.

Los nuevos Mac son compatibles con ARM, pero pierden compatibilidad con las apps x86, o casi

compatibilidad x86 y ARM macbook 2020

Una de cal y otra de arena, porque no todo es tan perfecto como parece. Al pasar de la arquitectura x86 hacia ARM, los nuevos Mac perderán compatibilidad nativa con las apps desarrolladas para x86.

Aplicaciones tan importantes como la suite de Adobe no podrán ejecutarse de forma nativa en los nuevos Mac de 2020, o al menos no hasta que su código cambie de arquitectura. Esto mismo sucederá con miles de aplicaciones más, y muchos usuarios se están arrancando los pelos por esto. Pero tranquilo, porque Apple no ofrece una, sino dos soluciones.

Para evitar el desastre, Apple desarrolló Rosetta 2 una nueva versión de su traductor dinámico binario para Mac OS X. Este permitirá instalar aplicaciones x86 en los nuevos Mac y ejecutarlas sin necesidad de modificar nada en el código fuente de estas apps.

Por supuesto, la traducción entre arquitecturas tiene un costo en el rendimiento final, pero si Rosetta 2 es tan bueno como el original, el impacto será bastante bajo. ¿Qué es Rosetta? Fue la solución de Apple para migrar de PowerPC a x86 en 2006, y ahora Rosetta 2 hace lo propio de x86 a ARM.

La segunda solución de Apple para resolver los problemas de compatibilidad entre ARM y x86 es xCode. Este es un software que permite recompilar el código de las aplicaciones x86 y convertirlo a ARM, generando un código binario universal compatible con ambas arquitecturas.

Es una gran solución, y mejor a mediano plazo que Rosetta 2, pero igual será necesario pulir el código final para sacar el máximo rendimiento de cada aplicación. Por esto último, aplicaciones como las de Adobe no llegarán en versión universal (x86 y ARM) hasta 2021.

¿Crees que fue una buena idea que Apple se pasara de x86 a ARM? A nosotros sí, porque x86 todavía tiene grandes beneficios, pero su avance comienza a ser más lento que el de la arquitectura ARM.