Red de conocimiento informático - Material del sitio web - Cómo hacer una aplicación híbrida y cómo hacer una tabla de análisis de datos

Cómo hacer una aplicación híbrida y cómo hacer una tabla de análisis de datos

Cómo construir una solución de aplicación híbrida de alto rendimiento

Desde esta perspectiva, debemos considerar cómo obtener paquetes de recursos (css, js, html, imágenes de uso común, etc. ) para reducir estos elementos estáticos por adelantado Solicitudes de recursos de la red para mejorar la velocidad de carga. No hay más que dos puntos:

1. Implantar directamente el paquete de recursos durante la etapa de empaquetado de la aplicación.

2. Descargue paquetes de recursos dinámicamente durante el tiempo de ejecución.

Desde una perspectiva puramente comercial, si tu negocio es lo suficientemente simple, el primer método es completamente satisfactorio. Puede volver a publicar una página cada vez que necesite agregar una nueva. Aunque parezca un poco tonto, no deja de ser satisfactorio.

Pero a largo plazo, debemos intentar ser lo más dinámicos posible. Este es un punto crítico en el lado del cliente y tratar de no depender de las actualizaciones de versiones para lograr dinámica. Para iOS, el mecanismo de actualización

En sí es muy lento y hay que pasar por la aplicación

La reseña de la tienda a veces también depende del personaje, sin mencionar que Es posible que los usuarios no necesariamente la compren y no es necesario actualizar nuestra aplicación. En este caso, la segunda opción sería más amigable.

Proceso de diseño

Entonces, ¿cómo diseñar una solución completa que cumpla con los requisitos de descarga dinámica de paquetes de recursos en tiempo de ejecución?

Excluyendo los detalles, se puede resumir aproximadamente en el diagrama de estructura que se muestra a continuación:

La aplicación interactúa con el servidor

Permítanme explicarles este diagrama. Implementé el protocolo de capa de socket basado en el cliente, por lo que puedo mantener una conexión larga con el servidor y dejar que el servidor envíe datos activamente.

Este protocolo es ahora bastante complejo. De hecho, si no existe tal acuerdo, entonces el cliente necesita encontrar una oportunidad para solicitar activamente el servidor (¿una vez cuando se inicia la aplicación? O cada cierto tiempo, depende de usted. Este artículo toma esto último como una opción). ejemplo.

Permítanme demostrarles el siguiente proceso completo de descarga de un nuevo paquete de recursos:

1. La chica de operación piensa que se acerca un determinado festival y necesita publicar una nueva página, y luego generelo en el paquete de recursos en segundo plano de operación, la configuración se actualizará automáticamente, incluido el paquete de recursos.

Versión, si se debe desactivar por la fuerza la carga de paquetes de recursos locales (la estrategia de degradación evita errores en este componente en sí) y algunos scripts de parches. E implemente el paquete de recursos en

la base de datos remota.

2. En el momento adecuado, el cliente inicia los archivos de recursos estáticos en este sitio web en el archivo local://dsalkfjsldfjalsd/. directorio.

En este punto, se ha completado la descarga del paquete de recursos.

Interceptar y cargar paquetes de recursos locales.

Entonces, con el paquete de recursos, ¿cómo podemos hacer que la aplicación cargue H5 tan rápido como la página nativa?

De hecho, el principio es interceptar las solicitudes H5. Si hay un archivo de recursos estático correspondiente localmente, cárguelo directamente, lo que puede lograr el efecto de "abrir la vista web en segundos".

Para iOS, esto requiere el uso del artefacto NSURLProtocol. A continuación, analicemos qué es y cómo podemos utilizarlo para conseguir los efectos anteriores.

NSURLProtocol le permite redefinir el comportamiento del sistema de carga de URL de Apple (URL

Sistema de carga de URL). Hay muchas clases en el sistema de carga de URL que manejan solicitudes de URL. NSURLRequest, NSURLConnection y NSURLSession.

Al cargar una URL

Cuando utiliza el sistema NSURLRequest para obtener un recurso, crea una instancia de la subclase NSURLProtocol. No debes crear una instancia de uno directamente.

