¿Es mala idea usar JavaScript para el desarrollo de Android?

En muchos casos, lo es. El problema puede ser uno de rendimiento, debido a la capa adicional, caso explorado en profundidad por Drew Crawford: por qué las aplicaciones web móviles son lentas. Después de leer, puede pensar que el artículo está desactualizado, pero el hecho es que hay muchas características que no se adaptan bien a la forma actual en que se desarrollan las aplicaciones HTML, como animaciones, tareas intensivas del procesador, acceso a WebGL API, por nombrar algunos. Las aplicaciones modernas cuentan con animaciones para enriquecer la experiencia del usuario e indicar algunos comportamientos de la aplicación sin la necesidad de implementar instrucciones textuales.

Otro problema es el acceso a ciertas API del sistema, como servicios y tareas en segundo plano, que generalmente deben desarrollarse en código nativo. En React Native, por ejemplo, no hay soporte: [Discusión: Temporizadores] Ejecución en segundo plano y semántica de pedidos · Problema # 167 · facebook / react-native, por lo que será más difícil crear funciones que dependan de un temporizador para alertar El usuario de algo.

No me malinterpreten, si necesita desarrollar una aplicación simple, que pueda funcionar bien sin algunas API de sistema avanzadas, tal vez algún tipo de MVP para su inicio, estos marcos pueden acortar el tiempo de desarrollo, darle tiempo para resolver otros cosas, como el backend y la estructura de la base de datos, y así sucesivamente … Pero, a la larga, es posible que te encuentres migrando a un desarrollo nativo completo, ya que las penalizaciones de rendimiento te afectan más.

No si está utilizando un entorno de desarrollo multiplataforma.

El desarrollo híbrido generalmente implica Cordova / PhoneGap, a veces con Ionic Framework en la parte superior. Debe tener cuidado al utilizar las mejores prácticas para el desarrollo móvil. Algunas personas escriben aplicaciones híbridas como si fueran sitios web de escritorio, y las personas también han estado haciendo que los sitios de escritorio sean demasiado pesados ​​y lentos.

Pero hay otros tres entornos JavaScript que le brindan aplicaciones nativas (no híbridas).

  • NativeScript
  • Reaccionar nativo
  • Tabris.js

Estos están en el orden aproximado que recomendaría probarlos, aunque React Native tiene la comunidad más grande de los tres.

Los tres te dan aplicaciones rápidas con componentes nativos. Ya hay algunas buenas razones para escribir aplicaciones en idiomas nativos.