El nuevo (y atractivo) conejo en la chistera de Microsoft para atraer a los developers

El nuevo (y atractivo) conejo en la chistera de Microsoft para atraer a los developers

65 comentarios Facebook Twitter Flipboard E-mail
El nuevo (y atractivo) conejo en la chistera de Microsoft para atraer a los developers

¿Cómo incrementar el número de apps disponibles en Windows Phone? Parece que Microsoft, en este reciente BUILD 2015, se ha marcado como uno de sus principales objetivos solucionar está pregunta ante la llegada oficial de Windows 10. La falta de apps es uno de los principales factores de rechazo por la que los usuarios optan por terminales Android o iOS. Desarrollar una app en cada plataforma tiene un coste y las empresas centran sus esfuerzos en las más usadas y lamentablemente Windows Phone no está a día de hoy entre ellas.

Microsoft ha optado por una solución intermedia en cierta forma. Aprovechar todo el tiempo desarrollado en Android o iOS y portar apps de “forma fácil” a su plataforma Windows 10. Las empresas pueden aprovechar sus propios recursos internos sin necesidad de contar con desarrolladores a priori expertos en plataformas Windows, aunque ahí esté la diferencia de calidad.

Dos acercamiento bajo un mismo objetivo pero bien distintos: Islandwood y Astoria

A todos nos ha quedado en la cabeza la idea, después del anuncio de este BUILD, de que ahora podíamos hacer funcionar apps programadas previamente para Android o iOS en los dispositivos con Windows 10, e incluso no sólo en móvil sino en escritorio en algunos casos. ¿Pero cómo funciona esta magia?

Windows Devices

Desarrollar una app en cada plataforma tiene un coste y las empresas centran sus esfuerzos en las plataformas más usadas, lamentablemente Windows Phone no está a día de hoy entre ellas.

Islandwood: de iOS a Windows

Por un lado tenemos las apps desarrolladas inicialmente para iOS. La conversión de estas apps hacia la app de Windows requiere que nos remangemos las mangas de la camisa y piquemos algo de código (a priori poco). Los de Microsoft han desarrollado un compilador de Objective C para Visual Studio para adaptar ese código. Ojo que no he oído nada aún de Swift, cuidado.

Importando el proyecto en Visual Studio (el entorno de desarrollo principal de Windows) podremos incorporar el SDK necesario para hacer que esa app iOS funcione de forma universal en entornos Windows. Es decir, en este caso podremos adaptar de tal forma la app que funcione tanto en escritorio, móvil o el resto de dispositivos que facilita Windows. Aunque ahí el nivel de adaptación y esfuerzo del desarrollador es obviamente mayor, aunque la base principal de código estará ya adaptada. Un par de layout específicos para cada tipo de pantallas y listo. También, y deberíamos aprovechar este proceso para incorporar funcionalidades específicas como Cortana o las Tiles de XBox, por ejemplo.

Con esto tendremos una app inicialmente iOS convertida a Windows 10. Lista para subir a la Windows App Store. Microsoft ha anunciado que en este caso podremos trastear en breve con este compilador, así que estamos deseando probarlo. Durante la presentación nos desvelaron como la app de Candy Crush Saga, para Windows Phone Store ha sido portada utilizando este nuevo compilador creado por Microsoft. Como comentaban los desarrolladores sólo necesitaron algunos cambios mínimos para hacerlo funcionar, pero todo el código de componentes propios de iOS como UIKit y Core Animation funciona a la perfección en Windows 10.

Math 575px

Astoria: de Android a ejecutarse en plataformas Windows

Con Android el tema es distinto. No hay ningún compilador de por medio, sino que se ha optado por crear una máquina virtual que haga funcionar las aplicaciones Android en Windows 10. En principio, sólo orientado para el entorno de dispositivos móviles. Microsoft ha añadido una capa basada en Android Open Source Project (AOSP) en Windows 10 para permitir que se ejecuten como si de un subsistema Windows se tratará.

De este modo, los desarrolladores tan sólo tendrán que subir sus apps en formato apk a la tienda Windows Stores para que se ejecute en los dispositivos Windows 10. En principio, habrá que esperar hasta pasado unos meses para poder hacerlo. En el aire queda la duda si sólo se podrán ejecutar apps bajadas de la Store o si cualquiera podrá hacer correr un apk como si de una aplicación Windows se tratará.

650 1200

Esto último conlleva un riesgo, ya que el Android que supone cualquier usuario medio no es el mismo que el que puede Microsoft emular con AOSP. Simplificando el asunto, AOSP es el núcleo Open Source de Android desde el que surgen muchos fork como el del Kindle Fire o algunas ROM, pero le falta el ingrediente extra que Google le añade a las versiones que utilizamos normalmente, los Play Service y compañía. Responsables de que podamos ver mapas, usar la localización o recibir notificaciones push en el móvil, por ejemplo. De esto, habrá que ver como soluciona la papeleta Microsoft.

Normalmente al igual que hace Amazon es proveer varios SDK en Java (ojo) para incorporar en las apps antes de ser paquetizadas en apks para distinguir en que entornos se va ejecutar y poder usar, por ejemplo, los mapas de Bing o algun SDK que emule notificaciones vía Azure.

el Android que supone cualquier usuario medio no es el mismo que el que puede Microsoft emular con AOSP

¿Qué se van a encontrar los usuarios si se cumple esta estrategia?

