¿Cómo se puede desarrollar el desarrollo de aplicaciones híbridas?

A medida que se proporciona cada vez más software en forma de saas o nube, la proporción de desarrollo de aplicaciones híbridas aumenta y las principales empresas están recurriendo a este tipo de desarrollo. He visto algunos artículos recientemente y el desarrollo de aplicaciones híbridas también puede utilizar la teoría del padre de las computadoras: la estructura de von Neumann para abrir agujeros cerebrales.

En este artículo, lo presentaremos brevemente.

Divulgación científica frontal: ¿Qué aplicaciones se pueden lanzar al mercado de aplicaciones?

Mucha gente tiene un malentendido cuando Apple las pone en las estanterías: piensan que mientras no sean aplicaciones desarrolladas de forma nativa (incluso con una pequeña función), no se pueden poner en las estanterías.

No lo es. El software recibido por Apple no distingue entre Web App, Hybrid App o Native App:

1. Aplicación web: la vista web de la aplicación abre el sitio web remoto. La mayor desventaja de la aplicación web es que los recursos de carga son remotos y se recargan cada vez, lo que reducirá la velocidad, comúnmente conocida como aplicación empaquetada en el sitio web.

2. Aplicación híbrida: la vista web en la aplicación abre recursos locales H5, js, css y de imágenes sin leer datos remotos. La reducción de recursos cargados acelera enormemente la apertura de la App, comúnmente conocida como APP de desarrollo híbrido.

3. Aplicación nativa: el marco lógico y los recursos de imagen son locales y los datos rara vez se leen. Al enviar el mercado de aplicaciones para su revisión, debido a que todos están empaquetados y cargados localmente, no hay muchos procesos comerciales que se puedan cambiar después de la Las aplicaciones se guardan en los estantes, por lo que las aplicaciones nativas no pueden responder de manera flexible a la demanda del mercado, lo cual es uno de los factores importantes por los que muchas aplicaciones, incluso los grandes fabricantes, necesitan cambiar al desarrollo de aplicaciones híbridas.

Método de desarrollo de aplicaciones híbridas-1: webview carga páginas web

WebView es un componente que incorpora contenido web en aplicaciones móviles y se utiliza para implementar el desarrollo de aplicaciones híbridas. En el desarrollo híbrido, se combina código de aplicación nativa (normalmente escrito en un lenguaje como Java (Android) o Swift/Objective-C (iOS)) con tecnologías web (como HTML, CSS y JavaScript) para aprovechar simultáneamente las ventajas nativas. aplicaciones y contenido web.

El principio de funcionamiento de WebView es aproximadamente:

1. Incrustar contenido web: este es el componente más básico. Los desarrolladores pueden utilizar el componente WebView para crear una vista para mostrar una página web específica (local o remota);

2. Cargue HTML, CSS y JavaScript para crear una interfaz más interactiva y dinámica, mejorando así la experiencia del usuario de la aplicación;

3. Cree un puente de comunicación y llame a funciones nativas: el código JavaScript puede usar funciones nativas del dispositivo llamando a interfaces nativas, como acceso a la cámara, información de ubicación, almacenamiento, etc. El código nativo puede exponer estas funciones a scripts JavaScript para su uso en WebView;

4. Rendimiento y seguridad: aunque WebView puede incorporar contenido web, es mucho menos seguro que una aplicación nativa completa. Además, WebView se ejecuta esencialmente en el entorno sandbox de la aplicación y está separado del resto de la aplicación, por lo que se puede garantizar la seguridad hasta cierto punto.

Este tipo de aplicación, al comienzo de la etapa de Internet 2.0, cuando las páginas web eran populares, su capa técnica alguna vez fue favorecida por los desarrolladores, pero con la mejora y el progreso del mecanismo de revisión del mercado de aplicaciones, luego del desarrollo de este tipo de La aplicación está completa, es necesario revisarla muchas veces y la revisión solo se puede guardar en los estantes o incluso nunca se puede aprobar.

Como resultado, el desarrollo de aplicaciones híbridas utilizando la carga de clases de Java ha entrado en la corriente principal del desarrollo de aplicaciones.

