Home » Opinión » UXKit, el primer paso a las apps Universales iOS / OS X
Photos OSX UXKit

UXKit, el primer paso a las apps Universales iOS / OS X

Ayer Apple lanzó la primera beta de OS X Yosemite 10.10.3 para desarrolladores. Un hecho que hubiera pasado desapercibido para la mayoría si no fuera porque supuso el levantamiento del embargo a medios de comunicación sobre Photos para OS X. Tenemos decenas de análisis de los más importantes medios, donde hablan de la fluidez y buen acabado de esta nueva app. Pero ha sido Jonathan Willing, desarrollador, el primero que ha dado la voz de alerta con este tweet de una pequeña gran sorpresa.



Photos para OS X está construida sobre una nueva librería, actualmente privada (por lo que no puede ser usada) llamada UXKit, una versión de UIKit de iOS (el constructor de interfaces) que incorpora todos los elementos que podemos usar en iOS actualmente y que, además, se plantea como el futuro próximo de AppKit, la librería de construcción de aplicaciones de OS X.

Antecedentes

Si nos remontamos a la anterior Conferencia de Desarrolladores en junio de 2014 (donde se presentó Swift) una de las cosas que hizo Apple fue adelantar la desaparición de iPhoto y la llegada de una nueva app de gestión de fotografías, muy en la línea de la actual para dispositivos iOS.

Photos OS X

Pero desde entonces no hemos tenido casi ninguna noticia más, y la comunidad Apple a nivel mundial empezaba a preguntarse el por qué. Ahora tenemos la respuesta: Photos para OS X, no es una app al uso sino la versión de prueba del desembarco de una nueva manera da hacer apps en OS X. El primer paso hacia apps universales que con un solo desarrollo, puedan ser ejecutadas en OS X e iOS de manera indistinta, como ya puede hacerse a día de hoy con juegos desarrollados en SpriteKit (por ejemplo).

A día de hoy, un juego de SpriteKit puede ejecutarse indistintamente con un solo proyecto, en OS X y en iOS, ya que la librería tiene una implementación universal para cada arquitectura. Hay que generar dos binarios diferentes, uno para cada sistema y arquitecturas, pero puede hacerse fácilmente. Gracias a UXKit, podría pasar igual con las apps llevando las posibilidades de desarrollo en OS X mucho más allá.

UXKit es un paso más allá que seguro permitirá o podría permitir varias cosas:

  • Generar un solo proyecto de app que contenga la versión iOS y OS X en uno solo.
  • La fusión de los programas de desarrolladores de iOS y OS X para que se pueda publicar con una única cuenta en ambos sistemas y tiendas.
  • La posible creación de un binario único multi-arquitectura, que permitiera subir un único archivo que se publicara a la vez en el App Store y en el Mac App Store.
  • La creación de una nueva generación de apps que aporten una mejor experiencia de usuario y que abran la puerta a dispositivos híbridos como Surface 3 Pro (¿el nuevo iPad Pro?) que permitiera manejar de manera táctil OS X en algunos dispositivos preparados para ello.
  • La entrada en OS X de multitud de desarrollos y desarrolladores que enriquecerían aun más el sistema de escritorio y ofrecer al usuario una experiencia continua entre las apps de iOS y OS X, consiguiendo aun más usuarios de ordenadores Mac provenientes de iOS.

Todos los componentes que ya conoces

Echando un primer vistazo a esta nueva API, que recordemos es privada aun, podemos encontrar que tiene todos los componentes que podemos esperar de UIKit, cambiando el prefijo de UI a UX. Tenemos componentes como: UXView, UXNavigationController, UXControl, UXCollectionView, UXTableView, UXLabel o UXImageView, todos viejos conocidos de aquellos que hemos trabajado con apps.

UXKit se monta actualmente sobre AppKit, de forma que se convierte en una alternativa al actual framework, pudiendo desarrollar apps de ventana completa sin necesidad de incorporar menús y con interfaces completamente embebidas.

Ejemplo UXView

