mevoDesarrollo: El enfoque WEB versus el enfoque NATIVO

Fecha de publicación: Jan 28, 2010 9:0:25 PM

A la hora de desarrollar una aplicación usando Tecnología Móvil, de diseñar una solución para resolver una necesidad de los usuarios, un punto importante a tener en cuenta es el enfoque que tendrá dicha aplicación, y por enfoque me refiero a la decisión de si la aplicación se ejecutará vía WEB (desde un browser), o NATIVO (directamente instalada en el dispositivo).

No es un punto menor debido a las características del mercado Móvil: variedad de dispositivos (y software base o sistemas operativos), capacidad de procesamiento y memoria restringidos (comparados con los de PC tradicionales) y disponibilidad de conexión a Internet (que puede tener restricciones debido costos y/o cobertura o alcance de la señal).

La llegada del iPhone ha complicado más el asunto, dado que ahora existe la presión de "copiar" la apariencia (usabilidad y atractivo) de esas aplicaciones, lo que aumenta la complejidad de los desarrollos.

Ventajas del enfoque WEB:

    • El soporte es más barato.

    • La velocidad de desarrollo es mayor.

    • Costo de desarrollo es menor.

    • El conocimiento existente de PC es reutilizable en su mayoría.

    • No hay problema con la variedad de dispositivos.

    • Distribución es mucho más sencilla.

    • Datos centralizados e integración con múltiples fuentes es más sencilla.

    • Permite el desarrollo de comunidades.

    • Permite extender el sitio WEB existente.

    • Actualización / correcciones son instantáneas.

Desventajas del enfoque WEB:

    • Costos, en algunas países las tarifas de acceso a Internet desde dispositivos móviles son elevadas.

    • Disponibilidad, las aplicaciones necesitan conexión continua (y rápida) a Internet y aún no está disponible en todas partes.

    • La "experiencia" WEB (funcionalidad de las aplicaciones, interactividad) en los dispositivos móviles es limitada comparada con la que se tiene en PC.

    • No hay forma de aprovechar algunas características específicas de los dispositivos (como la cámara por ejemplo).

    • Velocidad de acceso es limitada.

    • Muchas versiones de navegadores disponibles, los cuales ofrecen muy diferentes presentaciones para el mismo contenido al no estar estandarizados.

    • Tecnologías que permiten interacción como AJAX y DHTML tienen soporte limitado.

Ventajas del enfoque NATIVO:

    • Nuevas oportunidades de negocio.

    • Aplicaciones pueden interactuar directamente con el dispositivo.

    • Control detallado de qué se muestra y cómo se muestra.

    • Múltiples formas de interacción con el usuario disponibles (de acuerdo al dispositivo, por ejemplo, pantalla táctil, teclado).

    • Rendimiento mejorado y optimizado de acuerdo a cada dispositivo.

    • Se puede mantener la consistencia de la interfaz (como se ve, como se interactúa, como responde) a través de las múltiples plataformas en las que se distribuya la aplicación.

    • Capacidad de trabajo "fuera de línea".

    • Flexibilidad en las opciones de configuración de la aplicación, dándole control total al usuario.

    • Comercialización simple: el usuario paga por la aplicación y la descarga (es un evento claramente identificable para efectos de cobro).

Desventajas del enfoque NATIVO:

    • Dificultad para mantener la portabilidad (disponibilidad en múltiples plataformas) de la aplicación debido a la enorme cantidad de diferentes dispositivos que son lanzados continuamente.

    • Fragmentación de ambientes de desarrollo, lo que requiere conocer y entender cosas únicas de cada ambiente y es difícil determinar cuál es el más adecuado para desarrollar una aplicación particular (¿se usa J2ME o Flash Lite o C/C++?)

    • Mayores costos de desarrollo debido a que el conocimiento es más especializado.

    • Menor velocidad de desarrollo por su complejidad.

    • Dificultad para cumplir los múltiples y variados requerimientos que cada proveedor de servicio exige.

    • Pruebas costosas puesto que toca tener los dispositivos físicos.

    • Mercado puede requerir migración de aplicación a otras plataformas.

    • Modelo de distribución es complicado, si se usan las App Store se puede necesitar autorización adicional.

    • Corregir un error / sacar una nueva versión implica volver a descargar la aplicación y considerar la migración de los datos actuales.

Como se puede ver la decisión no es fácil y depende mucho de lo que se quiere respecto a la aplicación.

Si la aplicación es una extensión de algo que ya existe en la WEB (y que se está migrando o extendiendo al ambiente móvil), y no requiere mucha interacción con el usuario entonces el enfoque WEB sería adecuado.

Si la aplicación requiere acceso a datos que están en el dispositivo (como la agenda, o la información de algún contacto), necesita interactuar con el usuario, tiene reducida la variedad de dispositivos a los que tiene que llegar (por ejemplo, aplicaciones sólo para iPhone), y/o usa características que son generales a todos los modelos (por ejemplo J2ME básico sin extensiones del fabricante), entonces el enfoque NATIVO sería adecuado.

En resumen: es más rápido y barato el enfoque WEB, pero hay mayor integración y rendimiento con el enfoque NATIVO.

Hay que tener en cuenta que los ambientes de desarrollo se encuentran evolucionando rápidamente: Flash podrá ejecutarse en los navegadores de los dispositivos móviles dentro de poco y eso hará más fácil desarrollar aplicaciones móviles que usen la WEB; la diversidad de sistemas operativos seguirá disminuyendo, de los 5 "grandes" que tenemos ahora mismo (Android, iPhone, Symbian, WebOs, Windows Mobile), pasaremos a 3 en el mediano plazo (Android, iPhone, Windows Mobile o Symbian), y eso hará más fácil desarrollar aplicaciones móviles NATIVAS.

Mi conclusión es que la evolución de la tecnología hará cada vez más fácil usar cualquiera de los enfoques, y así como Internet y las aplicaciones WEB no han abolido las aplicaciones nativas en PC, el enfoque móvil WEB no acabará con el enfoque móvil NATIVO por lo que ambos deben considerarse siempre a nivel de desarrollo de aplicaciones.

Si su negocio es desarrollo de aplicaciones y quiere ir a desarrollar aplicaciones móviles (o quiere entrar a ese negocio) debe entonces tener en cuenta que necesita tener la capacidad de usar las dos opciones.

Para comentarios, http://mevolucion.blogspot.com/2009/11/mevodesarrollo-el-enfoque-web-versus-el.html