Así es la nueva infraestructura de las apps Windows Universal

COMPARTIR 0 TWITTEAR

Windows Build 2015

Microsoft tiene un serio problema que solucionar: el mercado móvil actual tiene dos claros jugadores como son iOS y Android y la hegemonía de Windows (aun existente en sistemas de escritorio) se merma cada día por culpa de decisiones equivocadas como Windows 8.

Es de común conocimiento que la última versión del sistema de Windows no ha tenido la acogida deseada por haber equivocado su concepto: una misma interfaz manejada tanto de manera táctil como con ratón además del hecho de eliminar elementos de confort para el usuario como el menú de inicio fueron una mala decisión. Y el crear dos experiencias separadas para un mismo sistema una catástrofe. No acertaron.

La tarea era enmendar estos errores, aprender y buscar su sitio. Hoy Microsoft ha demostrado que ha aprendido y se ha convertido en el alumno aventajado.

El problema de las apps

Lo importante no es tanto el sistema, si no el ecosistema. Si algo tiene el entorno iOS que lo convierte en líder del mercado a nivel de ingresos, es un ecosistema de servicios y apps de terceros muy amplio y una comunidad de desarrolladores que apuestan fuertemente por él. Android, a su modo, también ha conseguido el apoyo de los desarrolladores por su altísimo nivel de penetración de mercado (aunque no sea tan rentable) y eso ha dejado a Windows como el tercer entorno o ecosistema.

Para cualquier desarrollador, iOS es una opción clara, Android es a tener en cuenta pero Windows es algo que difícilmente se plantea al tener que crear una tercera versión de un mismo desarrollo. Su pequeña cuota de mercado tampoco ayuda. Por eso, Microsoft ha tomado la calle de en medio y ha demostrado que si Mahoma no va a la montaña, entonces tendrá que ser la montaña la que vaya a buscarlo.

Cuatro son los pilares que sostienen el nuevo concepto de aplicación universal de Windows que corrigen, expanden y crean compatibilidad para dar nueva vida al ecosistema de Microsoft convirtiéndolo en una más que plausible e interesante opción para cualquier desarrollador. Una plataforma que ofrece muchos atractivos y una increíble facilidad de incorporar elementos a su ecosistema, tanto presentes como pasados y futuros.

La base de todos ellos es la propia arquitectura de aplicación universal de Windows que ya se presentó con Windows 10. Un solo desarrollo, un solo binario y una interfaz adaptativa que crea una experiencia para cada tamaño. Windows Phone, Surface, PC, portátil, híbrido-tablet, tablet de pequeño tamaño, Xbox One o incluso HoloLens y la enorme Surface Hub: todos ellos permiten ejecutar el binario Windows Universal de una manera fácil y sencilla para los desarrolladores.

Windows Universal Apps

Pero solo con eso no es suficiente: hay que añadir más cosas para hacerlo atractivo para los desarrolladores y que estos vean que apostar por Windows es una buena idea.

Cuatro pilares para la app Windows Universal

El primer paso es la web. El nuevo navegador Microsoft Edge es la herramienta para ello, proporcionando una interfaz y posibilidades de marcado que nos recuerdan emotivamente a aquel famoso fallido prototipo Microsoft Courier (un cuaderno digital con doble pantalla y stylus que nos permitía marcar y cortar de una forma similar a este nuevo navegador).

Edge proporcionará una capa de desarrollo de web como servicio que permitirá explotarse a través de extensiones y ofreciendo compatibilidad con los actuales desarrollos para el navegador Google Chrome, lo cual de primeras le permitirá tener un catálogo más que interesante. Pero lo que realmente es el pilar para apps no es el nuevo navegador en sí, si no la posibilidad de crear webs completas encapsuladas como apps. De esta forma, se podrá crear un sitio completo y compilarlo como app, con la gran ventaja de poder integrar servicios propios de apps como las notificaciones dentro de ellas. A través del uso del motor de navegación, la generación de estas web apps es sencilla y muy rápida.

El segundo pilar es .NET y Win32, el ecosistema en el que viven la gran mayoría de apps nativas de Windows. Estas apps, hasta ahora, no podían instalarse en modo alguno a través de la Windows Store si no que seguían necesitando la instalación manual de toda la vida a través de asistente. Pero Microsoft ha aprendido y mucho.

Hemos de recordar que Windows Store en su infraestructura, ejecuta todas las apps en un sandboxing, es decir, un entorno controlado del que el proceso de la app no puede salir y que le limita (por seguridad) el número de recursos a usar en el sistema. Algo muy similar a lo que hace Apple con iOS. Por este motivo, ninguna aplicación convencional de Windows Win32 o .NET ha podido nunca estar en la Windows Store… hasta ahora. Ahora, a través de las potentes herramientas de virtualización que posee Windows 10, las aplicaciones nativas Win32 o .NET podrán instalarse desde la Windows Store y descargarse.

Apps Win32 Store

