¿Cuáles son las ventajas y desventajas de las aplicaciones web frente a las aplicaciones que son nativas del teléfono?

Además de la universalidad, una base de datos con 25 millones de registros es trivial para un servidor, pero probablemente empuje a un teléfono a, si no más allá, su capacidad.

La actualización de un millón de aplicaciones en teléfonos requiere toneladas de datos que fluyen en Internet (es por eso que todos los teléfonos de un modelo dado no se actualizan al mismo tiempo), pero actualizar el código en una aplicación web es actualizar un programa en un solo lugar. Y generalmente es local. (Las grandes empresas alojan sus propios servidores).

Y la copia de seguridad puede ser trivial: la identificación de datos se mantiene en el servidor y se realiza una copia de seguridad fuera del sitio. El usuario no tiene que hacer nada. (En un teléfono Android, todos los contactos de su cuenta de Google están respaldados. Los contactos del teléfono, dispositivo y SIM no lo están, por eso todos los contactos deben agregarse como contactos de la cuenta de Google).

Tampoco recibe preguntas de usuarios con 5 versiones de retraso sobre por qué algo que solucionó hace 2 versiones no funciona: todos están usando la versión actual.

Una desventaja es que si su servidor se cae, la aplicación de todos deja de funcionar. (Y sin estar conectado a Internet, la aplicación tampoco funcionará).

Interesante pregunta.

Aquí está la cosa: la mayoría de las aplicaciones nativas móviles realmente funcionan con una aplicación web. Así es como funciona: hay una aplicación web en la web, asignada en algo como server.myapp.com y luego está MyApp en su teléfono o tableta. Esa aplicación móvil se comunica con esa otra aplicación para enviar fotos o encontrar un restaurante. Esa aplicación web no tiene una interfaz. Pero déjame explicar:

Aplicaciones móviles

Se necesitan para ciertas cosas, digamos, para leer sensores: tener acceso a la cámara, el rollo de su cámara, GPS, acelerómetro, etc. No es que las aplicaciones web no puedan hacerlo, pero las aplicaciones nativas tienen los bloques de construcción listos. Estas aplicaciones son caras porque: lleva tiempo iterar, el tiempo de desarrollo para solucionarlo es más lento y, en última instancia, los desarrolladores móviles son más caros (hay menos). Además, necesitará una aplicación web para comunicarse.

Aplicaciones web

Como dije, las aplicaciones web son más baratas (hay más desarrolladores disponibles) y son más fáciles y rápidas de solucionar. Solo empujas el código. Tiene múltiples opciones para ejecutar su aplicación, diferentes servidores, etc. Si está ejecutando un primer producto móvil, no quiere eso. No va a hacer que los usuarios de dispositivos móviles inicien una aplicación web y la usen desde un navegador, sobre todo por el poder de su aplicación, sino por sus hábitos. Puede adaptarse a usted si, por ejemplo, está creando un producto de medios y sabe que todo se distribuirá a través de Facebook y Twitter y luego abrirá un navegador. Esto podría ser algo así como Buzzfeed. La otra realidad es que, la mayoría de los sitios web que visita son en realidad aplicaciones web.

Esto es todo lo que tengo. Si necesita información más específica, no dude en enviarme un mensaje.

Las aplicaciones web son casi universales en términos de hardware / SO en los que se ejecutarán. Sin embargo, lo que renuncia es las capacidades de hardware únicas de un teléfono específico. Sin embargo, el 95% de las veces, no necesita esas capacidades. Hacer una aplicación de teléfono para cada tipo de teléfono duplica (o más) la dificultad de desarrollar una aplicación.

Por lo tanto, a menos que necesite GPS o algo no estándar, debe seguir con las aplicaciones web. Una ventaja adicional es que si diseña la aplicación web lo suficiente, funcionará en todas las plataformas, desde computadoras de escritorio, computadoras portátiles, teléfonos, dispositivos integrados, hasta quién sabe qué saldrá a continuación.

No es difícil crear el diseño “suficiente”. Si confía en la generación de HTML / CSS del lado del servidor, elimina la mayor parte (si no toda) de la necesidad de código no portátil, como JavaScript (JS), que tiene un acoplamiento mucho más alto con navegadores específicos que HTML / CSS estándar .

Todas mis aplicaciones funcionan bien en todas las plataformas, incluidos los teléfonos, aunque no tengo un teléfono inteligente para probar las aplicaciones. Varios usuarios no informaron ningún problema en los teléfonos en entornos seguros y críticos.

Aplicación nativa: puede funcionar sin conectividad (o con conectividad intermitente). Es útil cuando no puede conectarse a una red de datos o cuando el servicio de datos es costoso. Ejemplos prototípicos: aplicaciones de mapeo para usar mientras viaja, libros electrónicos, juegos simples.

Una aplicación nativa también puede aprovechar las capacidades específicas del dispositivo e integrarse mejor con las funciones de la GUI. Algunas cosas, como las funciones del teléfono, tienen que ser nativas, otras (p. Ej., Ubicación) se pueden acceder en un navegador mediante JavaScript. La comunicación entre aplicaciones tiende a ser más fácil con las aplicaciones nativas (los sandboxes del navegador se interponen).

Aplicación web: todo lo que necesita acceso a una base de datos, comunicaciones (por ejemplo, WebEx) u otras funciones del lado del servidor.

No olvidemos los híbridos: escriba en HTML y JavaScript, envuelva con Cordova o algo así y puede obtener una aplicación nativa multiplataforma con una base de código.

La aplicación web es una plataforma común. Las aplicaciones móviles se clasifican como iOS y Android.