Colección de citas famosas - Slogan de motivación - ¿Cuál es la diferencia entre el desarrollo de páginas HTML5 integradas en aplicaciones y el desarrollo híbrido?

¿Cuál es la diferencia entre el desarrollo de páginas HTML5 integradas en aplicaciones y el desarrollo híbrido?

Los modelos de desarrollo de aplicaciones generalmente se dividen en dos tipos: aplicaciones web y aplicaciones nativas. Cada uno de estos dos modelos tiene sus propias ventajas sobre si utilizar el desarrollo de aplicaciones nativas o el desarrollo de aplicaciones web siempre ha sido un debate. enfoque de la industria, pero con el desarrollo de HTML5 y la popularidad de los servicios en la nube, el uso de HTML5 para el desarrollo de aplicaciones web se está convirtiendo en una tendencia. Los usuarios pueden elegir según las características y necesidades de la aplicación, o elegir un modo híbrido de los dos:

Desarrollo de aplicaciones nativas

El desarrollo de aplicaciones nativas es lo que llamamos el modelo de desarrollo de aplicaciones tradicionales (modelo de desarrollo de aplicaciones nativas). Este desarrollo requiere el uso de diferentes lenguajes y marcos para diferentes sistemas operativos móviles. Como IOS y Android, este modelo generalmente consta de dos partes: "datos del servidor en la nube + cliente de la aplicación de la aplicación". Todos los elementos de la interfaz de usuario, el contenido de los datos y el marco lógico de la aplicación de la aplicación se instalan en el terminal móvil.

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). Este desarrollo tiene la ventaja de ser multiplataforma. "Consta de dos partes: sitio web HTML5 en la nube + cliente de aplicación de aplicación. El cliente de aplicación de aplicación solo necesita instalar la parte del marco de la aplicación, y los datos de la aplicación se recuperan de la nube y se presentan a los usuarios móviles 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 Mindu Network Company resume este tipo de aplicación. aplicación Presenta 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 de la nube a través del marco de la aplicación

(2) Los usuarios de teléfonos móviles no pueden acceder a la APLICACIÓN si no pueden acceder a Internet en la aplicación.

(3) La APP tipo marco no puede llamar a los dispositivos hardware del terminal del teléfono móvil (voz, cámara, SMS, GPS, Bluetooth, sensor de gravedad, etc.)

(4 ) APLICACIÓN tipo marco La velocidad de acceso está limitada por el acceso a Internet de los terminales móviles, y cada uso consumirá una cierta cantidad de tráfico de Internet móvil;

(5) El paquete de instalación de aplicaciones de tipo marco es pequeño y solo contiene archivos de cuadros, mientras que una gran cantidad de elementos de la interfaz de usuario, el contenido de los datos simplemente se almacena 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 no necesitan actualizar las aplicaciones de la aplicación con frecuencia, logrando una interacción de datos en tiempo real con la nube;

Aplicable a empresas: comercio electrónico, finanzas, noticias y información y grupos empresariales que necesitan actualizar con frecuencia las aplicaciones de aplicaciones.

La aplicación nativa (aplicación nativa) requiere el desarrollo de un "centro de datos de servidor en la nube" y un "cliente de aplicación". Kunmingdu Network Company resume que este tipo de aplicación 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 una aplicación de APLICACIÓN nativa es relativamente grande e incluye elementos de la interfaz de usuario, contenido de datos, y marco lógico;

p>

(3) Los usuarios de teléfonos móviles que no pueden acceder a Internet aún pueden acceder a los datos descargados previamente en la aplicación APP.

(4) La aplicación nativa 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 Actualizaciones La función implica enviarlas a cada tienda de aplicaciones para su revisión cada vez.

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 es omnipresente y actualmente es la única plataforma que admite el acceso desde varios dispositivos. Admite varios protocolos estándar.

Mobile Web también es la única plataforma para que los desarrolladores publiquen aplicaciones móviles, lo que conecta 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 hace menos navegadores web. para un producto en sí, la aplicación nativa es la mejor opción. Las siguientes secciones analizarán algunas de las funciones principales de la aplicación nativa.

Cuándo debería elegir la aplicación nativa

1. Cobrar por la aplicación

No existe ninguna disposición que indique que los desarrolladores no puedan cobrar tarifas de uso por una aplicación web móvil, pero Porque por alguna razón la gente suele pensar que no pueden o no deben cobrar por una aplicación web. Por razones históricas, los servicios pagos en dispositivos móviles se han topado con dos obstáculos importantes:

