“Común” es un término relativo, pero sí, se hace de manera rutinaria para proyectos de menor escala.
Uno de los marcos más comunes para hacer eso se llama Cordova. Resume la mayoría de las capacidades nativas en una capa de WebViews que ejecutan HTML, CSS y JavaScript para permitir que se ejecute una sola base de código en dispositivos Android e iOS.
¿Es ideal? Absolutamente no por un par de razones.
- ¿Cómo se aplica la Ley de Little al software?
- ¿Existe un software que pueda traducir mangas?
- ¿Qué tipo de empresa de big data / analytics podría comenzar y qué pasos debo seguir?
- ¿Cómo pasar de un programador 1x a un programador 10x?
- Cómo probar no solo la sintaxis sino también la lógica de un diagrama de clase
Primero, las aplicaciones móviles HTML / JavaScript nunca pueden tener un aspecto totalmente nativo; sabes que no son nativos.
El segundo es el rendimiento! JavaScript es un lenguaje interpretado, por lo que generalmente puede olvidarse de los juegos en 3D.
En tercer lugar, la gente! La mayoría de los desarrolladores móviles que conozco (y sé que muchos) odian absolutamente trabajar con esas plataformas de terceros y prefieren escribir código nativo en dos plataformas que luchar con algo como Cordova. Sin embargo, esto puede no ser tan cierto hoy como lo fue hace unos años …
Diría que probablemente esté bien si está escribiendo una aplicación simple que muestre / ingrese algunos datos de alguna base de datos, pero buscaría en otra parte sofisticadas interfaces de usuario o aplicaciones sensibles al rendimiento.