Hoy vamos a hablar de un tema con mucha controversia acerca de la tecnología web vs nativa en los dispositivos móviles actuales. Si bien es cierto que este artículo no pretende decirte lo que debes hacer como desarrollador, sí que mostraremos el tratamiento de las diferentes tecnologías a nivel interno y una simple diferenciación entre ambas con el objetivo de recomendar la situación actual del mercado bajo una experiencia previa con dichas tecnologías.
PhoneGap (Apache Cordova)
¿Qué hay debajo del tan famoso framework PhoneGap? Básicamente una arquitectura de ejecución de aplicaciones Web bajo una capa que permite interactuar con funcionalidades nativas del OS en el que se ejecute.
La grandeza de este framework es que internamente es una API totalmente preparada para la integración Web con el uso nativo del OS. De esta manera se consigue que el framework no se llene de funcionalidades que son más bien desarrolladas como extensiones, las cuales cualquiera puede desarrollar.
Otra de sus ventajas es el soporte de PhoneGap que hasta la versión 3.0 incluye ejecución en:
- Android
- Blackberry/Blackberry 10
- iOS
- Windows Phone 8/ Windows 8
- Tizen
Pero no nos engañemos. Una aplicación Web es ejecutada bajo el motor de renderizado base de cada OS, y éste se ve influenciado por el hardware del terminal en cuestión. Así que la comparativa de aplicaciones en PhoneGap corriendo en terminales de gama media o gama baja con Webkit como motor de renderizado de Android 2.3 o Android 4.0 por poner un ejemplo, es prácticamente inutilizable.
¿Por qué digo esto último? Porque PhoneGap no deja de ser un framework para la integración de apps Web, pero a estas hay que añadirles una interfaz gráfica con un desempeño en experiencia de usuario, y aquí volvemos a depender directamente del hardware del terminal y del motor de renderizado.
No olvidemos que PhoneGap es una API y el resto de componentes son de terceros, bajo el propio rendimiento de los mismos.
Firefox OS
Ahora veamos que nos ofrece Firefox OS frente a PhoneGap. Para empezar que son cosas distintas y es posible que haya personas que no las incluyen en el mismo brasero.
Es cierto que estamos comparando un sistema operativo frente a un framework, pero el primero a grandes rasgos soluciona el problema que intenta solventar este segundo.
La arquitectura de Firefox OS está desarrollada bajo un kernel Linux corriendo una capa encima que permite la ejecución de las tecnologías Web, Gecko sobre Gonk.
A nivel conceptual estaríamos hablando de la misma filosofía de PhoneGap pero de forma nativa, esto significa que el sistema operativo está preparado para la ejecución y renderizado de aplicaciones Web.
Con esto se consigue que el rendimiento sea 100% basado en la potencia del conjunto del terminal y no influenciado por el motor Web del OS+Hardware limitado+UI externa.
Firefox OS provee una UI propia y optimizada frente a la UI externa que es necesario integrar en aplicaciones con PhoneGap, haciéndolo hasta 4 veces más rápido.
Conclusiones
Concluyendo el artículo tras ver las diferencias de ambas tecnologías podemos ver claramente que el desarrollo de aplicaciones Web es el presente y futuro de las aplicaciones tal y como las conocemos hoy.
PhoneGap es una solución que junto a frameworks UI/UX, véase Sencha Touch o jQuery Mobile, ofrecen una forma de conseguir lanzar nuestras aplicaciones Web en variedad de sistemas operativos y dispositivos. El problema es que para que el rendimiento sea ligeramente cercano al nativo es necesario disponer de un terminal con hardware de muy alta gama y aún así no llegaremos a conseguir un rendimiento igual o superior que una aplicación nativa.
Mozilla ofrece un sistema operativo que permite correr aplicaciones Web al 100% de rendimiento nativo en cualquier terminal desde gama baja hasta gama alta, pero también tiene sus inconvenientes. La evolución del sistema operativo todavía es evidente que le queda mucho camino por recorrer y crecer, integración de más tecnologías Web, etc.
Así que si estas dispuesto a lanzar aplicaciones Web y te es indiferente el sistema operativo puesto que su repercusión es llegar a todas partes, mi recomendación es que a corto plazo lances aplicaciones nativas en los sistemas actuales y a largo plazo apuestes por la evolución de frameworks como PhoneGap o sistemas como Firefox OS combinados con el avance tecnológico de los terminales de gama baja/media y su reducción de costes en hardware.
Phonegap precisamente es para rellenar el hueco entre el telefono y la web, ellos justamente persiguen lo que se ha hecho con firefox OS, pero para todas las plataformas. Ellos esperan que en el futuro todas las plataformas funcionen como firefox OS, pero mientras ese dia llega, ellos estan ahi, aunque como tu dices no acaba de ir igual que una implementacion nativa como firefox OS
----------
Hoy vamos a hablar de un tema con mucha controversia acerca de la tecnología web vs nativa en los dispositivos móviles actuales. Si bien es cierto que este artículo no pretende decirte lo que debes hacer como desarrollador, sí que mostraremos el tratamiento de las diferentes tecnologías a nivel interno y una simple diferenciación entre ambas con el objetivo de recomendar la situación actual del mercado bajo una experiencia previa con dichas tecnologías.
PhoneGap (Apache Cordova)
¿Qué hay debajo del tan famoso framework PhoneGap? Básicamente una arquitectura de ejecución de aplicaciones Web bajo una capa que permite interactuar con funcionalidades nativas del OS en el que se ejecute.
La grandeza de este framework es que internamente es una API totalmente preparada para la integración Web con el uso nativo del OS. De esta manera se consigue que el framework no se llene de funcionalidades que son más bien desarrolladas como extensiones, las cuales cualquiera puede desarrollar.
Otra de sus ventajas es el soporte de PhoneGap que hasta la versión 3.0 incluye ejecución en:
- Android
- Blackberry/Blackberry 10
- iOS
- Windows Phone 8/ Windows 8
- Tizen
Pero no nos engañemos. Una aplicación Web es ejecutada bajo el motor de renderizado base de cada OS, y éste se ve influenciado por el hardware del terminal en cuestión. Así que la comparativa de aplicaciones en PhoneGap corriendo en terminales de gama media o gama baja con Webkit como motor de renderizado de Android 2.3 o Android 4.0 por poner un ejemplo, es prácticamente inutilizable.
¿Por qué digo esto último? Porque PhoneGap no deja de ser un framework para la integración de apps Web, pero a estas hay que añadirles una interfaz gráfica con un desempeño en experiencia de usuario, y aquí volvemos a depender directamente del hardware del terminal y del motor de renderizado.
No olvidemos que PhoneGap es una API y el resto de componentes son de terceros, bajo el propio rendimiento de los mismos.
Firefox OS
Ahora veamos que nos ofrece Firefox OS frente a PhoneGap. Para empezar que son cosas distintas y es posible que haya personas que no las incluyen en el mismo brasero.
Es cierto que estamos comparando un sistema operativo frente a un framework, pero el primero a grandes rasgos soluciona el problema que intenta solventar este segundo.
La arquitectura de Firefox OS está desarrollada bajo un kernel Linux corriendo una capa encima que permite la ejecución de las tecnologías Web, Gecko sobre Gonk.
A nivel conceptual estaríamos hablando de la misma filosofía de PhoneGap pero de forma nativa, esto significa que el sistema operativo está preparado para la ejecución y renderizado de aplicaciones Web.
Con esto se consigue que el rendimiento sea 100% basado en la potencia del conjunto del terminal y no influenciado por el motor Web del OS+Hardware limitado+UI externa.
Firefox OS provee una UI propia y optimizada frente a la UI externa que es necesario integrar en aplicaciones con PhoneGap, haciéndolo hasta 4 veces más rápido.
Conclusiones
Concluyendo el artículo tras ver las diferencias de ambas tecnologías podemos ver claramente que el desarrollo de aplicaciones Web es el presente y futuro de las aplicaciones tal y como las conocemos hoy.
PhoneGap es una solución que junto a frameworks UI/UX, véase Sencha Touch o jQuery Mobile, ofrecen una forma de conseguir lanzar nuestras aplicaciones Web en variedad de sistemas operativos y dispositivos. El problema es que para que el rendimiento sea ligeramente cercano al nativo es necesario disponer de un terminal con hardware de muy alta gama y aún así no llegaremos a conseguir un rendimiento igual o superior que una aplicación nativa.
Mozilla ofrece un sistema operativo que permite correr aplicaciones Web al 100% de rendimiento nativo en cualquier terminal desde gama baja hasta gama alta, pero también tiene sus inconvenientes. La evolución del sistema operativo todavía es evidente que le queda mucho camino por recorrer y crecer, integración de más tecnologías Web, etc.
Así que si estas dispuesto a lanzar aplicaciones Web y te es indiferente el sistema operativo puesto que su repercusión es llegar a todas partes, mi recomendación es que a corto plazo lances aplicaciones nativas en los sistemas actuales y a largo plazo apuestes por la evolución de frameworks como PhoneGap o sistemas como Firefox OS combinados con el avance tecnológico de los terminales de gama baja/media y su reducción de costes en hardware.
17/08/2013 17:52