Desarrollo de aplicaciones híbridas
Las aplicaciones híbridas le permiten ejecutar su sitio web móvil dentro de un contenedor nativo. Los contenedores proporcionan cierto acceso a las API del dispositivo, y combina el código de su sitio móvil con una experiencia nativa similar a una aplicación. Estas soluciones empaquetan su código web en un proyecto nativo (XCode, por ejemplo) donde su página web se muestra en una vista web a pantalla completa dentro del proyecto nativo. Este proyecto puede implementarse directamente en un dispositivo o cargarse en la AppStore. Le permite mantener en gran medida una base de código entre su sitio de escritorio, sitio móvil y aplicación móvil.
Hemos cubierto algunas de estas soluciones híbridas en el pasado cuando comparamos Xamarin. Forms to Phone Gap, e Ionic se cubrió en el webcast Intro to Ionic Framework (y ahora también tenemos una guía de configuración de Ionic). Un marco como Ionic aporta un mayor grado de refinamiento a lo que las aplicaciones híbridas pueden ofrecer en términos de apariencia. A los fines de este artículo, generalizaremos nuestra comparación de desarrollo híbrido y nativo, aunque mencionaremos algunas distinciones entre plataformas.
- ¿Ha presentado Apple una aplicación construida con un SDK multiplataforma? ¿De ser asi, cuales?
- Cómo encontrar el código fuente de cualquier sitio web o aplicación móvil
- ¿Cuál es el futuro del desarrollo de aplicaciones móviles en los negocios?
- ¿Cuánto cuesta desarrollar una aplicación como Byju?
- ¿Qué es un SDK móvil?
Ventajas de la aplicación híbrida
Existen muchas ventajas atractivas para el desarrollo de aplicaciones híbridas. Puede apuntar a una gran cantidad de usuarios potenciales con una base de código que se comparte entre su sitio web y su aplicación. Esto también significa que la mayoría del código puede ser escrito por desarrolladores web en lugar de desarrolladores móviles dedicados, lo que significa que esta es a menudo una de las opciones más baratas para desarrollar una aplicación. La mayoría de las herramientas necesarias para el desarrollo híbrido también son de código abierto y gratuitas. Además, una base de código compartida significa que su código es más fácil de mantener y puede crear prototipos rápidamente para muchas plataformas a la vez.
Deficiencias de la aplicación híbrida
También hay algunas deficiencias muy significativas en el enfoque híbrido. La apariencia de estas aplicaciones será diferente a las aplicaciones nativas puras, y las aplicaciones híbridas se verán y se comportarán de manera consistente en todas las plataformas. Esto significa que las aplicaciones pueden desviarse un poco del comportamiento de otras aplicaciones nativas puras disponibles para la plataforma y, por lo tanto, pueden no verse exactamente como una aplicación de iOS o Android. Además, las aplicaciones híbridas no funcionarán tan bien como las aplicaciones nativas. El desarrollo nativo también a menudo tiene muy buena documentación disponible, que es algo que estas soluciones híbridas de código abierto realmente no pueden igualar. Estas aplicaciones se dirigen específicamente a una plataforma que es iOS, Android o Windows Phone y requieren que conozca Objective C / Swift, Java o C #. El diseño de la aplicación generalmente se basa en pantallas individuales que están conectadas entre sí con la navegación entre ellas. La interfaz de usuario puede construirse en un diseñador visual, expresarse en lenguaje de marcado (guiones gráficos / xibs, xml, xaml) o generarse en el código subyacente. Cada plataforma tiene su propia base de código y requiere que se desarrolle en IDE diferentes para cada plataforma.
Ventajas de la aplicación nativa
Una vez más, el desarrollo de aplicaciones nativas tiene algunas ventajas significativas que agruparemos en tres categorías. Primero, el rendimiento de las aplicaciones nativas es la mejor de todas las opciones. Las aplicaciones serán rápidas y, naturalmente, tendrán el aspecto correcto. En segundo lugar, las aplicaciones nativas tienen un mejor acceso a las funciones del dispositivo. Se puede acceder directamente a la mayoría de las funciones y servicios de hardware a través de API bien documentadas. Esto facilita la recopilación de datos del hardware interno, así como también proporciona diferentes características según el hardware y los servicios disponibles. Finalmente, las aplicaciones nativas le brindan excelentes herramientas para el desarrollo y la depuración. Los IDE nativos (ya sea XCode, Android Studio, Eclipse o Visual Studio) ofrecen herramientas poderosas para depurar, crear perfiles y acceder rápidamente a la documentación directamente dentro del IDE. El código nativo también se compila, lo que obliga a un desarrollador a escribir terser, generalmente un código mejor que el que podría ser aceptable en un lenguaje interpretado como JavaScript. Muchos de los IDE también vienen con algún tipo de control de fuente incorporado (generalmente Git), y son lo suficientemente fáciles de usar como GitHub o TFS.
Deficiencias de la aplicación nativa
El mayor inconveniente del desarrollo nativo es el costo. Su aplicación se verá genial y será muy rápida, pero también requiere las habilidades de desarrollador más específicas para escribir. El objetivo de C / Swift, Java y C # y todo el conocimiento que lo acompaña tanto de IDE como de API hace que el desarrollo de este tipo de aplicaciones no sea trivial para aquellos que no tienen mucha experiencia pasada con ellos. Esto probablemente significa que una empresa necesitará contratar a alguien con estas habilidades o permitir que alguien aprenda estas habilidades durante un período de tiempo. Estas habilidades no se superpondrán entre plataformas, ya que un desarrollador de iOS, un desarrollador de Android y un desarrollador de Windows Phone tienen tres conjuntos de habilidades diferentes y trabajan con tres bases de código diferentes. Por lo tanto, el desarrollo de la plataforma nativa requiere que se concentre en una plataforma a la vez o que tenga muchos programadores disponibles para desarrollar cada aplicación en paralelo.
Conclusión
La respuesta a “¿Cuál es mejor?” Es bastante matizado. Las aplicaciones nativas ofrecen la mejor experiencia para el usuario final, pero requieren las habilidades más específicas y son las más caras de desarrollar. Las aplicaciones híbridas tienen una barrera de entrada más baja, son las más baratas de desarrollar y apuntan al mercado más grande, pero no necesariamente capturan la apariencia correcta de lo que los usuarios finales podrían esperar y, en general, no funcionarán tan bien o no rico en funciones Si el costo no es un problema, las aplicaciones nativas ofrecen el mejor producto, pero en escenarios más sensibles al costo, las aplicaciones híbridas aún ofrecen una experiencia convincente (si no tan buena). En última instancia, la respuesta llegará a la empresa, el desarrollador y los usuarios finales sobre qué solución es la más adecuada.
APLICACIONES WEB HÍBRIDAS
APLICACIONES NATIVAS
Déficit
- Necesita contratar desarrolladores JS, HTML5, AngularJS
- Mira y siente estático
- El rendimiento nunca será tan bueno como el nativo
- Las configuraciones específicas del dispositivo pueden requerir trabajo independiente o de consultoría
- Puede faltar documentación
- Alto costo de desarrollo
- Requiere conocimiento de cada idioma que apuntes
- Bases de código separadas para cada plataforma
- Diferentes IDE y herramientas disponibles en cada plataforma
- Requiere conocimientos, habilidades y trabajo adicionales para cada plataforma adicional
Ventajas
- Menos costoso de desarrollar
- Mayor mercado objetivo
- Baja barrera de entrada
- Apunta a la mayor cantidad de dispositivos con la base de código más pequeña
- Crea una aplicación que puede publicar en las tiendas de aplicaciones
- Más fácil de mantener.
- Prototipo muy rápido
- Utilice todas las bibliotecas de JavaScript ya disponibles
- La mejor experiencia de usuario final
- El techo más alto para el rendimiento
- Aspecto natural
- Acceda directamente a las funciones y servicios del dispositivo a través de API
- Proporcione fácilmente interfaces apropiadas según el dispositivo
- Utilice herramientas de IDE, documentación y desarrollo nativas
- Más fácil de depurar y código de perfil
- El producto más preciso para un mercado único.
¿Quiere saber cuánto costará la aplicación móvil? Obtenga el valor estimado.