Marzipan. La resurrección de macOS

M

En 2016 ya protagonizamos el fin de OS X para dar paso a la nueva denominación del sistema operativo del Mac: macOS. En 2018, con su actualización a Mojave, aparecieron las aplicaciones nativas de iOS: Home, Notas de voz, Stocks y News.

Estos dos acontecimientos, ya nos dieron a los usuarios una buena pista de lo que ocurriría más adelante.

Apple es una marca que destaca por tener un ecosistema homogéneo. Sin embargo, en los últimos años se ha encontrado con la separación de sus dos universos iOS y macOS.

Por un lado, los Mac funcionan con macOS. Por el otro, los iPad, iPhone, Apple Watch y AppleTV, funcionan con iOS o con su apoyo.

Esta divergencia ha supuesto un problema para la compañía.  Y es que sus ordenadores han ido cayendo en el olvido de programadores y usuarios. Cada vez son más los profesionales que ven una pérdida de tiempo seguir creando aplicaciones para el Mac.

Como ejemplo tenemos a Twitter, que dejó a medias el proyecto de su aplicación de escritorio. Todo a causa de que su uso fuera considerablemente mayor en los smartphones.

El resto de redes sociales también cuentan con su respectiva app móvil. Sin embargo, cuando los usuarios utilizan un ordenador, acceden a través de la versión web. Nadie se plantea el uso de ninguna aplicación móvil.

Todo esto por nos hablar de la decadencia de la App Store de macOS. En los últimos años, su uso ha sido limitado a descargar las actualizaciones del sistema operativo. Para obtener la mayoría de aplicaciones, los usuarios recurrimos a la web del desarrollador.

Aplicaciones de iOS en macOS
Las aplicaciones News, Bolsa, Notas de voz y Hogar que ya podemos disfrutar en macOS.

¿Cuáles son las medidas al respecto?

Aquí entra en juego el famoso proyecto al que Apple ha bautizado con el nombre de Marzipan.

Dos de las APIs más relevantes para el desarrollo de sus aplicaciones son Cocoa y Cocoa Touch. Ambas cuentan con los frameworks APPKit y UIKit respectivamente.

Cocoa y APPKit se utilizan para crear aplicaciones en macOS. Cocoa Touch y UIKit, sirven para hacerlo en iOS.

La misión de Marzipan será la de unificarlo todo en uno. Con ello lograrán que las aplicaciones de iOS sean compatibles con macOS, pudiendo ejecutarlas en cualquier dispositivo de la marca.

Para hacernos una idea del resultado, pensemos en la aplicación de fotos. Su desarrollo se llevó a cabo utilizando un nuevo framework conocido como UXKit, elaborado a partir de UIKit y APPKit. Como ya sabemos, esta se puede ejecutar indistintamente en iPhone o en Mac, y trabajar con ella de manera fluida.

Ya existen librerías como SpriteKit, que permiten el desarrollo de videojuegos en Apple mediante lo que se conoce como cross-platform. Este sistema permite la compatibilidad de los videojuegos en todas las plataformas de Apple.

Así, podemos deducir la solución: Cocoa y Cocoa Touch deben dejar de ser diferentes, al igual que AppKit y UIKit. Deberán fusionarse para trabajar en común y formar algo parecido a SpriteKit.

Cocoa y APPKit VS Cocoa Touch y UIKit
Cocoa VS Cocoa Touch.

¿Es complicada la viabilidad del proyecto?

Su dificultad radica en que son sistemas operativos con modalidades de uso diferentes (táctil o teclado). Por tanto, obligan también a utilizar herramientas de desarrollo diferentes. Así, el objetivo a alcanzar es que la aplicación se adapte al tipo de dispositivo que estemos utilizando. En resumen, que se adapte a nuestra pantalla y responda a comandos táctiles o de ordenador y teclado. Al final del artículo veremos que el hardware tomará el mismo camino para adaptarse a estos cambios.

Un dato muy positivo es que todos los sistemas de Apple comparten un núcleo Darwin. Esto sugiere que sería relativamente fácil evolucionar en una misma dirección.

Sin embargo, nos topamos con otro problema: la diferencia en la arquitectura de sus procesadores. Mientras que los dispositivos dotados de iOS, utilizan procesadores ARM, macOS utiliza x86 de intel.

Todos estos datos, nos dan razones suficientes para deducir que macOS se separó de iOS, porque comenzó a desarrollarse para propósitos más concretos.

Apple se inspira en sus competidores.

Este fenómeno multiplataforma no es una novedad. Google ya lo ha intentado con su proyecto Fuchsia y Microsoft con Universal Windows Platform (UWP).

En el caso de Google, aún no han tenido éxito. Sus aplicaciones móviles ejecutadas en ordenadores no logran adaptarse a los comandos pertinentes.