2 Métodos de pago

Ingresar números de tarjetas de crédito en dispositivos móviles es bastante engorroso y también difícil. en muchos dispositivos más antiguos no hay seguridad. Un enfoque típico es que si necesita cobrar por su aplicación, puede llegar a un acuerdo con el operador y dejar que el operador cobre por su servicio en su nombre. Esto también significa que es necesario cooperar con varios 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 ideal, ya que significa que los usuarios ya no pueden comprar servicios directamente desde sus dispositivos móviles.

3. Compartir obligatoriamente

Los operadores de telefonía móvil recibirán una comisión. Ya sea que las aplicaciones se lancen a través de operadores o dispositivos móviles, proporcionan un mecanismo de cobro para las aplicaciones. 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 una inversión importante de 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 obstaculicen los intereses de operadores y desarrolladores de dispositivos móviles. En el pasado, los sitios que no dependían de operadores y desarrolladores de dispositivos móviles eran cerrados si sus ingresos eran demasiado notorios, pero últimamente eso rara vez sucede.

Si desea cobrar por su aplicación nativa, debe aceptar esta realidad: debe cumplir con las reglas del mercado de otras personas y renunciar a parte de los ingresos.

4. Desarrollar juegos

Si quieres desarrollar un juego móvil (los juegos móviles son el segmento más grande del mercado móvil), entonces necesitas desarrollar una aplicación nativa. Los juegos consumen muchos recursos y requieren el uso de muchas API de dispositivo o API de plataforma. Aunque en la actualidad existen varios juegos desarrollados íntegramente con tecnología web 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 cierta experiencia de simulación, está lejos de satisfacer las necesidades de los usuarios.

Al desarrollar juegos móviles, debes considerar cuidadosamente qué plataformas debe admitir tu aplicación. Afortunadamente, existen muchas herramientas que pueden ayudarte a llevar tus juegos a múltiples plataformas, pero completar estas tareas aún requiere mucha mano de obra y recursos materiales.

5. Utilice la función de posicionamiento

La siguiente función es la función de posicionamiento, que puede determinar la información de ubicación actual del usuario a través de GPS o detección de señal. En el pasado, la información de ubicación del usuario solo se podía ver a través de las API de la aplicación nativa, pero ahora la mayoría de los navegadores móviles convencionales tienen incorporada la API de geolocalización del W3C. Dispositivos como iPhone o Android con WebKit instalado, o dispositivos equipados con navegadores Opera o Mozilla, pueden obtener la información de ubicación del usuario.

Creo que la función de posicionamiento traerá muchas aplicaciones nuevas a la tecnología Web. Si los navegadores web se pueden utilizar correctamente, los desarrolladores web pueden utilizar la información de ubicación de los usuarios y otros contenidos para desarrollar aplicaciones más interesantes. Aunque esto no es técnicamente difícil, está sujeto a normas de protección de la privacidad.

Consideramos el navegador web como la entrada del usuario a la World Wide Web. Añadir una función de posicionamiento supone introducir información sensible en el sitio web, lo que puede tener graves consecuencias. Sin embargo, la información de ubicación que se muestra 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. Utilice la cámara

La cámara puede proporcionar una gran cantidad de posibilidades para su aplicación. En el pasado, se utilizaba MMS (servicio de mensajería multimedia) móvil para procesar fotografías móviles. En otras palabras, después de tomar una foto, debe usar MMS para enviarla a un servidor. El servidor procesará la foto en consecuencia y le notificará los resultados del procesamiento. Este proceso requiere mucho tiempo y es complejo, y no hay garantía de confiabilidad.

Al acceder a la cámara, los desarrolladores de aplicaciones nativas pueden simplificar el proceso de tomar fotografías. Los usuarios pueden realizar un procesamiento simple de las fotos directamente en el cliente y solo cargar las fotos en el servidor cuando sea necesario y mediante una transmisión HTTP confiable. El W3C está desarrollando una API para acceder a la cámara, pero aún no ha integrado oficialmente esta parte del trabajo en el navegador.

Las cámaras son muy útiles en muchos tipos de aplicaciones móviles, como aplicaciones de historias, aplicaciones de grabación de vídeos cortos, etc. Las cámaras se pueden utilizar para capturar muchos momentos importantes. En un futuro próximo, podremos ver que siempre que se fotografíe un determinado letrero a través de la cámara, la aplicación puede completar automáticamente la conversión de idioma en el letrero; esta tecnología ha comenzado a volverse popular en Japón.

7. Utilice sensores

