Hay un interesante artículo escrito sobre esto:
La introducción
Primero de todo algunas estadísticas:
- 79,4% de todos los dispositivos móviles usan Android
- El 16,4% de todos los dispositivos móviles usan iOS
Fuente – Forbes.com
Por lo tanto, esas son las tecnologías en las que me centraré. Como puede adivinar, ambos requieren un enfoque muy individual.
Además, como explicamos en uno de nuestros artículos anteriores, los dispositivos móviles ya están comenzando a dominar el escritorio. Los desarrolladores deberán estar preparados no solo para trabajar con teléfonos inteligentes y tabletas, sino también con varios dispositivos portátiles, dispositivos inteligentes, etc. El desarrollo multiplataforma presenta muchos desafíos, pero también nos permite crear productos aún más impresionantes. Hace que la decisión entre una aplicación híbrida y una nativa sea aún más difícil. Echemos un vistazo a lo que realmente significan esos términos.
Aplicaciones nativas
Las aplicaciones nativas son aplicaciones para teléfonos inteligentes y tabletas desarrolladas precisamente para un sistema operativo móvil específico. Para iOS usualmente usamos Swift y para Android usamos Java o Kotlin (solución de tendencias en este momento).
Debajo de las principales ventajas de las aplicaciones nativas
Gran rendimiento : las aplicaciones nativas se desarrollan específicamente para un sistema operativo determinado (de acuerdo con sus directrices), por lo que son más rápidas y refinadas que sus contrapartes híbridas, lo que las convierte en la combinación perfecta para aplicaciones y juegos de alto rendimiento
Mejor experiencia de usuario: las aplicaciones de Android e iOS tienen algunas características individuales, que se sienten naturales para sus usuarios. Qué significa eso? Los usuarios de Android desde hace mucho tiempo probablemente no tendrán problemas para orientarse en la aplicación que sigue los estándares de IU específicos de la plataforma, al igual que otras aplicaciones que ya usan (navegación, interfaz, etc.). Lo mismo ocurre con iOS.
Acceso más fácil a las capacidades integradas : las aplicaciones nativas no tienen problemas para aprovechar todas las funcionalidades del dispositivo, como: cámara, micrófono, calendario, GPS, etc., mientras que las aplicaciones híbridas solo les otorgan un acceso limitado.
El público : las aplicaciones nativas pueden ser descubiertas más fácilmente por los usuarios en la App Store (obviamente, las aplicaciones con mejor UX se presentan con mayor frecuencia), por lo tanto, llegar a sus clientes potenciales podría ser más fácil.
La conexión a Internet no siempre es imprescindible : según la funcionalidad, las aplicaciones nativas no necesariamente requieren conexión a Internet para funcionar (cuando se trata de aplicaciones híbridas, generalmente es imprescindible)
A continuación, algunos ejemplos de aplicaciones nativas que desarrollamos para nuestros clientes:
elGrocer – el Grocer es una aplicación para Android y iPhone que permite a los usuarios comprar en supermercados cercanos en Dubai (“comprando por artículos” y “comprando en tiendas”) sin cambios en el precio.
WonderWoof – Wonderwoof es una aplicación móvil de Android, integrada con el dispositivo WonderWoof BowTie. Permite a los usuarios crear perfiles personalizados para sus perros, rastrear su actividad (con insignias como premios) y conectarse con otros usuarios.
EasyTalQ: Easy TalQ es una aplicación de Android e iOS desarrollada de forma nativa que conecta a los intérpretes y sus clientes. La aplicación permite a las personas de todo el mundo reservar servicios de interpretación en cualquier idioma durante un tiempo específico.
Aplicaciones híbridas
Las aplicaciones híbridas son básicamente aplicaciones web ocultas detrás de un shell de aplicación nativo. Son multiplataforma y se pueden distribuir inmediatamente entre las tiendas de aplicaciones sin la necesidad de desarrollar dos versiones diferentes para Android e iOS. La mayoría de las aplicaciones híbridas se crean utilizando tecnologías web compatibles con la compatibilidad (HTML5, CSS, Javascript, etc.) y luego se envuelven en una aplicación nativa que utiliza plataformas como Cordova. Gracias a esto, el desarrollo puede ser más rápido, más simple y siempre que necesite que su aplicación esté disponible para una plataforma diferente, Cordova le permite hacerlo simplemente agregando una línea de código.
Dicho esto, debe recordar que el nuevo sistema de permisos de Android (presentado a los usuarios con Android 6.0) requiere un servicio adicional del código nativo también cuando se trata de aplicaciones híbridas, por lo que su programador web también conoce Java o un “programador nativo ”Tendrá que estar involucrado en el desarrollo. Por ejemplo, se le solicitará la primera vez que la aplicación solicite acceso a su cámara (en la versión anterior, el acceso se otorgaba durante la instalación). Es probable que ocurran problemas similares en el futuro, por lo que es algo para lo que debe estar preparado mientras opta por la opción multiplataforma.
Echemos un vistazo a las ventajas de un desarrollo de aplicaciones híbridas:
El costo : el costo reducido de desarrollar una aplicación híbrida en lugar de una aplicación nativa es una de las mayores ventajas de esta solución. No tiene que crear dos versiones separadas para Android e iOS, en su lugar, tiene una aplicación lista para ambas plataformas (suponiendo que no le importe obtener una interfaz similar a la nativa)
Requisitos más bajos : se puede usar un idioma en todas las plataformas disponibles (suponiendo que esté usando el envoltorio Cordova o PhoneGap). Xamarin también podría ser una alternativa muy interesante aquí. Básicamente le brinda todas las plataformas y, en cierta medida, una apariencia nativa, mientras usa solo un lenguaje: C #. No es necesario aprender idiomas específicos de iOS o Android (suponiendo que sepa cómo usar PhoneGap o Xamarin).
Debajo de un par de aplicaciones híbridas que desarrollamos para nuestros clientes:
fTrack Go – fTrack Go es una aplicación de gestión de proyectos multiplataforma disponible tanto en Android como en iOS. Permite a los usuarios rastrear el proceso y el tiempo de producción, involucrar a los clientes en proyectos en curso y mucho más.
Eduvee: Eduvee es una creación de graduados de ingeniería que querían llevar la educación a la era digital. Expuestos a todo tipo de nuevas tecnologías todos los días, quieren que sea accesible para estudiantes y maestros por igual para ayudar a apoyar lo que se enseña en clase.
Nativo vs híbrido
En este momento, debe tener una idea general de las cualidades de las aplicaciones nativas e híbridas. ¿Cuándo elegir cuál entonces? Hay dos factores principales y decisivos: tiempo y dinero disponibles. La aplicación híbrida le ahorrará mucho de ambos: se puede lanzar un código fuente tanto en Google Play como en App Store y requiere menos tiempo para desarrollarse. Suena genial, pero como suele ser, una solución más rápida tiene un precio. En este caso es la experiencia del usuario. Como dije antes, por lo general, el UX de una aplicación nativa superará al de la aplicación híbrida. Hay muchas otras diferencias, así que echemos un vistazo a los contras de ambas soluciones:
Contras de la aplicación nativa:
Dinero : el costo de mantener múltiples bases de código será mucho mayor que en el caso de una única base de código.
Más desarrolladores : por lo general, se necesitarán más desarrolladores, debido al conocimiento específico requerido para desarrollar para ambas plataformas.
Contras de la aplicación híbrida:
UX : una aplicación híbrida nunca brindará a los usuarios una experiencia totalmente nativa. Las aplicaciones nativas usan componentes de la interfaz del sistema que son bien conocidos por los usuarios y también permiten a los desarrolladores crear transiciones y transformaciones descriptivas y significativas que ayudan a mantener el flujo de trabajo. Esto no se puede lograr con una aplicación híbrida sin sacrificar el rendimiento. Una mejor experiencia de usuario significa compromiso y, al final, eso es lo que decide si su base de usuarios crecerá. Recuerde, los usuarios rara vez le dan a las aplicaciones una segunda oportunidad: la primera experiencia es crucial, por lo que UX mediocre simplemente desanimará a sus clientes potenciales.
Falta de algunas características nativas : tanto Android como iOS tienen algunas características que solo están disponibles para sus aplicaciones nativas. Un buen ejemplo es Render Script, motor de cómputo que opera en el nivel nativo, lo que le permite acelerar su aplicación cuando requiere una gran potencia computacional (se usa en muchas aplicaciones de representación de fotos). Después de un tiempo, puede tropezar con un problema que era difícil de prever al principio y que terminará como un obstáculo debido a la tecnología elegida.
Eficiencia : las aplicaciones híbridas suelen ser mucho más lentas y menos refinadas que las contrapartes nativas, por lo que ejecutar aplicaciones y juegos de alto rendimiento puede ser una experiencia frustrante.
Diseño : incluso si el diseño es bueno, todavía no tendrá la sensación nativa, porque está tratando de hacer coincidir una versión con dos plataformas.
Aprobación de la App Store : si su experiencia en la App Store es novata, no se sorprenda, el envío de la aplicación puede ser un camino lleno de baches y un error aparentemente insignificante puede resultar en el rechazo de la aplicación y perder mucho tiempo si no tiene cuidado y viola cualquiera de los Reglas de la tienda de aplicaciones: algunos de los motivos de rechazo de aplicaciones más comunes se pueden encontrar aquí. También puede consultar el tiempo de revisión promedio.
¿Cuál es la respuesta?
En mi opinión, la elección de ser nativo o híbrido debería depender no solo de su necesidad actual, sino también de los planes futuros. Permítanme centrarme en dos escenarios muy populares:
1. Tiene una aplicación muy simple que realmente no necesitará funcionalidades complejas en el futuro (por ejemplo, una aplicación de reserva de entradas de cine).
En este caso, cuando no hay grandes actualizaciones de funcionalidad en el horizonte, la aplicación híbrida puede ser una opción razonable
2. Desea desarrollar un MVP, pero ya tiene una lista de características adicionales que le gustaría agregar en el futuro
En este caso, cuando se espera que la aplicación obtenga más funcionalidades en función de los comentarios de sus primeros usuarios, una aplicación nativa es el camino a seguir.
Como puede ver, hay situaciones en las que las aplicaciones híbridas y nativas pueden ser una solución viable. Sin embargo, soy de la opinión de que Native es en general una mejor alternativa, principalmente porque le brinda opciones mucho más amplias para el desarrollo posterior al MVP.
Hay muchas historias interesantes sobre compañías que cambian de híbrido a nativo, por ejemplo, Facebook. Si desea saber más, haga clic aquí.
Fuente: Native vs Hybrid.
Espero eso ayude.