Depende de la aplicación que esté creando, pero hay un par de razones que hacen que valga la pena escribir una aplicación nativa.
- Las aplicaciones nativas tienen respectivas “tiendas de aplicaciones” que potencialmente aumentan su exposición al mercado. Los usuarios finales están acostumbrados a buscar en las tiendas de aplicaciones nuevas aplicaciones en lugar de ir a un sitio web.
- Hay características que las API HTML5 no pueden proporcionar. El procesamiento en segundo plano es un gran ejemplo. En una aplicación HTML5, una vez que el navegador no esté en primer plano, todos esos trabajadores web se detendrán. Otro ejemplo son las notificaciones push. Si tiene una aplicación HTML5, debe confiar en los sockets web para comunicarse con el dispositivo cliente mientras el usuario tiene una sesión activa. Con las aplicaciones nativas, tiene la capacidad de enviar notificaciones “fuera de banda”.
Si decide escribir una aplicación nativa, parece que debería adoptar el enfoque de “aplicación de envoltura”. Con una aplicación envolvente, puede crear una aplicación de shell y utilizar la vista web de la plataforma correspondiente para mostrar el contenido HTML5 de su aplicación como si fuera un navegador. Si necesita aprovechar las características nativas, puede atrapar eventos de IU desde la vista HTML y transferirlos a una interfaz nativa para su manejo.
Una desventaja de escribir aplicaciones nativas es que tiene una base de código bifurcada (al menos en parte). Tendrás la base de código de tu aplicación HTML5 y Java y Swift. Esto puede ser difícil de mantener. Para aliviar algo de esto, es posible que desee echar un vistazo a NativeScript (aplicaciones móviles nativas con Angular, TypeScript, JavaScript – NativeScript). NativeScript aprovecha JavaScript como lenguaje de fuente única para proporcionar una base de código única que es familiar para los desarrolladores de aplicaciones HTML5. [Nota: Windows Mobile no es compatible actualmente, pero a quién le importa, ¿verdad? :)]
- ¿Hay alguna manera de restablecer un teléfono Android recién comprado?
- ¿Cómo puedo usar aplicaciones de teléfonos celulares en mi computadora portátil?
- ¿Qué teléfono inteligente debo comprar: el HTC One (M8), HTC Desire 816 o Sony Xperia Z2?
- Con el hardware comenzando a parecerse bastante, ¿serán las líneas de batalla finales entre la experiencia del usuario de iOS 8 y Android L?
- ¿Cuándo serían las tabletas un dispositivo de reemplazo para computadora portátil?
Espero que esto ayude. ¡Mucha suerte con tu aplicación!