Método de desarrollo de aplicaciones híbridas-2: mecanismo de carga de clases de carga de clases de Java

El uso del mecanismo de carga de clases de Java para leer código de bytes de un flujo de red para cargar clases a menudo se denomina carga de clases remota. Esta tecnología se puede utilizar para lograr el desarrollo de aplicaciones híbridas en casos específicos, especialmente cuando es necesario actualizar dinámicamente funciones o módulos de la aplicación. Aquí está la razón:

  1. Generar y transmitir código de bytes: en el desarrollo de aplicaciones híbridas, puede compilar el código de bytes de algunas clases de Java en formato binario y transmitirlo a la aplicación móvil a través de la red. Estos códigos de bytes representan alguna funcionalidad o módulo nuevo que desea introducir o actualizar la funcionalidad existente.

  2. Cargador de clases personalizado: en la aplicación, debe implementar un cargador de clases personalizado para leer el código de bytes del flujo de red y cargar la clase correspondiente. El mecanismo de carga de clases de Java le permite crear cargadores de clases personalizados extendiendo la clase ClassLoader, que puede anular el comportamiento predeterminado de carga de clases.

  3. Proceso de carga de clases: cuando el código de la aplicación necesita usar una determinada clase, primero la buscará y la cargará a través de un cargador de clases personalizado. Si la clase no se ha cargado, el cargador de clases leerá el código de bytes correspondiente del flujo de red y lo convertirá en un objeto de clase. Se pueden crear instancias de las clases cargadas y utilizarlas en la aplicación tal como las clases cargadas de forma normal.

  4. Consideraciones de seguridad y aislamiento: la carga remota de clases implica cuestiones de seguridad y aislamiento. Debe asegurarse de que solo se cargue el código de bytes confiable para evitar la inyección de código malicioso. Además, también debes prestar atención para evitar problemas como conflictos de clases y pérdidas de memoria.

  5. Actualizaciones dinámicas y modularización: la carga remota de clases le permite introducir nuevas funciones, corregir errores o modificar funciones existentes actualizando el código de bytes remoto sin volver a publicar la aplicación. Esto es muy útil cuando necesita responder rápidamente a las solicitudes de los usuarios o realizar pruebas A/B.

Método 3 de desarrollo de aplicaciones híbridas: en referencia a la estructura de von Neumann, los paquetes transmitidos a través de la red pueden ser datos o código.

En referencia a la estructura de von Neumann, almacenar código y datos en la nube para el desarrollo de aplicaciones híbridas puede realizar una arquitectura similar a la "aplicación híbrida en la nube". El principio básico de esta arquitectura es almacenar la lógica central y los datos de la aplicación en el servidor de la nube, mientras que la aplicación en el dispositivo móvil es la principal responsable de mostrar la interfaz, la interacción del usuario y la comunicación con la nube.

Su fundamento es el siguiente:

  1. Separación de front-end y back-end: en esta arquitectura, la aplicación en el dispositivo móvil actúa principalmente como front-end, responsable de mostrar la interfaz de usuario, responder a las entradas del usuario y comunicarse con la nube. La lógica central y el almacenamiento de datos de la aplicación se colocan en el servidor en la nube, que actúa como función de back-end.

  2. Lógica y datos en la nube: la lógica central de la aplicación, el procesamiento comercial y el almacenamiento de datos se llevan a cabo en la nube. Esto incluye la lógica empresarial de la aplicación, la base de datos, el almacenamiento de archivos, etc. Las aplicaciones en dispositivos móviles se comunican con servidores en la nube para obtener los datos necesarios y realizar las operaciones necesarias.

  3. Interfaz móvil: la aplicación en el dispositivo móvil es la principal responsable de mostrar la interfaz de usuario, recibir la entrada del usuario y pasarla a la nube. Las aplicaciones móviles pueden utilizar tecnologías locales (como componentes de interfaz de usuario nativos o WebView local) para crear interfaces de usuario y, al mismo tiempo, iniciar solicitudes a servidores en la nube a través de solicitudes de red.

  4. Comunicación en la nube: los dispositivos móviles se comunican con los servidores en la nube a través de conexiones de red. Esto se puede hacer a través del protocolo HTTP, WebSocket, etc. La aplicación móvil envía una solicitud a la nube, y la nube ejecuta la lógica de acuerdo con la solicitud y devuelve los datos o resultados correspondientes.

  5. Actualización y mantenimiento dinámicos: bajo esta arquitectura, la lógica central y los datos de la aplicación se almacenan en la nube, por lo que es posible actualizar dinámicamente las funciones de la aplicación, corregir errores o introducir nuevas funciones sin necesidad de que los usuarios actualicen manualmente la aplicación. Esto permite una respuesta más rápida a las necesidades de los usuarios y a los cambios del mercado.

