Cómo elegir la diferencia entre el modo de desarrollo nativo de la aplicación web y la aplicación nativa, comparación del modo de desarrollo de la aplicación
Desarrollo de aplicaciones nativas
Desarrollo de aplicaciones nativas. es lo que llamamos El modelo de desarrollo de aplicaciones tradicional (modelo de desarrollo de aplicaciones nativas) se desarrolla para diferentes sistemas operativos móviles como IOS y Android. Requiere diferentes lenguajes y marcos para el desarrollo. Los métodos de desarrollo de este modelo pueden ser diversos. El desarrollo de diferentes sistemas operativos móviles, como IOS y Android, requiere el uso de diferentes lenguajes y marcos. Este modelo generalmente consta de dos partes: "cliente de aplicación de aplicación de datos del servidor en la nube", todos los elementos de la interfaz de usuario, contenido de datos y marco lógico. de la aplicación APP Todas están instaladas en terminales móviles.
Desarrollo de aplicaciones web
El desarrollo de aplicaciones web es un modelo de desarrollo de aplicaciones marco (modelo de desarrollo de marco de aplicaciones HTML5), que tiene ventajas de desarrollo multiplataforma. Este modelo generalmente se desarrolla mediante "HTML5". Cliente de aplicación de aplicación de sitio web en la nube" consta de dos partes. El cliente de aplicación de aplicación solo necesita instalar el marco de la aplicación. El cliente de la aplicación solo necesita instalar la parte del marco de la aplicación, y los datos de la aplicación se obtienen de la nube y se presentan al usuario del teléfono móvil cada vez que se abre la APLICACIÓN.
La diferencia entre el desarrollo de aplicaciones nativas y los modelos de desarrollo de aplicaciones web
La aplicación web necesita desarrollar un "sitio web en la nube html5" y un "cliente de aplicación". Kunming Dao Network resume este tipo de aplicaciones de aplicación. La aplicación APP tiene las siguientes características:
(1) Cada vez que se abre la APLICACIÓN, la interfaz de usuario y los datos deben obtenerse del sitio web en la nube a través del marco de la APLICACIÓN;
(. 2) Si los usuarios de teléfonos móviles no pueden acceder a Internet, no podrán acceder a los datos en la aplicación APP.
(3) La aplicación tipo marco no puede llamar a dispositivos de hardware (voz, cámara, SMS, GPS, Bluetooth, sensor de gravedad, etc.
(4) La velocidad de acceso de La aplicación de tipo marco se ve afectada debido a la limitación del acceso a Internet del terminal móvil, cada uso consume una cierta cantidad de tráfico de Internet móvil;
(5) El paquete de instalación de una aplicación de tipo marco es más pequeño y solo contiene el archivo de marco, mientras que el paquete de instalación de la aplicación APP es más pequeño. Una gran cantidad de UI y datos no se pueden utilizar. archivos de marco, mientras que una gran cantidad de elementos de la interfaz de usuario y contenido de datos solo se almacenan en la nube;
(6) los usuarios de la aplicación pueden acceder a los últimos datos de la nube en tiempo real en todo momento;
(7) Los usuarios de la APLICACIÓN pueden realizar una interacción de datos en tiempo real con la nube sin actualizar frecuentemente las aplicaciones de la APLICACIÓN;
Empresas aplicables: comercio electrónico, finanzas, información de noticias, grupos empresariales, etc. Aplicaciones de la APLICACIÓN que necesitan para actualizar el contenido con frecuencia.
La aplicación de tipo nativo requiere el desarrollo de un "centro de datos de servidor en la nube" y un "cliente de aplicación". Kunming Dao Network resume que este tipo de aplicación tiene las siguientes características:
( ) ( 1) Cada vez que obtiene las últimas funciones de la APLICACIÓN, debe actualizar la aplicación de la APLICACIÓN;
(2) El paquete de instalación de las aplicaciones de la APLICACIÓN nativa es relativamente grande, incluidos elementos de la interfaz de usuario, contenido de datos, marco lógico, etc. ;
(3) Los usuarios de teléfonos móviles no pueden acceder a los datos descargados previamente en la aplicación APP a través de Internet.
(4) La aplicación de tipo nativo puede llamar a los dispositivos de hardware de los terminales de telefonía móvil (voz, cámara, SMS, GPS, Bluetooth, sensor de gravedad, etc.
(5) Aplicación de la aplicación Cada vez que actualiza nuevas funciones, debe enviarlas a cada tienda de aplicaciones para su revisión.
Empresas aplicables: juegos, revistas electrónicas, aplicaciones de gestión, Internet de las cosas y otras aplicaciones APP que no necesitan actualizar frecuentemente el marco del programa.
Cómo elegir entre los modelos de desarrollo de aplicaciones web y aplicaciones nativas
La Web móvil está en todas partes. Actualmente, la Web móvil es la única plataforma que admite el acceso desde varios dispositivos, como la Web de escritorio y la Web móvil. Admite varios protocolos estándar. La Web móvil es también la única plataforma para que los desarrolladores publiquen aplicaciones móviles, que pueden conectar de manera efectiva varias interacciones móviles con tareas de escritorio, y el desarrollo de aplicaciones nativas puede aprovechar al máximo las características del dispositivo, lo que a menudo no es posible con los navegadores web. punto, por lo que para el producto en sí, la aplicación nativa es la mejor opción. Algunas de las características principales de las aplicaciones nativas se analizan a continuación.
Cuándo elegir aplicaciones nativas
1. Cobrar por las aplicaciones
En ninguna parte se indica que los desarrolladores no puedan cobrar por el uso de aplicaciones web móviles, pero por alguna razón, la gente tiende a pensar que las aplicaciones web no pueden o no deben cobrarse. Por razones históricas, existen dos barreras principales para pagar servicios en dispositivos móviles:
2 Método de pago
Ingresar un número de tarjeta de crédito en un dispositivo móvil es bastante engorroso y. en muchos dispositivos más antiguos Tampoco es seguro. Un enfoque típico es que si necesita cobrar por una aplicación, puede llegar a un acuerdo con su operador para que éste cobre por el servicio en su nombre. Esto también significa que debe tener acuerdos con múltiples operadores. Este suele ser el método preferido porque es posible que muchos usuarios de teléfonos móviles, como los adolescentes, no tengan ninguna tarjeta de crédito.
Otro método consiste en almacenar la información de la tarjeta de crédito del usuario en un sitio web seguro. Los usuarios pueden comprar servicios de aplicaciones iniciando sesión en el sitio web. Este proceso no es particularmente ideal, ya que significa que los usuarios no pueden comprar servicios directamente desde su dispositivo móvil.
3. Compartir obligatorio
Los operadores móviles cobrarán una comisión independientemente de si la aplicación se distribuye a través del operador o del dispositivo móvil, proporcionarán un mecanismo de cobro de la aplicación. Estos operadores y dispositivos móviles tomarán una parte de los ingresos y darán el resto a los desarrolladores de aplicaciones, lo que también significa que los desarrolladores deben cumplir con las reglas de su mercado. La adaptación a las reglas del mercado de un operador suele ser muy difícil y requiere importantes recursos humanos. En comparación, las reglas del mercado para los dispositivos móviles son mucho más simples, pero también existen muchas dificultades.
Se bloquearán las aplicaciones y servicios que perjudiquen los intereses de operadores y desarrolladores de dispositivos móviles. En el pasado, los sitios web que no dependían de operadores y desarrolladores de dispositivos móviles se cerrarían si sus ingresos fueran demasiado altos, pero esto rara vez ocurre ahora.
Si desea cobrar por aplicaciones nativas, debe aceptar la realidad de que debe seguir las reglas del mercado de otra persona y renunciar a parte de sus ingresos.
4. Desarrollar juegos
Si estás intentando desarrollar juegos móviles (que es el segmento más grande del mercado móvil), entonces necesitas desarrollar aplicaciones nativas. Los juegos son aplicaciones que consumen muchos recursos y requieren el uso de muchas API de dispositivo o API de plataforma. Aunque hay algunos juegos desarrollados íntegramente con tecnología de red que ocupan una determinada cuota de mercado, siguen siendo insignificantes en comparación con la cuota de mercado de las aplicaciones nativas. Los usuarios de juegos tienen altos requisitos en cuanto a los efectos visuales y operativos de las aplicaciones. Aunque la web móvil proporciona una cierta experiencia de simulación, todavía está lejos de satisfacer las necesidades de los usuarios.
Al desarrollar un juego móvil, debes considerar cuidadosamente qué plataformas debe admitir tu aplicación. Afortunadamente, existen muchas herramientas que te ayudarán a llevar tu juego a múltiples plataformas, pero aún requiere mucho trabajo y recursos para lograrlo.
5. Utilice funciones basadas en la ubicación
La siguiente función es la función basada en la ubicación, que le permite determinar la información de ubicación actual del usuario a través del GPS o la detección de señal. Anteriormente, solo se podía ver la información de ubicación de un usuario a través de la API de una aplicación nativa, pero ahora la mayoría de los principales navegadores móviles incorporan la API de geolocalización del W3C.
Creo que la geolocalización traerá muchas aplicaciones nuevas a la tecnología de redes. Si los navegadores web se utilizan correctamente, los desarrolladores web podrán utilizar la información de ubicación de los usuarios y otros contenidos para desarrollar aplicaciones más interesantes. Si bien esto no es técnicamente difícil, está restringido por las normas de privacidad. Pensemos en un navegador web como el punto de entrada del usuario a la World Wide Web.
Agregar capacidades de orientación significa introducir información confidencial en su sitio web, lo que puede tener graves consecuencias. Sin embargo, la información de ubicación mostrada en aplicaciones con reconocimiento de ubicación debe ser autorizada por el usuario, y los usuarios ciertamente tienen derecho a prohibir que las aplicaciones publiquen su información de ubicación.
6. Utiliza la cámara
La cámara aporta una gran cantidad de posibilidades a tu aplicación. En el pasado, se utilizaba MMS (servicio de mensajería multimedia) móvil para gestionar fotografías móviles. En otras palabras, después de tomar una foto, debe usar MMS para enviarla al servidor, que procesará la foto en consecuencia y le notificará cuando se complete el procesamiento. Este proceso requiere mucho tiempo y es complejo, y la confiabilidad no está garantizada.
Con acceso a la cámara, los desarrolladores de aplicaciones nativas pueden agilizar el proceso de toma de fotografías. Los usuarios pueden realizar algunas operaciones simples con fotos directamente en el cliente y solo cargar fotos al servidor cuando sea necesario y mediante una transmisión HTTP confiable.
Las cámaras son muy útiles en muchos tipos de aplicaciones móviles, como aplicaciones de instantáneas, aplicaciones de grabación de vídeo, etc. Las cámaras se pueden utilizar para capturar muchos momentos importantes. En un futuro próximo, podríamos ver aplicaciones que convierten automáticamente los idiomas de los logotipos simplemente tomando una foto del logotipo a través de la cámara, una tecnología que ya ha comenzado a ganar popularidad en Japón.
7. Uso de sensores
Cada vez más dispositivos móviles integran sensores, que pueden detectar la velocidad física y la gravedad del dispositivo y enviar los resultados al dispositivo. El dispositivo generalmente se usa para detectar cuándo se ha invertido una configuración y la aplicación ajusta automáticamente la orientación de la pantalla según la información que recibe.
Se pueden utilizar sensores para ayudar a aumentar la fidelidad de las interacciones del usuario con el dispositivo; la mayoría de los dispositivos móviles son portátiles y las aplicaciones pueden ajustar el contenido de la pantalla según la orientación del dispositivo, como girar el dispositivo. pantalla, o detectar movimiento físico y responder en consecuencia adivinar el entorno del usuario. Como ejemplo simple, si el usuario está caminando, el sensor puede detectar movimientos leves o velocidad y proporcionarle una interfaz de usuario con fuentes grandes, lo que le facilita ver lo que hay en la pantalla.
Sin embargo, los desarrolladores no pueden confiar demasiado en los sensores porque los sensores no pueden distinguir entre interacciones intencionales e interacciones irrazonables. Cada interacción móvil debe pasar una "prueba de transporte". Al diseñar interacciones, considere que el usuario está en un automóvil o tren lleno de gente. Considere si su aplicación se manejará correctamente si un usuario agita su dispositivo móvil en un metro o vagón lleno de gente. Normalmente, la mayoría de los desarrolladores no consideran estos factores. Asegúrese de diseñar un respaldo para cada tarea para manejar las interacciones móviles en un escenario específico.
8. Acceda al sistema de archivos
Si su aplicación necesita guardar datos localmente, entonces necesita desarrollar una aplicación local. Por ejemplo, si desea guardar la libreta de direcciones, la información del teléfono o del correo electrónico de un usuario, o guardar datos de otro dispositivo.
El acceso a los sistemas de archivos suele implicar problemas de seguridad y privacidad del usuario. Las aplicaciones maliciosas pueden modificar o eliminar datos en un dispositivo móvil. Una aplicación portadora de virus puede explotar la red de relaciones en un dispositivo móvil para propagar el virus a muchos otros teléfonos, lo que solía ocurrir antes de la adopción de los mecanismos de verificación de aplicaciones móviles.
Por otro lado, los dispositivos móviles son cada vez más privados y una gran cantidad de información personal de los usuarios, así como la información de los amigos de los usuarios y la información comercial, se almacenan en los dispositivos móviles. Es una buena idea desarrollar aplicaciones para esta información privada. Sin embargo, existen riesgos asociados con el uso de datos almacenados en dispositivos móviles para proporcionar a los usuarios servicios más específicos.
Los desarrolladores deben tener en cuenta que pueden acceder a los datos privados de un usuario sólo con la autorización del usuario. Hemos visto muchas aplicaciones utilizar grandes cantidades de datos de usuario sin su autorización, e incluso ser confundidas con aplicaciones de spam o phishing que deberían proporcionar algunos servicios muy útiles. Los malentendidos sobre su aplicación afectarán la promoción de su servicio, y si el operador recibe demasiadas quejas sobre su aplicación, su servicio puede cancelarse o incluso involucrar a otras aplicaciones.
Un punto clave a la hora de acceder al sistema de archivos es no acceder a los datos privados de ningún usuario sin la autorización del usuario. La mayoría de las aplicaciones suelen pasar por alto esto, y el W3C está desarrollando una API estándar para desarrolladores móviles, pero el trabajo aún no está completo.
9. Usuarios sin conexión
La razón final para desarrollar aplicaciones nativas es la posibilidad de que los usuarios estén desconectados o no tengan acceso a una red móvil. Esto rara vez sucede en las ciudades, incluso en áreas rurales donde la cobertura de la red se ha vuelto cada vez más generalizada. Pero aún se producen breves interrupciones en la conectividad de la red, por lo que su aplicación debe considerar cómo manejar estas situaciones.
Considera cuándo y dónde los usuarios suelen utilizar tu aplicación. Si su aplicación es un juego móvil, es probable que los usuarios la utilicen en un avión; las aplicaciones de mapas de seguimiento se utilizan a menudo en áreas remotas con poca cobertura de red. Por lo general, se accede a las guías de viajes móviles a través de redes extranjeras y, por lo general, se requieren tarifas de roaming y de redes internacionales. En este momento, es mejor que la aplicación proporcione servicios fuera de línea a los usuarios para garantizar que aún puedan disfrutar de los mismos servicios sin acceso a Internet.
Los navegadores compatibles con HTML5 ahora también ofrecen acceso sin conexión, pero puede que no sea obvio para los usuarios. A medida que más y más navegadores comienzan a admitir el acceso sin conexión, las aplicaciones deben informar claramente a los usuarios que aún pueden acceder a las aplicaciones web móviles cuando se interrumpe su conexión de red.
Las aplicaciones nativas generalmente asumen que la conexión de red es confiable. Las aplicaciones generalmente solo consideran escenarios de aplicación con buenas condiciones de red, asumiendo que la red está cerrada y la velocidad de la red es lo suficientemente rápida. No es raro que los dispositivos móviles cambien de redes buenas a malas, por lo que las aplicaciones nativas deben probarse en las peores condiciones de red posibles. Por ejemplo, un usuario puede iniciar una tarea con cobertura de señal completa y finalizarla sin ninguna señal de red.
Los usuarios no consideran el acceso en línea o fuera de línea al instalar aplicaciones locales. Esperan que las aplicaciones locales puedan ejecutarse normalmente sin importar las condiciones. Eso es lo que hacen los desarrolladores.
Cuándo elegir una aplicación web
Siempre que su aplicación no cumpla con una de las condiciones para aplicaciones nativas mencionadas anteriormente, no necesita desarrollar una aplicación nativa y debe optar por desarrollar una aplicación web. Como mencioné anteriormente en el artículo, soy un defensor de las aplicaciones nativas. Creo que las aplicaciones nativas tienen muchas cualidades excelentes y un gran potencial de mercado, pero las aplicaciones web son la única plataforma duradera de desarrollo de aplicaciones, servicios y contenidos móviles.
Las aplicaciones nativas no sirven significativamente mejor a los usuarios. Al contrario, aumentan el coste del proyecto, reducen el número de canales para la distribución de aplicaciones, aumentan la complejidad de las actualizaciones de las aplicaciones y debilitan el control de los desarrolladores sobre ellas. la aplicación y la rentabilidad, y puede causar problemas al equipo.
Las aplicaciones nativas pueden aportar beneficios a corto plazo a los desarrolladores, pero también conllevan ciertos riesgos e incluso pueden afectar a la sostenibilidad del mercado móvil.
Las ventajas de las aplicaciones web móviles fueron mencionadas en el apartado anterior. Si las características mencionadas en la sección anterior fueran las únicas razones por las que eligió aplicaciones nativas, ¿se quedaría con las aplicaciones nativas si pudiera bloquear esos obstáculos en su navegador móvil? Crearon un sistema operativo completamente móvil basado en WebKit que convierte su teléfono en un navegador web. La denominada "aplicación nativa" es en realidad una aplicación web.
Un proyecto similar es PhoneGap, un proyecto de código abierto que ayuda a los desarrolladores a crear aplicaciones nativas en dispositivos iPhone, Android y BlackBerry y a emular los dispositivos. El proyecto ayuda a los desarrolladores a crear aplicaciones nativas en dispositivos iPhone, Android y BlackBerry y a emular funciones del dispositivo, como capacidades de ubicación y sistemas de archivos, para su uso en aplicaciones web. Estos códigos se pueden publicar y vender en la tienda de aplicaciones de cada dispositivo, pero utilizan un código y un diseño comunes que pueden ser disfrutados por ****. Dado que el desarrollo es una aplicación web, los desarrolladores pueden desarrollar versiones simplificadas de aplicaciones para navegadores móviles de gama baja.
Para los programadores con amplia experiencia en desarrollo móvil, cuando dicen "desarrollar aplicaciones ricas en funciones", lo primero que les viene a la mente son aplicaciones nativas. Esto sigue siendo cierto para muchos dispositivos, pero ahora es para aplicaciones web móviles. también están disponibles en la web.
Si bien la idea sigue siendo válida en muchos dispositivos, las aplicaciones web móviles ahora ofrecen interfaces de funciones lo suficientemente ricas como para que los desarrolladores las utilicen. Esto permite que las aplicaciones web no solo se diseñen para tener tantas funciones como las aplicaciones nativas, sino que también migren entre plataformas sin cambiar una sola línea de código.
Actualmente, la innovación en aplicaciones web móviles ha alcanzado niveles sin precedentes en el desarrollo de dispositivos móviles. Pero lo más importante es que, por primera vez, los desarrolladores de dispositivos móviles decidieron crear un estándar para el desarrollo web móvil, al igual que el estándar para la web de escritorio. No solo eso, los consumidores también prefieren los dispositivos que admiten funciones innovadoras de aplicaciones web móviles o dispositivos móviles que admiten navegadores de terceros.