La migración de aplicaciones de Android a Windows 10 por parte de Microsoft es una apuesta arriesgada
No es la primera vez que un sistema operativo porta aplicaciones de otros sistemas operativos. Por ejemplo, OS/2 de IBM afirmaba ser compatible con todas las aplicaciones de Windows en la década de 1990; el sistema BB10 de BlackBerry puede ejecutar directamente aplicaciones de Android, y el sistema nativo de Amazon también puede ejecutar aplicaciones de Android. Sin embargo, estos sistemas no tuvieron éxito porque no eran compatibles con las aplicaciones de los sistemas convencionales del mercado.
Para lograr compatibilidad, Microsoft lanzó UWPBridge, que incluye cuatro proyectos: Astoria, Islandwood, Centennial y Westminster que convierten Android, iOS, Windows tradicional y sitios web en aplicaciones UWPA. La situación no está clara ya que Windows 10 aún no se ha lanzado oficialmente y su impacto es difícil de predecir.
Proyecto Astoria
Astoria e Islandwood son superficialmente similares, pero su tecnología subyacente y su implementación son completamente diferentes. Para los desarrolladores, Astoria probablemente será más intuitivo y sencillo gracias al subsistema Android integrado en Windows 10. Casi todo el software de Windows (incluidas las aplicaciones universales de Windows) utiliza la Win32API real. Windows también incluye el subsistema POSIX, que es la API estandarizada de IEEE que básicamente define UnixAPI. En Windows 7, el subsistema POSIX es un componente opcional de Windows, pero Windows 8 no puede habilitar el componente del subsistema POSIX. Sin embargo, el kernel de Winodows todavía contiene un subsistema POSIX y el proyecto Astoria lo aprovecha. Introduce un nuevo subsistema de Windows: el subsistema de Android.
El subsistema de Android implementa la mayoría de las API de Android en Windows. Este subsistema proporciona API de estilo Android, como acceso al sistema de archivos, procesamiento de gráficos, acceso a sensores y cámaras, creación de procesos e hilos, seguridad y funciones de red. Estos se proporcionan utilizando el kernel de Windows. Además, Android incluye un kernel de Linux y algunas bibliotecas nativas de código abierto, aplicaciones de código nativo y un conjunto de API de Java de código abierto, así como el marco de programas de servicios (GMS) de Google. A excepción de GMS, los dos primeros son de código abierto. Para los componentes de código abierto de Android, Microsoft podría, en principio, usar la parte de código abierto para exponer directamente las mismas API de Java que la aplicación llama de código abierto, pero redirigir esas API a los servicios/API de Windows correspondientes. Vale la pena señalar que Windows 10 en plataformas distintas a Windows 10 para teléfonos y tabletas pequeñas basadas en procesadores ARM no incluye el subsistema Android.
La experiencia del desarrollador con Astoria es muy similar a la experiencia normal de desarrollo de Android.
Los desarrolladores seguirán utilizando entornos de desarrollo de Android como Eclipse o IntelliJ, y gran parte de la portabilidad de aplicaciones será en gran medida automatizada, y sólo unas pocas API de GMS requerirán cambios manuales en los correspondientes servicios/API de Microsoft. Además, Microsoft proporciona algunas funciones API específicas de Windows, como Live Tiles para que puedan acceder las aplicaciones de Android. Por supuesto, los desarrolladores deberán cambiar su código para aprovechar estas API.
Básicamente, Microsoft no utilizará la excepción de Android compatible con BlackBerry. En cambio, los desarrolladores de Android deberán enviar sus paquetes APK a la Tienda Windows. La Tienda verificará que estos APK no utilicen API no compatibles y luego empaquetará los archivos apk en un paquete WindowsAppX.
Proyecto Islandwood
La situación con Islandwood Project es diferente a la del Astoria de Android. En primer lugar, Microsoft no ha integrado el "subsistema iOS" en Windows 10 y, en segundo lugar, no hay forma de portar paquetes de iOS directamente. El enfoque de Microsoft es usar VisualStudio, que admite Objective-C e importar un archivo de proyecto Xcode, luego usar VisualStudio para compilarlo en una aplicación de Windows. De hecho, la tecnología utilizada por Microsoft no fue desarrollada originalmente por Microsoft, sino por una compañía llamada InceptionMobile para BlackBerry OS y Samsung Tizen, que convierte la mayor cantidad posible de código Objective-C en código Java o C++ y se conecta a la API de la plataforma nativa. .
Por supuesto, la compatibilidad con iOS es más difícil de portar que la compatibilidad con Android. La compatibilidad con iOS es un poco más difícil de portar, en primer lugar porque iOS no es de código abierto y, en segundo lugar, debido a algunas de las características únicas de la plataforma iOS, como la falta de un botón de retroceso en iOS. Además, iOS también adopta un nuevo lenguaje Swift, y aunque Microsoft afirma que está trabajando para brindar soporte de compatibilidad, actualmente es poco probable que brinde soporte a corto plazo.
Astoria e Islandwood son los primeros pasos que deben dar los desarrolladores. Es posible que este paso no sea un gran paso: probablemente solo consista en enviar el APK sin modificar. Como resultado, es posible que estas aplicaciones no puedan utilizar funciones únicas de Windows, como Xbox Achievements y Live Tiles, y que los programas reciban críticas negativas y bajas descargas en la tienda. La situación de Islandwood es aún peor, ya que requiere recompilación y algunas modificaciones del código. Aún así, portar aplicaciones a Windows debería ser una experiencia ligeramente mejor que la de BlackBerry.
Tampoco es probable que el enfoque de Microsoft obstaculice el desarrollo de aplicaciones nativas. Las limitaciones de Astoria le impiden reemplazar verdaderamente el desarrollo nativo, pero es posible que estas limitaciones eventualmente se relajen, aunque eso no sucederá pronto.
Para crear rápidamente aplicaciones universales, Microsoft ofrece servicios de actualización gratuitos (durante el primer año) a Windows 7 y 8, y se jacta de que "mil millones de usuarios ejecutarán Windows 10 dentro de tres años". Incluso si termina siendo la mitad de esa cifra, 500 millones de usuarios es mucho dinero. Se trata de una base enorme y una oportunidad de negocio lucrativa para los desarrolladores. Astoria es muy útil para los usuarios que carecen de aplicaciones móviles, pero Microsoft lo ha limitado a Windows en la plataforma móvil. Si los desarrolladores de Android prueban la dulzura y quieren ingresar a la aplicación Winodws de plataforma completa, tendrán que escribir Windows real. aplicaciones.
La jugada de Microsoft es muy arriesgada.
Si no interesa a más desarrolladores de Windows, Astoria tendrá un efecto corrosivo sobre todo en el desarrollo de teléfonos inteligentes con Windows. Microsoft necesita comunicarse e interactuar más ampliamente con los desarrolladores; aunque esta estrategia tiene riesgos, no significa que Microsoft esté cediendo ante el mercado móvil. De hecho, todo lo que Microsoft ha hecho es para el mercado móvil.
Por supuesto, los usuarios de Windows Phone se beneficiarán a corto plazo. Pero al mismo tiempo, las aplicaciones nativas de Windows de Microsoft enfrentarán enormes desafíos cuando los usuarios actualicen sus dispositivos, entonces, ¿por qué deberían seguir eligiendo Windows Phone? La mayoría de la gente probablemente elegirá la plataforma Android; después de todo, es mejor ejecutar estas aplicaciones en esa plataforma. Deja que el tiempo lo pruebe todo.