Una de las batallas que comenzó cuando el mercado de las aplicaciones móviles empezó a hacerse rentable, fue la de dedicar tiempo y esfuerzo a la curva de aprendizaje, que suponía aprender a programar para un dispositivo que independientemente del Sistema Operativo.
A pesar de las dificultades (y de la necesidad de disponer de un equipo con Mac OS X), Apple y su Xcode han seguido una dinámica de mejora continua y herramientas dirigidas a crear un estilo único en el desarrollo de aplicaciones. No olvidemos que para desarrollar en iOS son necesarios conocimientos de Objective C.
Desdel prisma de la dificultad que aporta enfrentarse a un idioma desconocido o que teníamos abandonado en muchos casos, ha sido un gran logro conseguir tanta cantidad de desarrolladores y sobre todo, defensores de la lógica de Apple de como se deben de hacer las cosas. Yo, como desarrollador de iOS (con mi cuota anual incluida) que soy, me resulta un poco frustrante la exigencia casi implicita al desarrollo de hacer las cosas tal y como te dicen. Con poca variabilidad sobre el medio utilizado y con demasiado ajuste a las directivas estandar de guia de estilo Made In Apple.
Desde un punto de vista de Desarrollador Android, podemos tener nuestras objeciones a la hora de haber tomado Java como idioma y una máquina virtual (Dalvik) que aunque nos facilita una capa de abstracción sobre Android en realidad nos exige también un reinterpretación de nuestra forma habitual de desarrollo en Java a nivel Desktop. Pero también hay que constatar, la menor brecha de aprendizaje así como una gestión de memoria integrada en el propio interprete. Además para los más valientes, existe el NDK que nos permite saltar en ocasiones ese “para muchos” paso innecesario que resulta ser un máquina virtual. También conviene decir que Google debería hacer un esfuerzo importante por mejorar el NDK y ofrecer soluciones al mismo nivel del SDK.
Es evidente que para muchos nuevos programadores, Java ha sido el idioma padre y esto ha servido como impulso para animarse a programar en Android.
Después de esta visión general y personal de las dos plataformas lideres para sistemas móviles, en muchos casos nos surge la idea de como rentabilizar las estimaciones de nuestros proyectos de una forma útil. Quizá en este punto y con herramientas como phonegap desarrollar en HTML5 puede convertirse en una solución real.
Básicamente phonegap, pone a disposición de los desarrolladores esa falta de conectividad entre HTML5 y los sensores (acelerómetro, cámara, GPS, etc) de nuestros dispositivos. De una forma, relativamente sencilla, podemos desarrollar usando Javascript, CSS3 y HTML5 creando nuestras aplicaciones y subiéndolas a los Stores (Tanto Android Market como Apple Store). Como es evidente y salvando los problemas de rendimiento a nivel de ejecución web de las plataformas, el código se convierte en reutilizable y podemos puentear nuestros desarrollos con cambios no tan sustanciales.
Es aquí donde por alguna razón, los ingenieros de Apple han sabido darle a iOS una calidad excelente en la ejecución de su navegador móvil Safari y lamentablemente Google todavía tiene un largo camino por recorrer para ponerse a su altura. Si es verdad que en dispositivos como el Samsung Galaxy S 2 (y los retoques a webkit de Samsung) las aplicaciones HTML5 disfrutan de mayor fluidez. Pero todavía y siendo estrictos, la diferencia de rendimiento salta a primera vista.
De todos modos, bajo la premisa de rentabilizar nuestro trabajo al máximo. Desarrollar en HTML5 puede ser una solución real frente a desarrollar para ambas plataformas. Nuestro trabajo, puede pasar de ser secuencial a ser prácticamente en paralelo.
Desde hace meses, Google ha sabido llevar todo el potencial y excepcional rendimiento de la nueva web que se avecina a su navegador estrella Chrome (Aquí si que destacan los de Mountain View) y por las pruebas que nos presento hace unos días en el GTUG Bilbao @hyperandroid el rendimiento de aplicaciones HTML5 gracias a la máquina virtual de Dart (ya implementada en Chromium) multiplica la capacidad de procesamiento a niveles más que considerables.
Esto, no dejaría de ser una anecdota si hace unas pocas semanas el perfil oficial de Chromium en Google+ no hubiera publicado lo siguiente.
Parece que la llegada de Chrome a Android por tanto, es algo oficial. Y si esto es así, esto podría ser, bajo mi humilde punto de vista, la segunda mayor revolución desde la creación de Android (La primera es sin duda Ice Cream Sandwich). Falta por ver si la llegada de Chrome a nuestros androides es lo que todos esperamos que sea y que por fin, la navegación web desde nuestros dispositivos sea digna de la comunidad que da soporte a la plataforma.
Seré un poco idealista y diré que si las Web Apps encuentra su espacio en Android, esto marcará un punto de inflexión en la dirección en la que ahora se están desarrollando los acontecimientos. Chrome puede servir de aparato locomotor de un mercado de apps que por qué no, hará cambiar la dinámica a seguir.
Esperemos que por lo menos y como mínimo, Chrome sea una realidad en unos meses y puestos a pedir, que contemple parte de las capacidades de su hermano mayor de Desktop. Soñar el libre.
No quiero finalizar este artículo de opinión sin nombrar a cierta persona que tengo la suerte de tener muy cerca.
Desde hace bastante tiempo conozco a @soyjavi (miembro activo del GTUG Bilbao y unos de los fundadores de Tapquo). Su empeño por evangelizar los desarrollos HTML5 orientados a plataformas móviles, me hizo abrir los ojos. Y a el esa creencia le ha hecho desarrollar desde cero un Framework Javascript llamado LungoJS. Ya dispone de una pequeña comunidad de desarrolladores y el proyecto se encuentra alojado en GitHub Ahora mismo, os puedo asegurar que es una de las mejores opciones para empezar a desarrollar en HTML5. Podéis echarle un vistazo.
Comentaris
Publica un comentari a l'entrada