Estas se bajarán y se creará un entorno virtualizado controlado de sandboxing que garantice su compatiblidad, su acceso a los recursos controlados del sistema, seguridad y funcionalidad. A efectos prácticos, se creará una máquina virtual cerrada para cada app con uso compartido de recursos por lo que cuando queramos desinstalarla podremos simplemente borrarla porque el registro que use la app estará limitado a ella sola. Entendemos que las apps actuales necesitarán algunos retoques, pero mínimos, para poder usar este nuevo método de encapsulación que proporciona enormes ventajas y que no ensuciará el sistema en modo alguno por mucho que instalemos una o mil apps de estas características.

La tercera pata ha sido una sorpresa aunque en cierto modo esperada: Visual Studio soportará código C++ y Java que use APIs de Android. Esto quiere decir que Visual Studio incorpora como lenguaje compatible a su entorno y compilador estos dos nuevos lenguajes enfocados en Android. De esta forma, si tenemos un proceso o una librería ya desarrollada para Android, podremos usarla directamente con una app Windows Phone sin modificación alguna.

La compatibilidad es limitada a nivel de código solamente, pero más que suficiente para proporcionar procesos ya programados para Android a una interfaz Windows Phone y que la app funcione sin problema alguno.

Y por último, el bombazo. Visual Studio es capaz de usar Objective-C y las APIs nativas de Apple para creación de apps para iOS. De esta forma, un proyecto realizado en Xcode (el entorno de desarrollo de Apple para iOS y OS X) puede convertirse directamente en una app Windows Universal sin transformación alguna en el código, garantizando un buen rendimiento, la compatibilidad e incluso, como hemos comentado, usando librerías nativas de iOS como UIKit (el constructor de interfaces) o CoreAnimation (que permite mover objetos y hacer animaciones con ellos).

App de iOS en Windows

Lo que da que pensar es el hecho que el compilador de Visual Studio ahora sea capaz de entender o compilar un lenguaje como Objective-C, pero se hayan olvidado del más nuevo y mejorado Swift. Pero sin duda, lo que van a conseguir es que muchos se piensen sacar directamente su apps en Windows Phone portándolas de esta forma (que casi es más una conversión) desde iOS. La similitud de los algoritmos matemáticos que crean interfaces adaptativas entre iOS y Windows Phone facilita la transición, por lo que el caso iOS sí podrán convertirse las interfaces y sus elementos.

Por último, a todo esto hay que sumar la aparición del núcleo de .NET también para Linux o Mac lo que abría la puerta a un sin fin de nuevos desarrollos y apps realizadas en el entorno de Microsoft que se ejecuten en otros sistemas operativos. También se ha lanzado un nuevo e interesante editor: Visual Studio Code en Windows, Linux y OS X. Un editor de gran capacidad, versátil, que soporta múltiples lenguajes con opciones de auto-completado, integración con gestión de código con GIT e incluso funciones de depuración con sistemas Azure o servidores como Docker, un nuevo sistema de virtualización que actúa sobre aplicaciones o sistemas en vez de sobre sistemas operativos.

Conclusiones

Hay que sumar aun las novedades en la nube con Windows Azure, con la incorporación de nuevas bases de datos más potentes y escalables, encriptación de datos, un Data Warehouse llamado SQL Warehouse extremedamente potente y escalable y una nube de servicios que supera ampliamente la infraestructura de Amazon Web Services o Google.

El objetivo final de todo esto es sencillo: volver a la cresta de la ola y proporcionar a los desarrolladores herramientas por las que ya no haya excusa para hacer también una versión de Windows de nuestra app, y por lo tanto, enriquecer el ecosistema. Por eso también han presentado la posibilidad de crear una Windows Store específica para, por ejemplo, instituciones educativas o corporaciones que sea capaz de explotar las licencias de uso por volumen de determinadas apps. O una Windows Store para empresas con nuevos e interesantes modelos de negocio y licenciamiento.

Si a eso se le mezclan las posibilidades de nuevos entornos como HoloLens, también compatible con los desarrollos universales, o ejemplos de apps de altísima calidad como StaffPad, un software de escritura de partituras con la stylus de Surface integrando OCR en tiempo real con una interfaz innovadora, tenemos un prometedor horizonte frente a nosotros a través de Windows 10 a la hora de desarrollar para él. Mientras, Google tiene mucha tarea por delante y Apple, quien tendrá su Conferencia de Desarrolladores el próximo 8 de junio, se enfrenta a un futuro en el que le guste o no tendrá que “recoger” muchas ideas de las que hoy se han puesto a la luz y aplicarlas en sus propios sistemas.

Sin duda, es un momento magnífico para ser desarrollador. Las compañías nos quieren, miman y tientan. Y Microsoft de pronto se ha situado en una posición de privilegio.

Archivado en Android, Build 2015, Desarrollo, iOS, Microsoft Visual Studio
COMPARTIR 0 TWITTEAR

Comentarios (13)

Usa tu cuenta de Facebook para dejar tu opinión.

Otras webs de Difoosion