¿Soportará bien Windows Phone 7 la fragmentación de versiones?
Una de las cosas que más me gusta de la plataforma .NET es el adios al DLL Hell que tanta mala fama ha dado a Windows.
En el pasado critiqué abiertamente a Microsoft por este tipo de errores y otros, y cuando alguien me pregunta por Microsoft, siempre digo que lo que más me gusta de esa empresa es la autocrítica que hace y en su caso, el intento por reparar los errores que hayan podido cometer (quién esté libre de pecado que tire la primera piedra).
Pensar en Windows como lo malo y en Mac OS o Linux como lo perfecto, es ignorar la historia y la realidad… y casi me atrevería a decir, no mirar de forma crítica lo que hoy ocurre, más concretamente con los dispositivos móviles.
Todos sabemos que ahora mismo, los dispositivos móviles se mueven en su gran mayoría entre dos aguas, hablo de iPhone y de Android.
Cierto es que HP (Blackberry) está intentando impulsar su renovado Palm, y que Microsoft ha reaccionado con su windows Phone 7, pero a Microsoft hoy por hoy, le queda mucho camino que recorrer para recuperar todo el terreno perdido (y creezme que lo hará, pero le costará algo de tiempo).
Fijémonos en iPhone por ejemplo.
Apple, Steve Jobs, Apple, Steve Jobs… ambos o uno sólo, como queramos, tiene por costumbre decir que sus sistemas no tienen los problemas de Windows. Lo que muchos obvian es que sus entornos son cerrados y carecen de extensión.
¿Porqué?. Si cierras la puerta, seguro que no entra ningún invitado no deseado, y si quiere entrar… que llame primero. Así, nos ahorramos disgustos.
Es una postura inteligente y astuta, aunque más antigua que el fuego.
No obstante, si queremos actualizar el sistema operativo (en esta semana se ha publicado una nueva versión de su iOS), ¿habrá problemas con el hardware y software existente?.
Teóricamente diríamos que no, ¿verdad?.
Pues la realidad es tozuda y la respuesta es sí.
De hecho, desde el punto de vista del desarrollo de aplicaciones móviles para iPhone, nos encontraremos con incompatibilidades en el desarrollo de aplicaciones para iPhone 3 e iPhone 4, es decir, no todo lo que funciona en iPhone 4 va a funcionar en iPhone 3 y viceversa… ¿porqué?.
Pregúnteselo a Steve Jobs… él asegura que su oferta es integral y que no causa ninguno de estos problemas.
Pasemos ahora a analizar a nuestro otro encausado… Android.
El caso de Android es opuesto.
Google decide crear una plataforma abierta, muy inteligente desde mi punto de vista, y no falto de sorpresas añadidas como la demanda de Oracle por el uso de Java y patentes (recordemos que Oracle compró a Sun).
No obstante, Google en mi opinión ha hecho un excelente trabajo y Oracle no tiene mucho que rascar ahí, lo que pasa es que todas las empresas buscan la pasta, y si ven una posibilidad por pequeña y remota que sea, allí se meten como un elefante en una cacharrería.
En el caso de Android, Google ha actualizado diferentes versiones de su sistema operativo.
El problema se subdivide en dos en este punto.
Por un lado, algunos frikis han recogido el código fuente de Android y han creado su versión cocinada del mismo.
Tengo algún amigo que se ha atrevido con esta instalación y luego pasa lo que pasa… (lo he visto en directo)
No obstante, las diferentes versiones de Android no deberían dar ningún problema a los desarrolladores… bueno… ningún ningún nigún problema… es mentira.
Resulta que es posible que te encuentres desarrollando una aplicación móvil para Android y que para unos dispositivos funcione y para otros no… ¿que significa esto?.
Que el hardware tiene mucho que ver, y que lamentablemente habría que probar una aplicación en casi toda la variedad del mismo existente en el mundo.
¿Os imaginais?.
[P.D.: tengo un Android y estoy encantado con él, pero las cosas son así]
Y aquí entra en escena nuestro nuevo y flamante Windows Phone 7.
El gran desconodido de los niños.
Y es que Windows Phone 7 hoy por hoy, parece que está dando unos buenos resultados, pero muchos somos los que sólo oímos hablar de él y poco más.
No obstante es aún pronto para saber que va a pasar en el futuro próximo cuando empiecen a aparecer actualizaciones del sistema operativo o cuando empiecen a aparecer dispositivos de «su padre y de su madre».
Microsoft asegura que la actualización del sistema es casi transparente, y se presupone que las aplicaciones no deberían dejar de funcionar.
Quiero pensar que Microsoft habrá continuado con la línea que comenzó con .NET y en la que apenas hay quejas, pero es indudable que los programadores también tenemos nuestra parte de responsabilidad sobre el desarrollo de aplicaciones y su idoneidad para que se ejecuten sin problemas en todos los dispositivos hardware. No sólo hacen falta tener herramientas de desarrollo, también de pruebas y de implantación.
Veremos en el futuro que ocurre, pero de momento, tanto Apple como Google ya han empezado a tener sus problemas, problemas que intentan tapar rápidamente y que como digo, muchos de ellos son achacables a los fabricantes de Software.
De todos los modos, nos encontramos como vemos con tres modelos o líneas muy diferentes en mi opinión.
Apple, cerrada.
Google, abierta de par en par.
Microsoft, abierta pero no tanto como Google.
¿Quién de los tres acierta?. ¿Actúan los tres adecuadamente?.
En mi opinión, la mayoría del Software desarrollado para iPhone, Android y Windows Phone 7 funcionará con todos los dispositivos, pero ya veremos si todo.
Una cosa que hace muy bien Microsoft son las obligaciones que debemos cumplir en el desarrollo de soluciones para Windows Phone 7 su subida al Market de Microsoft.
Por cierto, sirvan algunos ejemplos de fallos de funcionamiento de aplicaciones o sistemas operativos en dispositivos móviles: iPhone y Android.
Angry Birds para Android (mirar el blog de Rovio).
Nuevo sistema operativo de iPhone iOS 4.2 (twitter es un hervidero en estos momentos).
¿Quién da más?