Por qué huí de PhoneGap
En ese momento, la empresa decidió elegir PhoneGap como marco central, pero después de trabajar, poco a poco sentí que PhoneGap no era tan bueno como la gente decía, al menos no funcionó tan perfectamente en mi proyecto. .
Desde el desarrollo del proyecto hasta la experiencia general de la interfaz de usuario, los problemas resultantes aún no se han resuelto. Puedes reírte de mí o decir que no sé nada sobre esto, pero no se debe ignorar ningún problema durante el desarrollo de la aplicación.
Desarrollo de proyectos
En el desarrollo de proyectos, se trata principalmente del entorno de desarrollo y la implementación de aplicaciones, pero PhoneGap también tiene algunos problemas en términos de soporte de plataforma terminal y empaquetado de aplicaciones.
1. Compatibilidad con plataformas de terminales
En la superficie, PhoneGap es la que admite la mayoría de las plataformas. Sin embargo, en el proceso de desarrollo real, no importa qué plataforma se desarrolle, excluyendo los objetos de extensión encapsulados en la plataforma, los objetos de extensión que cumplen completamente con los estándares W3C no se pueden ejecutar en múltiples plataformas, por lo que no es realista abarcar múltiples plataformas. Debe implementarse para diferentes plataformas.
2. Entorno de desarrollo
En el proceso de desarrollo de aplicaciones, el entorno de desarrollo es crucial, pero PhoneGap no tiene su propio entorno de desarrollo IDE. El funcionario recomienda algún HTML público de terceros. software de edición (es imposible que los editores de terceros muestren extensiones JS producidas por PhoneGap).
Para los desarrolladores, el desarrollo de PhoneGap no es simplemente desarrollo de html css javascript. Para desarrollar PhoneGap, los desarrolladores deben descargar el entorno de desarrollo, IDE, etc. proporcionados por los siete fabricantes de plataformas anteriores (este sitio web oficial de PhoneGap tiene una introducción). ¡La depuración de la simulación solo se puede realizar después de configurar el entorno! Para los desarrolladores web que nunca han estado expuestos al desarrollo móvil, todavía necesitan aprender cosas nuevas. La barrera de entrada es demasiado alta y la dificultad del desarrollo sin duda aumentará.
3. Empaquetado e implementación
Todos los que han desarrollado aplicaciones saben que se deben desarrollar diferentes SDK de acuerdo con diferentes entornos de desarrollo, por lo que los pasos de empaquetado e implementación son relativamente engorrosos. cada plataforma tiene que operar en un entorno diferente. Recientemente se lanzó el paquete en línea, pero es necesario pagar para usarlo.
4. Implementación de la aplicación
Durante la implementación de la aplicación, las aplicaciones desarrolladas con PhoneGap deben hacer referencia a un paquete JS en la página web para utilizar objetos de extensión locales. Las referencias excesivas a los paquetes JS (como las referencias a JQ) aumentarán la carga del motor, lo que afectará el rendimiento de la aplicación y la experiencia del usuario, y toda la interfaz de usuario depende completamente de html y css para completarse.
No solo eso, webkit e IFrame en teléfonos móviles no admiten el atributo de altura y los estilos CSS no admiten atributos como índice z, posición, desbordamiento, etc., lo que significa que el área de desplazamiento La parte de la página no se puede utilizar en el diseño de página web normal. Para completar, solo puede confiar en JS o UI nativa.
Experiencia de usuario
La experiencia de usuario es la razón por la cual cada aplicación puede sobrevivir y ser aceptada y utilizada por los usuarios durante mucho tiempo. Por lo tanto, existe una cierta brecha en la experiencia de usuario. PhoneGap Aquí me centro principalmente en analizar los problemas del motor PhoneGap:
1. Mala estabilidad de la plataforma
Del código fuente publicado por PhoneGap, podemos ver que es muy fácil. para usar.
A juzgar por el código fuente publicado por PhoneGap y algunas experiencias de aplicaciones desarrolladas con PhoneGap, PhoneGap no se ha probado completa y sistemáticamente, o no se ha adaptado al modelo. Todavía hay muchos errores y muchas aplicaciones tienen restricciones en la plataforma móvil. versión, etc.
Y debido al código abierto, los desarrolladores continúan enviando código, la compatibilidad de varias plataformas y los problemas de compatibilidad entre diferentes versiones de la misma plataforma serán cada vez más importantes en el desarrollo de PhoneGap.
El problema más obvio es la ampliación de la página en la interfaz de usuario. El kit web de la plataforma Android escalará el tamaño de la página web de 0,75 a 1,5 veces para ajustarse a la pantalla según la resolución y densidad de la pantalla del dispositivo móvil. En otras palabras, sin cambiar la proporción de escala del webkit, si la página web dice ancho: 10px, dicho contenido en realidad puede convertirse en 10*1,5; Al mismo tiempo, en una página con un cuadro de entrada, una vez que se selecciona el cuadro de entrada, la página se acercará nuevamente inmediatamente y no se puede retraer después de acercar, lo que provoca que el efecto de la interfaz de usuario que el usuario ve sea muy diferente del el efecto que el desarrollador espera ver.
2. Poca adaptabilidad a los terminales de los fabricantes nacionales.
Las funciones existentes de PhoneGap tienen muchas imperfecciones. Por ejemplo, en la función de posicionamiento, cuando GPS, GPRS y WIFI están apagados, el sistema no puede obtener la ubicación geográfica de acuerdo con la configuración de posicionamiento de la red (está conectado a WIFI en los teléfonos móviles domésticos). Los fabricantes a menudo fallan o funcionan incorrectamente, por lo que la experiencia del usuario es deficiente.
3. No se admiten retrasos de animación ni ventanas múltiples.
En la interfaz de usuario general, el proceso de desarrollo de PhoneGap solo existe en una ventana de principio a fin, es decir, todas las páginas web. ejecutar en esta ventana, como cambio de ventana, escenas, etc. Algunos efectos de animación que se pueden lograr usando JS y CSS3 son muy ineficientes y se limitan a la página web actual, al menos en esta etapa. En lo que respecta a la página web actual, al menos en esta etapa, esta situación se produce porque la configuración del hardware de algunos dispositivos no se ha mantenido al día. Además, los fabricantes de dispositivos terminales IOS son desiguales, lo que dificulta asegurarlo. Las aplicaciones se pueden ejecutar en varias plataformas. Todas funcionan bien, por lo que la experiencia del usuario no es excelente.
4. El efecto de retraso de la interfaz de usuario no es bueno y es fácil fallar.
A juzgar por la arquitectura de código fuente abierto de PhoneGap, el propio mecanismo de PhoneGap provocará un cierto retraso en la interfaz de usuario. Sin cambiar la situación actual, este problema es inevitable según la estructura. Por ejemplo, la velocidad del sensor es obviamente demasiado lenta, el tiempo de devolución de llamada para encender la cámara para tomar fotografías es demasiado largo, etc. Todos estos son impactos en el rendimiento en páginas web muy simples. PhoneGap en sí se basa en una arquitectura estratégica de código abierto (que favorece que los desarrolladores expandan las funciones hacia arriba) y ha trabajado mucho en el nivel JS. El desarrollo de PhoneGap en iPhone o Android no extendió el JS de su propia plataforma específica. , pero se utilizan subprocesos para dormir, pausar el temporizador del navegador, etc. para obtener devoluciones de llamada, lo que provoca directamente retrasos. Además, como en el caso de la interfaz de la cámara, lo que PhoneGap devuelve al usuario no es una cadena similar a la dirección de almacenamiento del archivo, sino una foto binaria enviada al usuario. Esto hace que la operación consuma mucho tiempo y recursos. y en el caso de imágenes grandes, la aplicación puede fallar con una excepción OutOfMemorySize.
Tal vez estos problemas no sean un problema en su equipo, pero son especialmente problemáticos en equipos que no tienen tantos recursos. Además, no se pueden ignorar varios detalles durante el proceso de desarrollo de la aplicación. La búsqueda de aplicaciones perfectas debe comenzar con los detalles. Aunque PhoneGap puede realizar muchos desarrollos de aplicaciones multiplataforma, los desarrolladores, especialmente los coordinadores de proyectos, deben pensarlo dos veces antes de elegir un marco.