Híbrido tiene significado, y no es lo mismo que “escribir una vez, correr en todas partes”.
Híbrido significa que la aplicación se ejecuta en una vista web. Eso significa que se procesa en una página web que está incrustada en la aplicación.
Cordova / PhoneGap es híbrido. Hay algunas otras soluciones que son híbridas, pero han disminuido en popularidad.
- Cómo desarrollar un dron
- ¿Cómo funciona Xamarin?
- ¿Qué herramienta de estructura de alambre puedo usar para el desarrollo de aplicaciones móviles?
- ¿Un desarrollador del lado del cliente necesita Backend como servicio?
- ¿Cómo difumina el programador la pantalla?
Las aplicaciones híbridas no usan controles nativos. Eso no importa para muchas aplicaciones, pero es más fácil obtener una optimización sólida de los controles nativos que una vista web. El verdadero problema es que es fácil destruir el rendimiento de una aplicación híbrida al no diseñar para el rendimiento. Si obtiene megabytes de bibliotecas de JavaScript de manera indiscriminada y no codifica con ningún conocimiento de cómo escribir páginas web optimizadas, puede terminar con un desastre de rendimiento.
React Native tampoco es “escribir una vez que se ejecuta en todas partes”. Lo describen como “aprender una vez, escribir en cualquier lugar”. Por lo tanto, una desventaja de React Native es que necesita ajustar la interfaz de usuario para cada plataforma. Pero React Native usa controles nativos y tiene un gran rendimiento.
NativeScript también utiliza controles nativos y puede acceder a las API nativas directamente desde JavaScript. También es rápido y se escribe una vez, se ejecuta en cualquier lugar.
Xamarin es como NativeScript, pero con C # en lugar de JavaScript / TypeScript. Y C # se compila en código nativo, por lo que obtienes la velocidad nativa completa.
Los inconvenientes de los últimos tres son:
- Como consultor, no puede cobrar tanto como con el desarrollo nativo.
- Si su equipo tiene experiencia con nativos, necesitan aprender una nueva plataforma.
- Algunos SDK pueden ser un poco más difíciles de integrar, ya que los documentos se escribirán para nativos.
- Para ciertos tipos de aplicaciones, es posible que desee que sean lo más pequeñas posible. Puede producir una aplicación más pequeña con nativa.
Realmente estoy teniendo dificultades para encontrar otras desventajas. El rendimiento es perfecto en la mayoría de los entornos de desarrollo multiplataforma.