InicioCompetenciaProyecto Astoria paralizado: los ports de apps universales de Windows en peligro

Proyecto Astoria paralizado: los ports de apps universales de Windows en peligro

Hace algunos meses comentábamos el hecho de que Microsoft estaba intentando portar apps realizadas en otros sistemas operativos (iOS y Android) para llenar todo lo posible su maltrecha tienda para Windows. Se estaban intentando varias aproximaciones, pero la que más llamó la atención fue un mega proyecto en el que los programadores de estas plataformas pudieran hacer fácil el trabajo de llevar sus apps a Windows. Ahora, el proyecto Astoria (el port de Android para Windows) parece estar en punto muerto, y no da la sensación de que vaya a revivir próximamente.

android-ios-windows

Publicidad

En aquel artículo comentábamos que las dificultades para realizar ports eficientes desde otros sistemas era como mínimo complicado. Aparte de las consideraciones puramente técnicas, están las comerciales y de oportunidad para los desarrolladores, que comentaremos someramente a continuación, pero que son muy relevantes de cara a que los programadores se decidan a portar una app a un nuevo sistema, máxime cuando además, no hay garantías de éxito. Los ports que se anunciaron en su día son estos:

  • Proyecto Westminster, para portar apps web
  • Proyecto Centennial, para portar apps Win32 (las de Windows de todo la vida)
  • Proyecto Astoria, para portar apps Android
  • Proyecto Islanwood, par portar apps iOS (del que ya hablamos hace tiempo)

En los artículos indicados ya hice una recopilación de problemas que estos puentes pueden dar (al menos en Astoria e Islanwood, ya que los otros dos pueden ser controlados perfectamente por ellos) así que no me voy extender mucho en los detalles, pero parece ser que en el caso del port para Android, los problemas están siendo demasiado importantes y está en punto muerto. ¿Por qué comentamos esto en un blog sobre Apple? Básicamente porque estos problemas es probable que también los estén teniendo en el resto de ports, especialmente en el dedicado a iOS. Oficialmente ellos no han anunciado el cese de operaciones, pero el sitio web dedicado a Astoria lleva tiempo sin actualizar y el proyecto nunca ha sido realmente liberado abiertamente a los programadores, además de que el foro de desarrollo fue cerrado hace un tiempo.

Portar un sistema en otro es una tarea titánica. En el caso de iOS, han publicado una API que permite a los desarrolladores usar funciones UWP, lo que es lógico ya que con el port a pelo es imposible acceder a dichas funciones, pero esto nos lleva al hecho de que, como ya comenté en su día, no es posible simplemente portar las apps sin más. Para poder hacer uso de cosas como notificaciones, funciones específicas del dispositivo y acceso a librerías internas que puedan ser necesarias para el correcto funcionamiento de la app, es necesario cambiar nuestro código para que la app haga algo útil, lo que viene a demostrar que realmente, con un port no es suficiente. Hay que dedicar tiempo, esfuerzo y dinero a cambiar una app para un sistema del que no sabemos si realmente va a merecer la pena el cambio, económicamente hablando, y esa es la principal razón por la que la mayoría de los desarrolladores iOS y Android no quieren dar el salto a Windows, incluso con la ayuda del port. Excepto las plataformas de videojuegos, que permiten pasar un juego de un sistema a otro de forma sencilla, para el resto de apps la tarea no es nada sencilla. Eso sí, esto podría usarse para hacer una app de cero que permita usar la librería del port teniendo en cuenta en el desarrollo inicial este detalle, pero aún así, no deja de ser un incremento de tiempo de trabajo y recursos que los pequeños programadores puede que no se puedan permitir. Esto, los usuarios no lo ven, pero es muy relevante para decidir qué hacer en situaciones como esta.

En el caso de Android, intuyo que la tarea es brutal en comparación con iOS. Al fin y al cabo, iOS es un sistema Unix estándar con apps compiladas en algo que puede ser llamado C (todavía no hay soporte de Swift, y eso puede ser un gran problema porque para aquellos que estamos pensando desarrollar exclusivamente en este lenguaje, Islandwood no servirá para nada). Pero en el caso de Android, estamos tratando con un Linux personalizado y un entorno basado en Java (y recordemos los problemas que tiene ya la propia Google con esto) y eso ya es harina de otro costal. Las dificultades técnicas intuyo (sólo intuyo) que deben ser enormes, incluso para ingenieros como los de Microsoft, pero que tampoco era muy difícil de aventurar. Mi impresión es que continuarán con el emulador a lo bruto (cosa que lleva anunciado desde principios de 2014 y ahí seguimos), porque el port va a ser, me da la impresión, algo bastante difícil de llevar a término en las condiciones que se necesitan.

En todo caso, hay un hecho evidente, y es que realmente en estos momentos, sólo los ports de web e iOS están funcionando (de aquellas maneras, ya que por lo menos en las últimas demostraciones que he podido presenciar, la cosa está verde todavía), y el de Android se está descolgando por momentos (el de Win32 ni siquiera ha sido anunciado como proyecto usable por los programadores, lo que me parece incluso más grave, ya que es su propia plataforma de la que estamos hablando), con lo que da la impresión de que todavía tenemos mucho por delante para poder ver estos desarrollos maduros. El problema es que Microsoft no tiene todo el tiempo que le gustaría para intentar colocarse en el mercado, y con parches a medias como estos, lo único que está haciendo es retrasando la que tal vez sería la mejor medida posible: intentar vender todos los teléfonos posibles para hacer la plataforma atractiva a los programadores. Pero la de verdad, la nativa. Lo demás son soluciones a medias que ya veremos como terminan.

Vía: Windows Central

Artículos relacionados

Artículos recientes