La tecnología de construcción de súper aplicaciones modernas como WeChat, Alipay, Baidu, Meituan, etc. es un concepto similar: pequeño programa + App shell

En comparación con la tecnología tradicional de desarrollo de aplicaciones nativas, la tecnología de subprogramas tiene las ventajas de ser liviana, de desarrollo rápido, multiplataforma, sin instalación y más fácil de usar. Los miniprogramas se pueden utilizar sin que los usuarios los descarguen ni instalen. Al mismo tiempo, el costo de desarrollo de los miniprogramas es relativamente menor, la velocidad de desarrollo es más rápida y es más fácil de mantener y actualizar. La tecnología de subprograma también admite operaciones multiplataforma y puede ejecutarse en múltiples dispositivos móviles al mismo tiempo, lo que amplía enormemente la cobertura de aplicaciones y aporta un mayor valor comercial a empresas y desarrolladores. Algunos de los productos de tecnología de contenedores de programas pequeños más conocidos en el mercado incluyen: programas pequeños WeChat, Alipay, Baidu, Douyin, etc., todos los cuales se basan en la base tecnológica para mejorar la ecología de programas pequeños de las grandes plataformas sociales. y puede proporcionar a terceros para la implementación de la privatización. Hay: FinClip , mPaaS y otros productos. Se entiende que la tecnología de contenedor de programas pequeños desarrollada independientemente por FinClip puede permitir que las aplicaciones empresariales tengan la capacidad de ejecutar rápidamente programas pequeños, y su SDK también puede integrarse en terminales de dispositivos funcionales distintos de las aplicaciones (como Linux, Windows, MacOS , Kirin

Con el vigoroso desarrollo de Internet móvil, las aplicaciones nativas tradicionales y las aplicaciones web se están fusionando gradualmente, y la estructura de von Neumann proporciona una base teórica sólida para ello. Al almacenar la lógica central y los datos de la aplicación en la nube, se logra la separación de aplicaciones, lo que no solo brinda métodos de mantenimiento y actualización más convenientes para los desarrolladores, sino que también brinda a los usuarios una experiencia más liviana. La tecnología de programas pequeños promueve aún más esta tendencia: con su bajo umbral de entrada y sus características de rápido desarrollo, los desarrolladores pueden crear aplicaciones ricas en funciones de manera más flexible.

Sin embargo, el desarrollo de aplicaciones híbridas en la nube también enfrenta algunos desafíos. Es necesario considerar y resolver cuidadosamente cuestiones como la estabilidad de la conexión de red, la seguridad y la privacidad del usuario. Al mismo tiempo, el desarrollo de la tecnología también debe integrarse estrechamente con las necesidades de los usuarios para garantizar que el rendimiento de las aplicaciones y la experiencia del usuario puedan mejorarse continuamente. La integración del almacenamiento en la nube, la tecnología de subprogramas y otros elementos está liderando la nueva tendencia en el desarrollo de aplicaciones móviles. En el futuro, podemos esperar más innovaciones y avances que hagan que el desarrollo de aplicaciones móviles sea más inteligente, conveniente y esté en línea con las expectativas de los usuarios. Tanto los desarrolladores como los usuarios se beneficiarán de esta ola de cambios.

Supongo que te gusta

Origin blog.csdn.net/speedoooo/article/details/132410305
Recomendado
Clasificación