Webapp Móvil - Técnica de desarrollo de aplicaciones multiplataforma

diciembre 15, 2011

Una webapp no es más que una aplicación en la cual parte de su código está en la web, entendiendo como web, a servidores externos y desde los que se puede acceder a través de internet. En aplicaciones de escritorio también necesita en la mayoría de los casos, un navegador web para poder funcionar.

Esto que a simple vista no tiene nada de nuevo, puede ser una solución eficiente para una gran mayoría de personas que andan replicando información cada vez que quieren iniciar el desarrollo de una aplicación en distintas plataformas.

Las webapps, están orientadas a cualquier tipo de tecnología, pero donde mejor la he visto funcionar es en la tecnología móvil, dándonos la oportunidad de reducir tiempos y costes a la hora de desarrollar una aplicación, porque en realidad, lo que tenemos con una webapp en los dispositivos móviles son:

- Una parte de código que representa el 20% de la aplicación en el dispositivo.

- El 80% restante del código está en el servidor.

Este tándem 20/80, es una constante cuando programamos estas aplicaciones y hay bastantes herramientas disponibles para que las desarrollemos con éxito.


A mi como siempre, me gusta realizar un análisis de las cosas, así que vamos a realizar una tira de pros/contras de las Webapps Móvil:

Pros:

- Con este tipo de aplicaciones podemos desarrollar de manera más rápida para varias plataformas, reduciendo costes de producción. Si nuestra aplicación encaja con el concepto webapp y no usamos esta metodología de desarrollo.

- Si surge un error en nuestro 80% de la aplicación, que es la que alojamos en servidores, la solución es limpia de cara al usuario. Esto quiere decir que no será consciente de actualizaciones/correcciones.

- Esta técnica de desarrollo se lleva muy bien con las metodologías ágiles (Scrum, XP...), ya que como os he comentado, al tener una relación buena con tecnología móvil, se acaban desarrollando aplicaciones de calidad por muy poco coste.

- Es gratis. Si usas por ejemplo como motor, a jQuery Mobile, lo tendrás disponible de manera gratuita y con una comunidad detrás.

Contra:

- Todo depende del servidor. Esta es la gran crítica que se llevan estas aplicaciones, pero debemos también pensar que cuando nuestro modelo de negocio encaja con un servicio web, o con una red social, o algo que dependa de internet, siempre tendremos este tipo de problemas, de ahí que este tipo de técnica de desarrollo no sirva para desarrollar cualquier tipo de aplicación.

- No obtienes una experiencia 100% de usuario de la plataforma en la que estés desarrollando. Si desarrollas una aplicación para iOS, usando para ello toda la programación en xCode, al usar todos sus elementos tendrás una experiencia 10/10 en esa plataforma, pero claro, si quieres desarrollar la misma aplicación para Android, te toca desarrollarla desde 0 con Java, algo que cuesta tiempo y dinero. Una webapp nunca te va a dar una experiencia iOS 100% o una experiencia Android 100%.

- Es relativamente nuevo para el gran público. Por suerte o por desgracia, la mayoría de las personas a medida que nos vamos haciendo mayores, vemos con más recelos las nuevas tecnologías de desarrollo, pensando que nos quieren colar un gol intelectual o que nos quieren hacer perder tiempo. En este caso, hay que iniciarse en el mundo casi desde 0, y adquirir conocimientos que un programador Java en su vida creía que iba a tener que aprender, como CSS, o HTML 5...

Esto como dije, no es una novedad del 2011. Hay mucha gente que lleva detrás de esta idea varios años y así lo demuestran diversos desarrollos que hay por la web.

Como curiosidad, hay gente que ha llegado al punto de comercializar la creación de lo que denomino "aplicaciones basura". Y es que por un módico precio puedes crear una webapp haciendo cuatro clics, eso si, a sabiendas que lo que saldrá de ahí no es nada memorable:

http://qreapp.com/

You Might Also Like

1 comentarios

Sé respetuoso/a, en este blog caben todo tipo de opiniones con respeto y serenidad.

Contact Form :: (」゜ロ゜)」