Cada vez más dispositivos móviles tienen nuevas funciones de sensores. Este dispositivo puede detectar la velocidad física y la gravedad del dispositivo y enviar los resultados de los datos detectados al. dispositivo. Este dispositivo se utiliza a menudo para detectar si se ha invertido una configuración y la aplicación ajusta automáticamente la orientación de la pantalla en función de la información recibida.

Se pueden utilizar sensores para ayudar a los usuarios a aumentar la sensación de realismo al interactuar con el dispositivo; la mayoría de los dispositivos móviles son portátiles y las aplicaciones pueden ajustar el contenido según la orientación del dispositivo, como girar la pantalla, o detectar movimiento y puede adivinar el entorno del usuario en consecuencia. Para dar un ejemplo simple: por ejemplo, si el usuario está caminando, el sensor puede detectar un movimiento suave o velocidad. En este momento, se le puede proporcionar al usuario una interfaz de usuario de fuente grande, lo que le facilita ver la imagen. contenido en la pantalla.

Sin embargo, los desarrolladores no pueden confiar demasiado en los sensores, porque los sensores no pueden distinguir qué interacciones son intencionales y cuáles no tienen sentido. Cada interacción móvil debe pasar una "prueba de transmisión". Al diseñar sus interacciones, debe considerar al usuario en un automóvil o tren lleno de gente. Considere si su aplicación puede manejar adecuadamente a un usuario que agita su dispositivo móvil si está en un metro lleno de gente o conduciendo un automóvil. A menudo, la mayoría de los desarrolladores no consideran estos factores. Asegúrese de diseñar un plan de respaldo para cada tarea para manejar las interacciones móviles en escenarios especiales.

8. Acceda al sistema de archivos

Si su aplicación necesita guardar datos localmente, entonces necesita desarrollar una aplicación nativa. Por ejemplo, desea guardar la libreta de direcciones, el número de teléfono o la información de correo electrónico del usuario, o guardar los datos obtenidos de otros dispositivos.

El acceso a los sistemas de archivos a menudo implica problemas de seguridad y protección de la privacidad del usuario. Las aplicaciones maliciosas pueden modificar o eliminar datos de su dispositivo móvil. Una aplicación portadora de virus puede explotar la red de conexiones del dispositivo móvil para propagar el virus a muchos otros teléfonos, lo que solía ocurrir antes de la introducción de los mecanismos de autenticación de aplicaciones móviles.

Por otro lado, los dispositivos móviles se están volviendo cada vez más personales, y una gran cantidad de información personal de los usuarios, así como información de amigos e información comercial de los usuarios se almacenan en dispositivos móviles. Es una buena idea desarrollar aplicaciones para esta información privada. Pero existen ciertos riesgos. El uso de datos guardados en dispositivos móviles puede proporcionar a los usuarios servicios más específicos.

Los desarrolladores deben recordar que solo pueden acceder a los datos privados de un usuario con la autorización del usuario. Hemos visto que muchas aplicaciones utilizan una gran cantidad de datos privados del usuario sin su autorización y se confunden con aplicaciones de spam o phishing, aunque estas aplicaciones originalmente brindan algunos servicios muy útiles.

La mala comprensión de su aplicación por parte de la gente afectará la promoción de su servicio. Si el operador recibe demasiadas quejas sobre su aplicación, su servicio puede cancelarse e incluso otras aplicaciones pueden verse implicadas.

Es crucial al acceder al sistema de archivos que no acceda a los datos privados de ningún usuario sin la autorización del usuario. Y la mayoría de las aplicaciones suelen ignorar este punto. El W3C está desarrollando API estándar relevantes para desarrolladores de dispositivos móviles, pero este trabajo aún no se ha completado.

9. Usuarios sin conexión

La última razón para desarrollar una aplicación nativa es que los usuarios pueden estar desconectados o no pueden acceder a la red móvil. Puede que esto rara vez suceda en las ciudades, pero incluso en las zonas rurales, la cobertura de la red se ha ido generalizando gradualmente. Pero de vez en cuando todavía se producen breves cortes de conexión de red, y su aplicación debe considerar cómo manejar este escenario.

Piensa en cuándo y dónde los usuarios suelen utilizar tu aplicación. Si se trata de un juego móvil, es probable que el usuario utilice la aplicación en un avión. Las aplicaciones de mapas de seguimiento se utilizan a menudo en ubicaciones remotas con cobertura de red deficiente. A menudo se accede a las guías de viajes móviles desde una red extranjera y a menudo requieren cargos de roaming y de red internacional. En este momento, es mejor que la aplicación proporcione a los usuarios servicios fuera de línea para garantizar que los usuarios aún puedan disfrutar de los mismos servicios sin acceso a la red.

