Apple M1 Innovación

¿Cambiará el Apple M1 el mundo para los desarrolladores? 🤨

30/03/21 5 min. de lectura

Está claro que Apple ha cambiado el mundo de las CPU con su nuevo procesador M1, con un rendimiento increíble para un procesador ARM que sobrepasa a los monstruosos x86 (lee nuestro análisis técnico del Apple M1 aquí). Pero ¿Cómo afectará a los desarrolladores y sus herramientas?

Para empezar el M1 de Apple sólo ejecuta macOS

Mientras que los procesadores x86 puede ejecutar Windows, Linux, Solaris, FreeBSD, macOS (por un tiempo) y muchos otros los procesadores M1 de Apple sólo pueden ejecutar macOS. Y por ejecutar me refiero a directo sobre el hardware, el sistema operativo en el que arranca la máquina.

Es importante anotar que las herramientas de virtualización sobre macOS en el M1 se están adaptando para ejecutar diversos tipos de Linux, con algunas adaptaciones muy avanzadas

Windows, sin embargo, tiene algunos problemas más y la peor parte es perder BootCamp. Es lógico, el propio Microsoft tiene una versión ARM de Windows pero desafortunadamente parece que no es demasiado compatible ni rinde demasiado (de hecho hace no mucho que han añadido la compatibilidad con 64 bits)

Y es que Apple haya hecho esta transición con éxito dos veces mientras que Microsoft no. Quizá es que Microsoft se está enfocando en Windows 10X para competir con los Chromebook que quizá cubramos en un artículo futuro.

¿Qué hay de homebrew?🤗

Homebrew es uno de los pilares del desarrollo en Apple. Es un tipo de gestión de paquetes que permite instalar en el mac muchas liberías y componentes que no se incluyen o no se pueden instalar fácilmente en el mac.

Homebrew software

Desafortunadamente no está  soportado en los mac con M1 aunque se ha anunciado dicha compatibilidad. Esperemos que llegue porque una de las estrategias clave de Apple es la App store que impone un fuerte control de lo instalado en tu mac y homebrew es necesario para los desarrolladores.

Mac – iPhone – iPad compatibilidad mejorada 📱💻📲

Sí, por fin ha llegado y se pueden ejecutar (con algunas restricciones) aplicaciones de iPhone e iPad. La primera versión estaba abierta a cualquier aplicación, pero la versión actual requiere que el desarrollador de la aplicación permita explícitamente ejecutar en macOS.

En comparación Microsoft no tuvo éxito con su Microsoft UWP pero Google sí al ejecutar aplicaciones Android en ChromeOS.

Compilación múltiple para macOS pero ¿y para otras plataformas?

Al compilar una aplicación en un Apple M1 la arquitectura por defecto es “arm64” que es diferente a “arm/v7” (pe para la Raspberry Pi) o “amd64” (típico servidor). Lo que no es compatible.

Si quieres desplegar en un servidor necesitarás una herramienta que soporte compilación transversal (aquí hay un ejemplo para hacerlo con docker) y la complicación de hacer pruebas. Así que ten cuidado antes de comprar un Apple M1 para construir software para otras plataformas.

¿Qué hay de la programación de bajo nivel en macOS?

Esa es una gran pregunta. En nuestro artículo previo sobre el M1 explicamos que es muy diferente de los procesados x86.

«Los componentes especializados están haciendo mucho del trabajo que antes hacía la CPU de propósito general o la GPU»

Las implicaciones de esto es, en positivo, el rendimiento pero en negativo está la compatibilidad. Los componentes de un chip no se pueden actualizar como quien cambia de tarjeta gráfica, así ¿qué pasará cuando el M1+5 años tenga una nueva capacidad X que no es compatible con el M1? No tendrás esa capacidad, y rezarás para que no sea esencial para el sistema operativo o no podrás actualizar.

Apple ha sido muy inteligente con este movimiento al controlar mucho más de cerca la obsolescencia y el ciclo de renovación del hardware.

El Apple M1 aún tiene algunos problemas 🛠

Ahora mismo está sufriendo los baches de un producto nuevo junto a las necesidades de compatibilidad de Big Sur ejecutando ambos en x86 y M1.

Hay un artículo interesante que lista alguno de los problemas pero os lo resumo: los desarrolladores tienen muchos problemas con cosas básicas como node.js, Python y las limitaciones de Homebrew que ya hemos mencionado.

¿Están las compañías de software adaptando sus productos al M1?

¡La mayoría! Desde Microsoft con su suite Office hasta nVidia con su plataforma Geforce Now todas las empresas están adaptando su software para ejecute nativamente en un M1. Roseta 2 es una gran ayuda para los planes de Apple, pero no el objetivo final. Parece que el exiguo 10% de cuota de mercado de macOS es muy atractivo.

Y recuerda, una nueva plataforma siempre llega con bugs y es un buen nicho para nuevos tipos de malware.

Juan Tavira

Juan Tavira

Santander Global Tech

Especialista, arquitecto y friki multidisciplinar apasionado de todas las innovaciones. Esto es fácil de decir por uno mismo, pero cuando lo dicen mis compañeros informáticos, mis amigos geeks de los juegos e incluso mi mujer, algo de verdad tendrá ;-). Me gusta construir violines como hobby. En ocasiones veo código.

 

👉 Mi perfil de LinkedIn

 

Otros posts