Prueba Google Fuchsia
Prueba de Google Fuchsia.

En cambio Microsoft, si ha logrado que sus aplicaciones se ejecuten en cualquier dispositivo. Windows 8 dio origen a su primer logro. Desde entonces, las aplicaciones han funcionado en cualquier dispositivo con Windows, sincronizándose y adaptándose a los requisitos de cada uno.

Universal Windows Platform
Universal Windows Platform sincronizado en tres dispositivos.

Hasta ahora, solo contamos con la información provenientes de personalidades importantes relacionadas con Apple o Bloomberg. Estas afirman que ha tenido lugar una reorganización de todo el equipo de desarrollo. Actualmente, el objetivo de la compañía es orientar todo el trabajo hacia iOS. Así, se han unificado para trabajar con una sola plataforma en los cuatro sistemas (Apple Watch, AppleTV, iOS y macOS).

Para dar viabilidad a este proyecto, se llevará a cabo la creación de un nuevo SDK. Es posible que tenga alguna relación con los frameworks mencionados, sin embargo, no podremos saberlo hasta la próxima WWDC.

¿Cuáles son las ventajas?

Los desarrolladores ganarán en productividad, ya que las apps tendrán una versión universal. Habrá un solo diseño y un solo código para todas las plataformas.

Serán funcionales en los cuatro sistemas y se actualizarán a la vez. Esto se traduce en un mismo ciclo de vida. Para ello, los desarrolladores crearán un binario único y multi-arquitectura que se publicará tanto en App Store como en Mac App Store.

Poco a poco, macOS se enriquecerá del público que ahora está enfocado en iOS.

En lo que respecta a los usuarios, podrán disfrutar en iOS, de todo tipo de apps profesionales que por ahora solo están disponibles en Mac.

El iPad no se queda fuera. Sus aplicaciones más punteras ya no serán una “versión auxiliar” de macOS. El mejor ejemplo es el de Photoshop, igual de potente independientemente de la plataforma que usemos.

Además, casos como el de la versión escritorio de Twitter serán nulos. Al hacer que las aplicaciones sean compatibles en todos los sistemas, no existirán versiones que puedan quedar fuera de uso.

En cuanto a la Mac App Store, se convertirá de nuevo en una herramienta tan útil y recurrente como lo es en iOS.

Todo esto provocará una evolución inevitable. Los usuarios disfrutaremos aún más de esa comodidad de uso que tanto caracteriza a la manzana. Alcanzaremos así una capacidad de gestión de nuestro día a día que nunca habríamos podido imaginar. En definitiva, mayor productividad con menos recursos.

ecosistema apple
Dispositivos de Apple sincronizados

El mayor cambio y más significativo.

Todo este cambio en el software implicará un cambio de hardware del que seremos testigos.  Según los expertos, ocurrirá durante los próximos diez años.

Por un lado, tendrá lugar la modificación de la arquitectura en los procesadores. Los Mac pasarán a funcionar con arquitecturas ARM como lo hacen sus dispositivos hermanos. Esto permitirá una mayor optimización del software en todos los sentidos.

Por otro lado, desaparecerá el concepto de ordenador tal y como hoy lo conocemos. La idea más aclamada es la de lograr una CPU del tamaño de un smartphone. Esta tendrá el mismo comportamiento que nuestro ordenador. Dependerá del dispositivo al que nos conectemos (por supuesto de forma inalámbrica), que disfrutemos de la experiencia tablet, televisión, ordenador o smartphone, activando los comandos táctiles pertinentes o el ratón y el teclado (tal y como habíamos explicado anteriormente al hablar de la evolución en el desarrollo del software).

En este punto surge la duda ¿Será posible llevar a cabo procesos que requieran gran cantidad o diversidad de recursos?

La respuesta es sí, ya que se pretende desarrollar lo que conocemos como cloud-computing. Se trata de una forma de realizar las tareas acudiendo a la nube. La unidad tomará de ella todos los recursos que el proceso necesite. Así, no será imprescindible que nuestra CPU cuente con una potencia desmesurada.

cloud computing
Esquema representativo del cloud-computing.

Como veis, todo lo que hemos tratado en este artículo, indica el comienzo de la era Post PC y aunque tenemos muchos datos al respecto, tendremos que esperar a la próxima WWDC para concretar fechas de lanzamiento.

About the author

Jorge G. Cano

Hace dos años encontré mi lugar en el mundo de la programación. Actualmente soy Técnico Superior en Desarrollo de Aplicaciones y compagino mi trabajo con la escritura. Considero que la detección de oportunidades es una cualidad imprescindible para todo aquel que quiera desarrollarse profesionalmente, por lo que trato de aventurarme en cualquier proyecto que me invite a crecer. Este blog es un ejemplo de ello.

Me gustan las motos, el deporte y aprender cada día.

Add comment