Home » Noticias » Microsoft presenta Windows Bridge para iOS, Objective-C para Visual Studio en código abierto
Windows Bridge for iOS

Microsoft presenta Windows Bridge para iOS, Objective-C para Visual Studio en código abierto

Ya hablamos sobre ello cuando Microsoft presentó esta interesante novedad en su Conferencia Build. En aquel momento tenía el nombre interno de Project Islandwood y ahora ya ha visto la luz para el público en general con el nombre final de Bridge for iOS, como proyecto de código abierto a través del repositorio GitHub.

Microsoft Bridge para iOS es, en palabras de Microsoft, un proyecto abierto que proporciona un entorno de desarrollo en Visual Studio 2015 para trabajar en Objective-C, que adicionalmente soporta compatibilidad con algunas APIs nativas de iOS.

Bridge no tiene como objetivo ser un generador de ports (proceso de adaptación de un software por el que el ejecutable de un programa puede ser creado para un entorno diferente a aquel para el que fue diseñado originalmente), si no proporcionar un puente de compatibilidad y re-utilización de código que permita a cualquier desarrollador crear las versiones nativas de Windows 10 Universal partiendo de sus apps o juegos de iOS, re-utilizando gran parte del código que ya tuviera y teniendo que realizar mínimas adaptaciones para obtener dicha versión nativa para Windows.

Infraestructura de Windows Bridge para iOS

La estructura de este proyecto, que hemos de entender está en fase previa de despliegue, tiene cuatro partes fundamentales:

  • Compilador de Objective-C: es la parte fundamental del proyecto, y que no será de código abierto. Este compilador será capaz de interpretar el código de Objective-C y generar binarios de Windows Universal a partir de él, aunque solo estará disponible como parte del compilador de Visual Studio 2015 a partir de otoño. Una versión muy preliminar del compilador, como binario, está incluido en el proyecto que hoy se ha publicado.
  • Ejecución de Objective-C: el soporte del lenguaje no solo depende del compilador, también depende de una correcta librería de ejecución del mismo que proporcione elementos en tiempos de ejecución fundamentales para el correcto funcionamiento del lenguaje, como las delegaciones, despachadores de mensajes o el conteo automático de referencias.
  • APIs de iOS: una de las partes fundamentales para “enganchar a los desarrolladores”. Microsoft ha creado una capa, que se expone en este proyecto recién presentado, que unirá las funciones nativas de Windows Universal a las de iOS, usando el modelo de Apple. De esta forma, si en nuestra código invocábamos una ventana de sharing en redes sociales a través de la librería de iOS, lo que Bridge hará será “traducir” en tiempo real dicha instrucción generando la respuesta equivalente en las APIs de Windows Universal. Elementos y herramientas de interfaces, compras integradas, redes sociales… cualquier llamada nativa para iOS obtendrá una respuesta automática y equivalente en Windows. Para esta parte, una de las fundamentales, Microsoft convoca la ayuda de la comunidad de desarrolladores para probar, depurar, sugerir la inclusión de APIs no incluidas o incluso incorporar aportaciones y soluciones al propio proyecto.
  • Integración del entorno de desarrollo Visual Studio: el último y fundamental paso son las herramientas que permitirán la integración de las estructuras de iOS y proyectos de Xcode en Visual Studio 2015, de forma que este entorno trabaje con los proyectos del IDE de Apple como si fueran suyos.

Como podemos ver es un proyecto muy ambicioso, que tiene aun mucho camino por delante pero que pone sobre la mesa infinidad de nuevas e interesantes posibilidades que permitan a los desarrolladores que trabajan para iOS dar el salto con un esfuerzo mínimo a Windows Universal y enriquecer el ecosistema de Microsoft. Sin duda, es un ecosistema interesante si notamos que en solo las primeras 24 horas Windows 10 consiguió 14 millones de instalaciones y una adopción 16 veces mayor que Windows 8. Y en otoño este ecosistema se ampliará hasta los móviles con Windows Phone y las consolas de sobremesa Xbox One.

Windows Universal

Cómo instalarlo y trabajar con él

Para trabajar y probar Windows Bridge para iOS, que se define a sí mismo como proyecto colaborativo donde esperan que toda la comunidad de desarrolladores aporte al mismo, debemos tener el recién lanzado Windows 10 instalado en nuestro ordenador. Además de este debemos tener Visual Studio 2015 Community, la versión gratuita del entorno de desarrollo de Microsoft, que podemos descargar desde este enlace para luego, al instalarlo, marcar obligatoriamente los componentes: Lenguajes de Programación -> Visual C++, Herramientas de Desarrollo de apps de Windows Universal (todas) y las herramientas de Windows 8.1 y Windows Phone 8.0/8.1 (todas).

Instalado, solo tenemos que descargar el raíz del proyecto desde este otro enlace y desplegarlo en la ruta que más nos interese. Microsoft nos recomienda que para hacernos una idea de cómo funciona, abramos uno de los proyectos de ejemplo (samples) del propio proyecto, como WOCCatalog, y lo ejecutemos para que veamos cómo funciona y está estructurada la solución.

Objetivo final

Microsoft ha hecho una apuesta muy fuerte con Windows 10 y se juega en una sola carta recuperar la confianza en su ecosistema para ganar la partida a los actuales iOS (ecosistema más productivo) y Android (ecosistema con mayor número de usuarios). Y para ello, qué mejor que tener al enemigo más cerca que sus amigos, de forma que minimice los costes de inversión de cualquier compañía o desarrollador para crear versiones de sus apps y juegos para el ecosistema de Microsoft.

Como hemos comentado, el objetivo de Bridge para iOS no es crear un mero traductor de apps que convierte el binario de unos en otros, si no incorporar Objective-C como un lenguaje más al entorno de Visual Studio por el que las propias APIs de Windows Universal puedan ser explotados a partir de él, proporcionando a su vez herramientas que permitan re-utilizar la mayor parte del código ya creado para las apps de iOS en este nuevo entorno. Al final, las APIs de iOS, el lenguaje y las APIs de Windows Universal trabajarán juntas en un mismo entorno integrado. De esta forma, podemos crear una capa CALayer que queramos añadir a una UIView, pero usar la API de vídeo de Windows XAML MediaElement, unirla a dicha capa y reproducir el elemento en vez de usar la función nativa de iOS MPMoviePlayerController: ese es el nivel de implementación que se persigue, francamente interesante.

Veremos qué tal le sale la apuesta, pero en mi humilde opinión, como Evangelist de desarrollo de Apple y tecnólogo, merecen el éxito porque Windows 10 es un gran sistema operativo y el ecosistema completo está muy por encima en estabilidad, funcionamiento y calidad al ecosistema Android de Google. La inversión que Microsoft está haciendo en los últimos años en I+D+i y el prometedor futuro que se plantea delante, como el desarrollo universal multiplataforma o la computación holográfica, van en una muy correcta dirección para el camino que la tecnología ha de recorrer en los próximos años. Sin olvidar que Swift será código abierto a finales de año y de seguro se incorporará a este nuevo compilador de Visual Studio 2015. ¿He dicho ya que vivimos unos tiempos magníficos para ser desarrollador?

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

App Store Review Guidelines iOS 11

Cambios en las normas del App Store en iOS 11

Todos sabemos cómo son las normas del App Store (o deberíamos saberlas) y la importancia …