NSURLProtocol, NSURLProtocol parece un protocolo, pero en realidad es una clase y sus subclases deben usarse y registrarse.

_Copiado de Internet

En otras palabras, NSURLProtocol puede interceptar todas las solicitudes de red en la aplicación actual y manejarlas de forma personalizada.

No más tonterías, código:

Una subclase de NSURLProtocol

Aquí solo presentamos los métodos NSURLProtocol relacionados con nuestras necesidades.

Después de hacer tanto, el núcleo son en realidad los primeros cuatro métodos:

(BOOL)canInitWithRequest: solicitud (NSURLRequest*)

La función de este método es determinar si el protocolo actual debe manejar esta solicitud (todas las solicitudes de red van aquí, por lo que solo necesitamos manejar las solicitudes que generamos).

(NSURLRequest*)canonicalRequestForRequest: (NSURLRequest*)request

Este método es realmente muy poderoso. Puede preprocesar la solicitud, como agregar algunas cosas al encabezado. No tenemos nada que cambiar aquí, así que simplemente devuelva la solicitud.

_(Invalid) Comenzar a cargar

El punto clave es este método. Una cosa que debemos hacer aquí es ensamblar httpResponse nosotros mismos y devolverlo a urlload.

Sistema y luego cuando alcances el nivel de vista web recibirás la respuesta. Para webview, la respuesta obtenida al cargar localmente es exactamente la misma que la respuesta obtenida a través de la red.

Entonces, el código anterior muestra cómo ensamblar un httpResponse. Una vez ensamblado, debe llamar a self.client para enviar los datos.

¿Qué es self.client? Esto es en realidad un objeto para la interacción entre el protocolo y el sistema de carga de URL. El sistema nos lo proporciona, por lo que entenderlo es suficiente.

Cabe señalar que los lectores atentos verán un fragmento de código en else:

[nsurlprotocolsetproperty:@YESforKey:wdhybridresourceprocolhandledkeyinrequest:newrequest];

¿Qué es? esto para? La función de else es reenviar proactivamente la solicitud cuando el archivo no existe localmente. En este punto, se volverá a llamar a canInitWithRequest. Si no se establece ningún indicador, será recursivo infinitamente. Entonces ya sabes.

Por supuesto, reenviar la solicitud naturalmente requiere la implementación de NSURLConnectionDelegate.

¿Qué significa desarrollo nativo de APP y desarrollo híbrido?

La aplicación nativa es una aplicación móvil desarrollada utilizando el sistema operativo local del teléfono móvil. Actualmente, los sistemas de telefonía móvil se dividen principalmente en Android y Apple iOS. Ambas partes tienen sus propios lenguajes y herramientas de desarrollo de programación. El desarrollo de aplicaciones nativas consiste en utilizar las herramientas de desarrollo oficiales. Puede realizar muchas funciones y tiene un rendimiento excelente, pero requiere mucha inversión en mano de obra, ciclos largos y alto costo.

HybridApp (Aplicación híbrida) se refiere a una aplicación entre una aplicación web y una aplicación nativa (principalmente Android o iOS). Combina las ventajas de la buena experiencia de interacción del usuario de la aplicación nativa y las ventajas del desarrollo multiplataforma de la aplicación web. Preste atención a un empleo excelente y obtenga más conocimientos de TI.

¿Qué tecnologías tiene la app?

El primer tipo: desarrollo de aplicaciones nativas

El desarrollo de aplicaciones nativas (NativeApp) consiste en desarrollar aplicaciones a través de lenguajes de desarrollo y herramientas de desarrollo lanzados oficialmente por Android o Apple. La aplicación desarrollada puede tener muchas funciones, buen rendimiento, buena experiencia de usuario y buenos efectos de interacción con la página, pero es difícil de desarrollar y requiere desarrolladores de Android e iOS.

Las tecnologías necesarias para desarrollar la versión Android de la aplicación nativa incluyen Android Studio y eclipse. El sistema iOS se desarrolla principalmente a través de Objective-C.

Segundo tipo: desarrollo de aplicaciones web

