miércoles, 6 de abril de 2011

El futuro del desarrollo móvil: crear una web móvil o una aplicación nativa

La batalla en el desarrollo móvil va más allá de la lucha entre sistemas móviles como pueden ser Android, iOs o Windows Phone 7. HTML5 lleva tiempo generando altas expectativas y plantea el futuro del desarrollo móvil a caballo entre las aplicaciones nativas y las web móvil que muchos de los desarrolladores acostumbrados a la web tradicional pueden aprovechar.
La tendencia actual sitúa el suculento mercado de las aplicaciones móviles como un fuerte aliciente para que los desarrolladores se decanten por implementar aplicaciones usando un SDK especifico asumiendo el esfuerzo que conlleva el aprendizaje de una tecnología nueva y en ocasiones cerrada a unos pocos dispositivos

Los diversos estudios referentes a qué tecnología móvil prefieren los desarrolladores, sitúan iOS por delante con una clara ventaja a pesar de ser una plataforma cerrada y exclusiva para los dispositivos de Apple. Tenemos que reconocer que tanto en el mercado de smartphones como de tablet son los que primero llegaron, al menos sí los que supieron monetizarlo bien. Así que es normal que muchas empresas quieran estar presentes y demanden profesionales cualificados para desarrollar aplicaciones móviles. O incluso el crecimiento de las startups que diseñan aplicaciones para terceros que reclaman este tipo de desarrolladores en plantilla.
En paralelo y creciendo, nos encontramos a los desarrolladores de Android. Muchos de ellos venidos del mundo java dada la ligera curva de aprendizaje si se está familiarizado con el lenguaje Java. La tendencia actual marca que el número de desarrolladores Android crecerá, dado el aumento de dispositivos que llevan el sistema operativo Android y la libertad de creación marcada desde un principio por Google en contraposición a Apple.
El auge en las ofertas de empleo crece para los desarrolladores móviles, muchas veces desarrollando a la par la misma aplicación nativa en iPhone o en Android. Sin olvidarnos de sistemas que empezarán a golpear fuerte como el RIM con sistema operativo para Blackberry o Windows Phone 7 que empieza a tener una comunidad importante de desarrolladores.

Las aplicaciones nativas ofrecen una serie de funcionalidades imposibles de conseguir en la web

En todos los casos, los desarrolladores de aplicaciones nativas tienen la ventaja de poder usar funciones que de otra forma en la web móvil no se podría.


  • El uso de interfaces nativas que proveen los propios SDK como iPhone o Android. Estos componentes facilitan la creación de las aplicaciones móviles desde cero teniendo la mayor parte de los elementos ya creados para ser integrados con la parte especifica de la aplicación.



  • El uso de bases de datos locales. Aunque en HTML 5 se pueden usar un almacenamiento local, hay que reconocer que estas tecnologías están más avanzadas en los sistemas nativos por lo que las aplicaciones podrán hacer uso de ellas para sus funcionalidades.



  • Notificaciones push. Una fuerte razón que no puede ser implementada en una web móvil y justifica el uso de aplicaciones por parte de las empresas de internet para ofrecer parte de sus servicios de su web a través de una aplicación que proporcione avisos al usuario, cosa imposible desde la web.




  • Geolocalización. Hemos visto algunos ejemplos de geolocalización a través de HTML5, pero que no acaban de alcanzar la misma experiencia de usuario que una aplicación móvil. Podemos interactuar con el mapa o con las funcionalidades asociadas a la localización del usuario, pero no ir mucho más allá.





  • Soporte para una cámara o de vídeo. Las funciones multimedia están perfectamente acopladas a las aplicaciones nativa donde se pueden añadir funcionalidades especificas a nuestra aplicación. Complicado de realizar en una web móvil, a pesar de los esfuerzo de estandarizar como los servicios de voz y de envió de archivos en HTML5 desde el móvil.




  • La web sigue siendo el negocio principal: necesita ser accesible desde cualquier dispositivo

    Aunque en las aplicaciones móviles no podamos usar estas funcionalidades, pero se pueden hacer sorprendentes cosas con HTML5, CSS3 y JavaScript. Tres tecnologías que como desarrolladores web no deberíamos perder el tiempo en ponernos a manejar con soltura. En unos meses veremos como maduran los framework móviles que vienen de la web como pueden ser Dojo Mobile o jQuery Mobile para impulsar desarrollos específicos de páginas móviles que tengan unas funcionalidades cercanas a sus web de escritorio. Incluso muchos framework en la cara del servidor nos permiten adaptar el contenido según el dispositivo que se conecte y sus posibilidades técnicas: pantalla táctil, reproducción de vídeos o resolución de pantalla. Un punto muy importante para ser accesible con nuestra web.
    La web sigue siendo el negocio principal de muchas empresas de internet. Al final de todo el mundo es donde nos movemos en internet, a pesar de que existan cientos de aplicaciones. Es una necesidad imperiosa que las webs se ven correctamente en cada dispositivo. El desarrollo web no ha muerto por la inclusión de las aplicaciones móviles, sino que se ve afectado por un proceso de cambio hacía la adopción de tecnologías nuevas como HTML5 con la que podemos conseguir que una web se adapte a casi cualquier dispositivo como si fuera una aplicación nativa. Tenemos que tener en cuenta que muchas aplicaciones nativas no son tanto ya que son un mix de tecnologías que soportan por debajo HTML 5 para visualizar muchas de las pantallas y crear de forma ágil nuevas funcionalidades.


    Fuente: www.genbetadev.com

    1 comentario:

    1. Quiero aclarar que realmente no es cierto que desde HTML no se pueda acceder a las funcionalidades que hoy se pueden hacer con la parte nativa (separo lo que es HTML a lo que es "Web" o "Internet").
      Muchos fabricantes implementan API's que permiten a quienes programan en HTML acceder a esas características desde Javascript.
      Lo que si no existe es un estándar, lo cual algunos frameworks como phonegap intentan subsanar, implementando una única API para acceder a las diferentes implementaciones en cada tipo de dispositivo.
      Con respecto a cómo se ve una página web vs a cómo se ve en modo nativo, también existen algunos "hints" (javascript o css) que permiten tener comportamientos nativos de la plataforma dentro de una página web (que también genera un Gap en la forma en que cada plataforma lo implementa, ya que cada plataforma posee patrones de diseño e interacción diferentes, también existen frameworks que los explotan).
      Vuelvo a dejar claro, lo que menciona genbetadev es una verdad a medias, que HTML no traiga una API estándard para mobile no significa que con HTML y API's nativas implementadas en el browser no puedan hacerse aplicaciones muy buenas, que acceden a información del dispositivo como si fuera una aplicación nativa. Esas aplicaciones son Web, generalmente son implementadas en HTML y consumen información desde la web.
      Ahora bien, si es cierto que se viene dando una tendencia hacia lo nativo. Para las aplicaciones HTML prefieren que estas mismas estén "colgadas" de un AppMarket para poder tener más "control", y el modelo está hecho de tal forma que esas aplicaciones "web" tengan que ser embebidas dentro de un paquete de aplicación para poder funcionar. Pero son aplicaciones HTML, no nativas.
      Ahora bien, ¿porqué no abren a que todo eso sea posible desde el browser mismo? navegando realmente por sitios web's que exploten esas características? Porque pierden ese "modelo" de negocio, y también el modelo de seguridad de algunas de esas características "nativas".

      ResponderEliminar