¿Qué son Native, WebApp, Hybrid, ReactNative y Weex?
Introducción a los modelos comunes de desarrollo de aplicaciones
La aplicación aquí es una aplicación, no un mapa cerebral, que se usa comúnmente en el desarrollo de aplicaciones móviles.
NativeApp
El modelo tradicional de desarrollo de Apps nativas tiene dos sistemas: iOS y aOS, y necesitas desarrollar tu propia App en tu propio idioma.
Ventajas: El rendimiento y la experiencia son lo mejor. Desventajas: Los costos de desarrollo y lanzamiento son una castaña. Tecnología de aplicación NetEase Butler App (Tab1, Tab2): Swift, OC, Java.
WebApp
Los sitios web de terminales móviles a menudo se denominan aplicaciones H5. Para decirlo sin rodeos, es una aplicación de sitio web que se ejecuta en el navegador del terminal móvil. Generalmente se refiere a sitios web desarrollados en modo SPA (SinglePageApplication), correspondiente a MPA (Multi-pageApplication).
Ventajas: Los costos de desarrollo y publicación más bajos. Desventajas: No se puede decir que el rendimiento y la experiencia sean los peores, pero también están limitados por la potencia de procesamiento del navegador. Las descargas múltiples también ocuparán una cierta cantidad de tráfico de usuarios. Por ejemplo: tecnología de aplicación NetEase Butler APP (Tab3): ReactJS, RegularJS, VueJS, etc.
HybridApp
La aplicación móvil en modo híbrido, una tecnología de desarrollo de aplicaciones entre WebApp y NativeApp, tiene las ventajas de la buena experiencia interactiva de NativeApp y el desarrollo multiplataforma de WebApp Ventajas (explicadas por Baidu Enciclopedia).
El principio fundamental es que Native proporciona una API unificada a través de métodos como JSBridge y luego usa Html Css para implementar la interfaz. JS escribe lógica, llama a API y la página final se muestra en Webview. En este modo, las API de Android e iOS son generalmente consistentes, por lo que HybridApp tiene un efecto multiplataforma.
Ventajas: Es fácil de desarrollar y publicar, y la eficiencia está entre NativeApp y WebApp. Desventajas: amplio alcance de aprendizaje, requiere cooperación nativa. Por ejemplo: FanReact, I Love My Home App, China Eastern App, Guo Fu Fund-Guo Fu Wallet App tecnología de aplicación: PhoneGap, AppCan, Wex5, APICloud, etc.
ReactNativeApp
Facebook descubrió que HybridApp tiene muchas fallas y deficiencias, por lo que se lanzó una nueva solución de desarrollo de aplicaciones de código abierto, RN. Utilice el lenguaje jsX para escribir interfaces nativas y JS llama a la API nativa a través de JSBridge para representar la comunicación interactiva de la interfaz de usuario.
Ventajas: la experiencia de eficiencia es cercana a la de NativeApp y el costo de lanzamiento y desarrollo es menor que el de NativeApp. Desventajas: Hay un cierto costo de aprendizaje y hay pocos documentos. Es inevitable dar ejemplos: Facebook, Youtube, Discord, QQ, Baidu, etc.
WeexApp
En el caso exitoso de RN, el equipo de desarrollo de Alibaba rediseñó un modelo de desarrollo, apoyado en los hombros de gigantes, con los proyectos del equipo de Taobao como alimento, lo que atrajo una atención generalizada. Inaugurada oficialmente en abril de 2016, la versión v2.0 es compatible oficialmente con Vue.js, que es comparable a RN.
Ventajas: el modelo de desarrollo de una sola página es extremadamente eficiente, la cantidad de contratos de actualización en caliente es pequeña y es más multiplataforma. Desventajas: recién comenzado, falta de certificados; la comunidad no es tan activa como RN y las funciones aún no están completas. Por el momento, no es adecuado desarrollar una aplicación utilizando exclusivamente Weex: Taobao, Tmall, Alibaba Cloud, Youku, Xianyu, Ele.me, etc.
Continuar análisis
NativeApp
NativeApp es una aplicación de terceros escrita y ejecutada utilizando programas nativos basados en el sistema operativo local de teléfonos inteligentes como iOS, Android y WP llamada aplicación local. Los lenguajes de desarrollo más utilizados incluyen Java, C y Objective-C.
Desde el lanzamiento de los dos principales sistemas operativos móviles, iOS y Android, ha aparecido un nuevo término en el mundo de Internet: App, que significa aplicaciones de terceros que se ejecutan en dispositivos terminales móviles inteligentes).
Debido a que NativeApp se encuentra por encima de la capa de plataforma, su capacidad de acceso descendente y su compatibilidad serán mejores, y puede admitir acceso en línea o fuera de línea, envío de mensajes o recursos locales, y recuperación de la función de marcación de cámara. Sin embargo, debido a la fragmentación de los dispositivos, los costos de desarrollo de aplicaciones son mucho más altos, mantener actualizaciones y mejoras de múltiples versiones es problemático y el umbral de instalación para los usuarios también es relativamente alto. Pero lo que es más optimista es que la AppStore ha cultivado un mejor modelo de pago para los usuarios, por lo que en el ecosistema de Apple, el modelo de ganancias del desarrollador es un estado claro, y otros mercados también se están acercando a este camino.
Ventajas
1. En comparación con otros modos, proporciona la mejor experiencia de usuario, la mejor interfaz de usuario y la interacción más maravillosa. 2. Proporciona diferentes experiencias para diferentes plataformas. 3. Puede ahorrar costos de ancho de banda y abrir más rápido. 4. Tiene las funciones más poderosas, especialmente al interactuar con el sistema. Se pueden implementar casi todas las funciones.
Desventaja
1. El umbral es alto, los talentos de desarrollo nativos son escasos, al menos el front-end y el back-end son inferiores, el entorno de desarrollo es costoso y multiplataforma. No es posible y los costos de desarrollo son relativamente altos. Cada sistema se desarrolla de forma independiente, el costo de lanzamiento es alto y requiere revisión en la tienda o en el mercado, lo que resulta en actualizaciones lentas. El costo de mantener múltiples versiones y sistemas es relativamente alto y debe. ser compatibles. 5. El mercado de aplicaciones se está saturando gradualmente y cómo captar el tiempo de los usuarios requiere mucho tiempo y dinero.
WebApp
Cuando se trata de WebApp, mucha gente pensará en WAP, o algunas personas pensarán que WAP es WebApp, pero no lo es.
La diferencia más directa entre WebApp y WAP es el nivel funcional. WAP se centra más en el uso de tecnología web para mostrar en el terminal móvil, incluidos textos, archivos multimedia, etc. WebApp presta más atención a la "función" y es una aplicación implementada a través de tecnología web. En términos generales, una WebApp es una aplicación que se ejecuta en la red y en navegadores estándar y desarrolla e implementa funciones específicas basadas en tecnología web.
La mayoría de las tecnologías responsivas están diseñadas para permitir que las aplicaciones web se adapten a una variedad de clientes.
Los sitios web generalmente se dividen en dos tipos, MPA (aplicación de varias páginas) y SPA (aplicación de una sola página). WebApp generalmente se refiere a un sitio web desarrollado en forma de SPA. Esto es más como una aplicación.
Ventajas
1. Multiplataforma, fácil de depurar; 2. No requiere instalación, no ocupa memoria del teléfono móvil, velocidad de actualización más rápida 3. Sin problemas de versiones múltiples; costo de mantenimiento; 4., entrada temporal, se puede incorporar a voluntad.
Desventaja
1. Dependiendo de la red, acceder a la página por primera vez es lento y consume mucho tráfico. 2. Limitada por el rendimiento de los teléfonos móviles y los navegadores, la experiencia del usuario es la peor en comparación con otros modos. 3. Debido a funciones limitadas, no se pueden implementar una gran cantidad de funciones móviles. 4. El portal depende en gran medida de navegadores de terceros y solo puede existir en forma de direcciones URL, lo que da como resultado una baja tasa de retención de usuarios (ventajas o desventajas)
HybirdApp
Desarrollo híbrido , que es la mitad El modelo de desarrollo semi-web nativo proporciona una API unificada para llamadas JS. La lógica principal real se completa con Html y JS y finalmente se muestra en webview. Es conveniente escribir un conjunto de código para lograr cross-. efectos de plataforma, y también es conveniente usarlo directamente en la depuración del navegador. Lo más importante es que solo requiere que una persona de front-end aprenda un poco las llamadas JSapi.
El primero en utilizar HybirdApp fue PhoneGap, y luego floreció en todas partes, como en China Titanium, Salama, WeX5, Kerkee y AppCan. Cada proyecto tiene su propio método de implementación, pero los principios generales son básicamente los mismos. Tuve la suerte de participar en un período de estudio e investigación en la sede de AppCan en Shanghai, de la siguiente manera:
AppCan es la herramienta de desarrollo de aplicaciones móviles multiplataforma de Hybird basada en tecnología HTML5. Los desarrolladores utilizan la tecnología JavaScript Html5 CSS3 para desarrollar rápidamente aplicaciones móviles en plataformas Android, iOS y WP a través del sistema de desarrollo integrado AppCanIDE y el empaquetador en la nube.
Composición de la plataforma de AppCan