El desarrollo de software de aplicaciones web simplemente significa desarrollar un sitio web y luego agregarlo al shell de la aplicación. Las aplicaciones web son generalmente muy pequeñas y el contenido es la visualización de la página web dentro de la aplicación. Debido a la tecnología de la página web en sí, hay pocas funciones que se pueden implementar y casi todo el contenido debe recargarse cada vez que se abre, por lo que. La velocidad de respuesta es lenta y es fácil cargar demasiado contenido. Se atasca, la experiencia del usuario es deficiente y el diseño de interacción dentro de la aplicación es muy efectivo. Sin embargo, el ciclo de desarrollo es largo, requiere poco personal técnico y bajo costo.

El desarrollo de aplicaciones web suele utilizar html o html5, CSS3, JavaScript para el desarrollo y el servidor utiliza java, php, ASP, etc.

Tercer tipo: desarrollo de aplicaciones híbridas

La aplicación híbrida (HybridApp), como su nombre indica, es un modelo que utiliza tanto desarrollo nativo como desarrollo web. El desarrollo nativo se utiliza en las partes principales para implementar funciones, interacciones, etc., y el desarrollo web se utiliza en partes no principales para ahorrar tiempo de desarrollo. Entre los dos primeros se interponen las funciones, ciclo de desarrollo, costes, etc. del desarrollo híbrido. Sin embargo, la tecnología de desarrollo híbrido actual es inmadura y el mercado carece de talentos de desarrollo en varios idiomas.

El cuarto tipo: desarrollo de aplicaciones sin programación

El desarrollo de aplicaciones sin programación (aplicaciones SaaS) se basa principalmente en la última plataforma de producción de aplicaciones SaaS sin programación, "Application Park", y utiliza 0 programación, método de producción de aplicaciones modulares y visuales. Esto permite a los usuarios desarrollar y producir software de aplicaciones nativas sin tener que buscar una empresa de desarrollo de aplicaciones, desarrolladores profesionales, conocimientos de tecnología de desarrollo profesional o experiencia en desarrollo de software.

El App Park proporciona a los usuarios cientos de módulos de funciones de aplicaciones desarrollados. Los usuarios pueden elegir el diseño del rompecabezas de las funciones de las aplicaciones según sus propias necesidades y también pueden usar las cientos de aplicaciones de la aplicación. Plataforma Park, creación de aplicaciones con un solo clic, ahorro de costos de más del 90.

¿Qué es la tecnología de desarrollo híbrido?

Desarrollo híbrido (desarrollo HybridApp): se refiere a una aplicación híbrida que utiliza tecnologías de desarrollo nativas y H5 con el fin de mejorar la eficiencia y ahorrar costos al desarrollar un producto App.

Una aplicación híbrida es una aplicación que requiere descarga pero que tiene elementos de navegador integrados en parte o en toda su interfaz de usuario.

Las páginas HTML de aplicaciones híbridas se pueden servir a través de un servidor web, pero esto no es un requisito.

¿Qué software se debe utilizar para desarrollar la APP?

Método de producción de APP:

1. Herramienta de producción extranjera Appmakr.

Esta herramienta es extranjera al principio no era compatible con el chino, pero ahora también es compatible con el chino. También presentaré algunas herramientas de producción nacionales a continuación.

Puedes crear una aplicación sin escribir una línea de código. Appmakr puede ayudar a los usuarios normales que no pueden escribir código a generar sus propias aplicaciones. Usar AppMakr es bastante simple: simplemente inicie sesión en el sitio web, registre una cuenta, arrastre el mouse para personalizar algunos botones y columnas simples, determine el color del diseño, verifique el efecto de vista previa en el simulador en el lado derecho del editor y luego. generar la aplicación.

2. Herramienta de producción nacional AppCan.

.AppCan es una plataforma nacional de desarrollo de aplicaciones móviles que admite el desarrollo de aplicaciones multiplataforma y el desarrollo y operación de HybridApp. Las capacidades de interacción nativa proporcionadas por el motor de aplicaciones AppCan básicamente pueden conectar aplicaciones móviles desarrolladas con HTML5 a la experiencia NativeApp.