Como podemos ver en este código probado por el propio Jonathan Willing, el desarrollo y su resultado es prácticamente igual a usar UIKit, lo cual lo hace aun más atractivo a los desarrolladores, motivo por el que la comunidad internacional está actualmente emocionada pensado en el sinfín de posibilidades que se plantean cuando esta nueva librería se haga pública.

UXCollectionView

De hecho, incluso en las primeras averiguaciones se han podido ver cambios importantes en la API como el detalle que las vistas de tabla que tan familiares son para muchas apps (las Table View) ahora heredan directamente de la vista de colección, View Collection. Esto indicaría que una interfaz de elementos de tabla obtendría mucha más versatilidad al depender de una vista de colección de elementos (como la que usa la propia app de Photos) y podría tener más formas de organizar la información, no solo estrictamente vertical. Además, incorporaría por defecto la capacidad de poder hacer zoom con la pinza en una tabla para verla más cerca o más lejos, según necesidades de interfaz o de la propia app.

Una serie de posibilidades que podrían dar lugar a toda una nueva generación de apps e interfaces, principalmente preparadas para (por ejemplo) grandes resoluciones como las esperadas para el próximo y rumoreado iPad Pro o el actual iMac con pantalla Retina de 5K.

Tras los pasos de Microsoft

Lo dijo Tim Cook no hace mucho en las preguntas y respuestas de una presentación de resultados fiscales de Apple: Google y Android no le preocupa, es Microsoft a quien hay que tener en cuenta. Desde la entrada de Satya Nadella como CEO, todo lo que ha salido de Redmond son buenas decisiones: Xbox One sin Kinect, Windows 10, Hololens… pero hay una cosa, a nivel de desarrollo, que sobresale por encima de todo: las apps universales.

Microsoft, a partir de Windows 10 y con la nueva versión de Visual Studio, permitirá el diseño de una única app o juego cuyo binario podrá ejecutarse tanto en un móvil, como tableta, ordenador, Xbox One, Hololens o incluso una pequeña Raspberry Pi 2 con soporte de Windows 10 gratuito y arquitectura ARM.

Windows Universal Apps

Y no solo Microsoft, también hay que recordar que Google tiene un sistema por el que las apps de Android pueden ejecutarse en un Chromebook, un ordenador que se ha convertido en la elección de la mayoría de estudiantes y centros escolares en Estados Unidos, haciendo sombra al mismísimo iPad.

Estos son cosas que nos vaticinan un cambio importante de concepto a nivel de desarrollo: que la fusión entre OS X e iOS está cada vez más cerca. Pero no quiere decir que cada sistema operativo deje de tener su propia identidad y características: significa que vamos hacia una universalización que permitirá un único desarrollo y la ejecución en todos los dispositivos, sacando lo mejor de cada uno de ellos.

Estamos hablando de una infraestructura única que permita que cualquier app o juego se ejecute con un único desarrollo y binario en el futuro Apple TV (dispositivo o futuro TV), en un Mac, un iPad, iPhone o en futuros iPad Pro que permitan a aplicaciones profesionales de OS X usar esta nueva herramienta para crear portabilidades más simples. Y a la unión de interfaces táctiles, puntero e incluso stylus.

Solo un primer paso

Windows 10 no se publica hasta finales de año y Apple es probable que presente este nuevo UXKit en su próxima Conferencia de Desarrolladores de 2015 en junio y que no deje hacer nada con él hasta publicar OS X 10.11, probablemente a finales de octubre.

Todo esto no es más que un primer y lógico paso hacia la universalización de los desarrollos por plataforma, y aun queda camino por andar. Pero desde luego está claro, que es un gran e importante paso que dará mucho que hablar. Mientras, damos la bienvenida a este UXKit con toda la ilusión, del que os mantendremos puntualmente informados. Good Apple Coding.

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

I Congreso Industria Conectada 4.0

No hay falta de talento digital, hay falta de inversión en formación de calidad

En este artículo de opinión, Julio César Fernández, busca y analiza los motivos por los que (según los altos responsables de algunas de las empresas tecnológicas más importantes de España) en España hay carencia de talento digital. Expone por qué esa falta deriva de una carencia en la inversión en formación de calidad que permita a los equipos ser competitivos y estar preparados para la velocidad a la que se mueve la tecnología.