Acerca de...
El equipo
Encuestas
Política de privacidad
WinTablets

Encuesta

¿Cual crees que triunfará?

Ver Resultados

Cargando ... Cargando ...

últimas entradas importantes

Categorías

Archivos

24
Feb 2016
AnálisisAplicaciones Universaleschapuceros y chapuzasdispositivos de convergenciaEn busca de la Tableta idealfuturoHistoriaLumiamarketMetroMicrosoftMigraciónModern UIMovilPrimeras Impresionestendencias industriales

Microsoft compra Xamarin

Algo que predije hace tiempo, todavía siendo MVP, y que ahora se confirma. Microsoft, tras un error estratégico garrafal, debía hacer esta compra si no quería morir en el ámbito del desarrollo. Os cuento más cosas de este jaez después del corte.

Microsoft va a comprar Xamarin. Para los neófitos, Xamarin es el último invento de Miguel de Icaza, después -creo- de Gnome. Cuenta la leyenda que el Señor Icaza, cuando probó .NET, quedó tan enamorado del sistema que decidió reimplementar Gnome bajo este marco de trabajo, pero todo el mundo se le echó encima.

Después de aquello nació Mono, una implementación para Linux del .Net Framework que ha pasado sin pena ni gloria por la historia de la informática ya que su uso creo que ha sido incidental.

Mis propios ensayos con la plataforma, no han sido muy prometedores. Las primeras versiones funcionaban increíblemente más lentas que en Windows, y las últimas adolecían de fugas de memoria que terminaban petando los servidores (sí, el que suscribe alguna vez hizo algo de backend).

Luego aquello se transformó en Xamarin, o ya era Xamarin, no lo sé a ciencia cierta. El hecho es que el producto se encuentra dividido en dos partes:

La primera es la evolución de SharpDevelop, un IDE que quería competir de tu a tu con Visual Studio en el campo del C# (que es el lenguaje estrella de lo que estamos hablando), convertido en otro IDE más o menos funcional y que se apoya, también, en el componente Open Source.

A partir de ahí, Xamarin construye un sistema multiplataforma para la creación de aplicaciones escritas en C#. Tenemos API para desarrollar programas para Windows, OS X y Linux.

Dependiendo del dinero que nos queramos gastar, con aspecto nativo o aspecto “Gnome”. Luego añadieron el desarrollo para las plataformas móviles.

La cosa fue evolucionando. En una primera etapa para desarrollar de forma nativa para cada plataforma, lo que Xamarin había hecho era envolver el API de desarrollo nativo. La única diferencia era el lenguaje en sí. Es decir, que uno tenía que conocer el desarrollo de la plataforma destino para poder desarrollar.

En la segunda y actual, tienen una cosa que han llamado Xamarin.Forms y que permite, con un solo código fuente, compilar y generar aplicaciones con aspecto casi nativo para las plataformas más comunes (léase iOS, Android, OS X, pero no Windows Phone).

Y llegamos al momento presente en el que Microsoft compra Xamarin.

Ahora debemos contar otra cosa. Si recordáis, Microsoft anunció hace cosa de un año o dos que hacía su plataforma .NET Framework, compilador incluido, Open Source. El resultado de todo ello se puede verificar en el evento de hoy.

Básicamente, lo que tienen ahora es un compilador, y una biblioteca de clases que solo funciona en modo consola. Y para más inri, en Linux y en OS X no está terminada, y nos olvidamos por completo de las plataformas móviles.

En resumen, lo que están haciendo solo sirve para aplicaciones Web, y no para todas.

¿Qué pasa con Xamarin? Pues que se trata del siguiente paso. Se trata de tener un IDE multiplataforma, y unas librerías que permitan a cualquiera desarrollar en C# para lo que quiera.