Los navegadores que ahora admiten HTML5 también pueden implementar el 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 la conexión de red.

Las aplicaciones nativas a menudo asumen que la conexión de red es confiable. Las aplicaciones generalmente solo consideran situaciones en las que la red está en buenas condiciones, 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 pasen repentinamente de un entorno con una buena red a uno con una mala red. Las aplicaciones nativas deben probarse en las peores condiciones de red. Por ejemplo, es posible que todavía haya cobertura de señal completa cuando el usuario inicia la tarea, pero puede que no haya ninguna señal de red cuando finalice la tarea.

Cuando los usuarios instalan aplicaciones nativas, no consideran si accederán a ellas en línea o sin conexión; esperan que las aplicaciones nativas puedan funcionar normalmente bajo cualquier circunstancia. Y esto también es responsabilidad del desarrollador.

¿Cuándo debería elegir una aplicación web?

Siempre que su aplicación no cumpla con una de las condiciones de aplicación nativa mencionadas anteriormente, no necesita desarrollar una aplicación nativa, pero sí elija Desarrollar una aplicación web. Como se mencionó anteriormente en el artículo, soy partidario de Native App. Creo que Native App tiene muchas cualidades excelentes y un gran potencial de mercado, pero las aplicaciones web son la única plataforma duradera de desarrollo de contenido, servicios y aplicaciones móviles.

La aplicación nativa obviamente no puede proporcionar a los usuarios mejores servicios; por el contrario, aumentará el costo del proyecto, reducirá los canales para el lanzamiento de la aplicación, aumentará la complejidad de las actualizaciones de la aplicación y debilitará la confianza de los desarrolladores; en la aplicación y en las ganancias, y puede causar problemas al equipo. Las aplicaciones nativas pueden aportar beneficios a corto plazo a los desarrolladores, pero esto conlleva ciertos riesgos e incluso puede afectar el desarrollo sostenible del mercado móvil.

Las ventajas de la Web App móvil han sido mencionadas en el artículo anterior. Si las funciones mencionadas en la sección anterior son las únicas razones para elegir la aplicación nativa, entonces, si estos obstáculos se pueden bloquear en los navegadores móviles, ¿seguirá insistiendo en elegir la aplicación nativa? El webOS de Palm ya ha comenzado a resolver algunos de los problemas mencionados anteriormente. Construyeron un sistema operativo totalmente móvil basado en WebKit, convirtiendo el teléfono en un navegador web. Las llamadas "Aplicaciones Nativas" son en realidad Aplicaciones Web.

PhoneGap es un proyecto similar. Este proyecto de código abierto se utiliza para ayudar a los desarrolladores a desarrollar aplicaciones nativas en dispositivos iPhone, Android y BlackBerry, y puede simular las funciones del dispositivo (como funciones de posicionamiento y sistemas de archivos). para llamadas de aplicaciones web.

Estos códigos se pueden publicar y vender en la tienda de aplicaciones de cada dispositivo, pero se puede compartir el código común y el diseño que utilizan. Dado que el desarrollo es una aplicación web, los desarrolladores pueden desarrollar una versión simplificada de la aplicación para navegadores móviles de gama baja. Solo necesita desarrollarse una vez y puede implementarse en múltiples plataformas.

Para los programadores con amplia experiencia en desarrollo móvil, cuando se trata de "desarrollar una aplicación rica en funciones", lo primero que se les puede ocurrir La mente es una aplicación nativa. Aunque esta idea todavía se aplica en muchos dispositivos, las aplicaciones web móviles ahora también proporcionan interfaces funcionales lo suficientemente ricas como para que los desarrolladores las llamen. Esto permite que las aplicaciones web no solo se diseñen con funciones ricas y magníficas interfaces como las aplicaciones nativas, sino que también se puedan migrar a varias plataformas sin siquiera modificar una línea de código.

Ahora, en el desarrollo de dispositivos móviles, la innovación de las aplicaciones web móviles ha entrado en un período culminante sin precedentes. Pero lo más importante es que, por primera vez en la historia, los desarrolladores de dispositivos móviles han decidido desarrollar conjuntamente 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 dan la bienvenida a los dispositivos que admiten las funciones innovadoras de las aplicaciones web móviles o los dispositivos móviles que admiten navegadores de terceros.