Imaginemos un futuro hipotético en el que las apps actuales de iOS o Android se migren a Windows Phone. Nos encontraremos con situaciones en las que habrá que valorar cual de ella es el mejor origen para realizar la conversión, si una apk sin más de Android con una mínimo cambio o una aplicación cuyo código haya sido portado de Objective C (iOS) para incorporar nuevas funcionalidades como Cortana o Windows 10 Universal app.

Se pueden producir situaciones curiosas como encontrarse aplicaciones con un diseño con Material Design (el diseño promovido por Google en Android? ¿Chocante, verdad? Aunque tampoco mucho, ya tuvimos la época de encontrarnos apps de Android cuyo diseño estaba calcado al de su hermana app en iOS.

Y todo dependerá del proceso de validación a la hora de subir a la Windows Store de las apps “convertidas”, ya que si en la carrera por aceptar apps se levanta la mano podemos ver cosas como: que los mapas no funcionan si usamos Google Maps en las apps, o cierto componentes nativos como la cámara o de control de la pantalla no están o que no se puedan extrapolar, fallen o no hagan nada.

Start Menu Android Wheatpastes 640x425

Realmente lo que los usuarios nos encontremos en la Windows Store procedente de Android o iOS dependerá de los criterios de calidad que fijen desde Microsoft. No haría cundir el pánico de que ahora en Windows Store te podrás encontrar miles de apps fraudulentas de Whatsapp, del gatito Tom o Wallpaper como ocurre en Android. Ese es un histórico problema debido precisamente al querer correr para igual el número de apps de la App Store, ahora Google se lamenta de ello.

La gran excusa de muchos usuarios al ver las maravillas de último Lumia ha sido siempre que no tiene apps. Ahora quizás las tenga, ¿pero realmente si quieres ejecutar apps de Android o iOS quizás sería mejor optar por otra plataforma? Sinceramente, la experiencia de uso de una app nativa creada para una plataforma nunca será la misma.

Esto no es el santo Grial para los desarrolladores ¿un entorno de desarrollo para controlar a todas las plataformas?

No se desarrolla una aplicación y ya está. Se sigue un proceso evolutivo en la que se incorporan cambios o se corrigen bugs.

No, esto no es el santo Grial. Los desarrolladores seguirán desarrollando para la mejor plataforma y la que más beneficio aporte. Las empresas son consciente de eso y es el debate continúo: cómo optimizar recursos.

Si ahora podemos desarrollar en un entorno y portarlo sin excesiva complicación bienvenido, pero la historia no acaba ahí. Ya hemos visto estrategias similares, sino que le pregunten a Blackberry 10 con sus apps Android. ¿Podemos valorar que les ha ido bien?

Sin duda, cuando se anuncie la disponibilidad de las herramientas, los desarrolladores nos lanzaremos a probarlas y hacer las primeras pruebas. Funcionarán o no, tendremos ganas de adaptarlas mejor o no, pero el proceso de creación no acaba ahí.

No se desarrolla una aplicación y ya está. Se sigue un proceso evolutivo en la que se incorporan cambios o se corrigen bugs. Y sobre todo se prueba en distintas plataformas, todos hemos oído sobre la fragmentación de Android o como la capa de personalización de cada fabricante hace estragos en el comportamiento de las apps.

En primer lugar, habrá que probar más y mejor. Será necesario pensar sobre que versión de Android o iOS partimos en la adaptación que Windows ha realizado, si están todas las APIs disponibles o si el hardware del dispositivo está adaptado.

Y en segundo, son necesarias herramientas de automatización y seguimiento para que todos esos cambios se sigan manteniendo. Muchos desarrolladores hemos dejado apps zombies en los mercados alternativos, fuera de Google Play y App Store. Requiere mucho esfuerzo que cada cambio en la app se suba tanto en el de Amazon, Blackberry, Samsung, el market chino, etc… Mirad cuantas apps siguen en esos market y no han recibido actualización aunque estén en sus mercados principales.

Y por último, los desarrolladores con esto seguiremos luchando añadiendo SDKs de adaptación, porque como comentábamos antes, no funcionan los mapas de Google Maps y tendremos que cambiar a Bing. Lo cuál no solo conlleva cambiar la cartografía, sino la forma de interactuar. Tendremos que quitar las notificaciones de APN de Apple o GCM de Google en favor de otras soluciones. Y así un largo etcétera de modificaciones.

Universal Windows

Quizás no haya que salir fuera, Universal Windows Platform puede ser el incentivo correcto

Adaptar aplicaciones Android o iOS está bien, pero ¿qué ocurre con los desarrolladores Windows? Los hay muy buenos y siguen haciendo grandes productos. Por eso creo, que la llegada de Universal Windows Platform puede hacer crecer el número de apps en Windows 10 tanto teléfonos.Y su nuevo editor Visual Studio Code una puerta de entrada para

La convergencia entre dispositivos escritorio, móvil o, incluso, wearables puede hacer replantear la estrategia de empresas-desarrolladores para hacer el esfuerzo de crear una app nativa y realizar las adaptaciones necesarias a nivel de UI para ejecutarlas en diferentes dispositivos gracias a su API común.

El punto de este enfoque no es hacer una app para teléfono, sino que si ya tenemos la app para Windows 10 escritorio adaptemos la base de código a los nuevos dispositivos. Esa pueda ser la jugada si se cumple las cifras esperadas del billón de dispositivos Windows: la convergencia real entre escritorio y apps.

Apple aún no lo ha conseguido del todo con iOS y Mac, Google sigue paso a paso con Chrome OS y Android en esa línea. Microsoft es un gran actor para poner esas cartas sobre la mesa y hacer la industria avance en ese sentido.

Comentarios cerrados
Inicio