Esa es la teoría. La práctica es otra:

  1. Xamarin NO es compatible con Windows Phone
  2. Hasta donde sé, Xamarin NO es compatible con las aplicaciones Universales ni con nada Metro.
  3. Xamarin NO es nativo en Windows. Es decir, que NO se apoya directamente en Win32, sino en la implementación de GTK para Win32, que es la base de Gnome.
  4. Xamarin NO es compatible con la parte actual Open Source.
  5. El .NET actual NO es compatible con nada de lo nuevo.

En resumen, pese a la compra, Microsoft tiene un serio y gigantesco problema. Ahora tiene que integrar todo eso, de alguna forma.

Yo, sinceramente, no lo veo.

Pero es un movimiento que Microsoft tenía que hacer si quería ser multiplataforma.

Y ahora viene el palo.

De todos es sabido que Microsoft primero compró a la mitad de Nokia y luego a la otra mitad.

Pero, ¿realmente terminó comprando el 100% de Nokia?

Pues no, se dejó en el tintero una cosa llamada QT. De hecho QT se convirtió en Digia, una empresa que creo en este momento está bastante boyante.

¿Qué es QT? Pues QT es un framework multiplataforma que está presente no solo en las plataformas más comunes, sino también en Windows Phone, y casi en cualquier otro sistema embebido, ya sea en tiempo real o no. Incluso está disponible para dispositivos sin sistema operativo.

¿Veis por dónde voy? ¿Sabéis ya cuál es el increíble error de Microsoft? Cuando compró la primera parte de Nokia lo dije: teníais que haber comprado QT. Cuando hizo lo mismo con la segunda me eché las manos a la cabeza cuando me enteré de que no lo habían hecho.

Unos meses después envié algunos correos bastante duros a algunas listas de correo internas, cuando se anunció la iniciativa .Net Native, que no era otra que convertir el .NET Framework y las aplicaciones escritas en C#, en algo nativo, igual que si, ejem, hubiera sido compilado con algún otro framework escrito en C++… ¿QT?

De hecho, si Microsoft hubiera comprado QT, no cuando compró a Nokia, sino cuando lo vendió TrollTech, ahora Microsoft sería la reina del mambo.

Yo en aquel momento no recuerdo haber comentado algo al respecto, aunque sí sobre la próxima decadencia de la empresa, pero sí en las dos ocasiones en las que, siendo ya MVP, trastearon con Nokia.

Imaginad por un momento que MS le hubiera metido la mano a QT. Ahora tendrían, ya, un sistema de desarrollo multiplataforma, disponible en casi cualquier lado. Imaginad a los programadores de Windows pudiendo compilar sus aplicaciones para OS X, iOS, Android, sin apenas cambios en el código fuente.

Imaginad las aplicaciones Metro corriendo en todos lados. Imaginad eso hace no uno, no dos, sino hace entre cinco y diez años.

Sin embargo, ahora se ven forzados a comprar Xamarin, a armar el increíble lío que acaban de armar, retrasando al menos cinco años (que es lo que van a tardar, y eso si lo consiguen), el verdadero desarrollo multiplataforma. Y eso sin contar los diez años de retraso que ya llevan.

Lo pondré en otras palabras. Tras las aplicaciones Modern UI de Windows Phone 7.0 con Silverlight, luego las de Windows Phone 8.0, pasando por las de la tienda de Windows 8.0, sin olvidarnos de las mal llamadas “nativas” de Windows Phone 8.1, amén de las universales de Windows Phone 8.1 y Windows 8.1, y finalizando, de momento en las de Windows 10.

Ahora tenemos el .NET Native, que se ha convertido en .NET Core (de momento en RC y que, salvo usos muy concretos, no sirve para nada). Y en un futuro, lo que quiera que salga de combinar este .NET Core con Xamarin.

Ah, y me olvidaba de Islandwood (Objective-C en Windows) y de Astoria. Y creo que hay alguno más por ahí.

Microsoft, a ver cómo sales de esta.

Por RFOG | 8 Comentarios | Enlaza esta entrada
contacto@wintablet.info tema WinTablet.info por Ángel García (Hal9000)