¿Cuáles son los mejores marcos de JavaScript móviles y por qué?

Entre el campo actual, que es bastante grande, creo que hay dos que no se pueden ignorar. Si estuviera a punto de comenzar con una nueva aplicación móvil, definitivamente elegiría uno de estos:

React Native : utiliza el mismo diseño que React, lo que le permite componer una interfaz de usuario móvil rica a partir de componentes declarativos. Use JavaScript para construir verdaderas aplicaciones móviles nativas. ¿Por qué reaccionar nativo?

  • Como se mencionó, está creando verdaderas aplicaciones nativas con una base de código. No es una aplicación híbrida ni una aplicación progresiva.
  • Ejecute un nuevo código mientras conserva el estado de su aplicación con una función llamada recarga en caliente ( más aquí ).
  • Más rápido que otras opciones multiplataforma.

Ionic : es un SDK móvil gratuito y de código abierto para desarrollar aplicaciones web nativas y progresivas con facilidad. Al igual que otros, solo necesitará HTML, CSS y JavaScript (con algunos Angulares) para crear fácilmente hermosas aplicaciones móviles. ¿Por qué iónico?

  • Probablemente el más fácil de aprender, por lo que es una gran opción para el desarrollador menos experimentado.
  • Se ve muy bien en todos los dispositivos y aún tiene buena velocidad.
  • Excelente comunidad y documentación. Nuevamente una gran ventaja para el nuevo desarrollador.

Si está interesado en consultar cualquiera de estas tecnologías, aquí hay dos buenos artículos para comenzar:

  • Meeting React Native
  • Crear una aplicación de búsqueda de YouTube con Ionic 2

Todavía no se ha decidido entre Sencha Touch y dojox.mobile (el subconjunto móvil “oficial” del Dojo Toolkit), pero será uno de los dos. Ambos cuentan con una arquitectura limpia y flexible que es fácil de mantener y ampliar. Ambos se centran en los paradigmas de desarrollo de aplicaciones en lugar de la mejora del sitio web u otros enfoques centrados en la presentación. Ambos ofrecen capas de datos integrales que se conectan automáticamente a los widgets (y también son extensibles).
En general, ambos están bastante a la par. Sin embargo, hay algunos pros y contras en ambos que aún no he evaluado (y, por supuesto, todos considerarían cada punto de manera ligeramente diferente):
Profesionales de Sencha Touch:

  • Buena documentación completa
  • Fácil de comenzar (cuando generalmente está familiarizado con los marcos de la GUI de OOP)
  • Con doble licencia: licencia comercial gratuita o GPLv3 con exenciones para otras licencias OSS populares
  • Funciona bien en el kit web de escritorio, como Chrome (para realizar pruebas fácilmente)
  • Buen rendimiento de la interfaz de usuario
  • Componente MVC dedicado integrado
  • Mensajes de error razonables que son realmente útiles para la depuración

Contras de Sencha Touch:

  • Es posible que se retire la licencia comercial gratuita y las versiones futuras pueden costar una tarifa de licencia en el futuro (sucedió antes con ext / js), pero esto es especulación de mi parte
  • Gran huella inicial, todos los componentes y temas están empaquetados en un gran paquete de distribución. Sin embargo, puede hacer compilaciones personalizadas, pero aún no he encontrado documentación para eso.
  • Algunas partes de la documentación parecen anticuadas debido al rápido progreso del desarrollo (las API descritas aún funcionan, no obstante)

Profesionales de dojox.mobile:

  • Fácil. Sistema de compilación completo: empaque solo los componentes que necesita, la huella depende de sus necesidades
  • Rendimiento razonable de la interfaz de usuario
  • Licencia flexible BSD / AFL
  • Libre elección de estilos de programación: creación rápida y sencilla de prototipos con marcado declarativo, estrictamente programático o una combinación de ambos
  • Funciona principalmente en Webkit de escritorio, pero no solo tan bien como Sencha
  • Potente arquitectura de componentes, fácilmente extensible y personalizable, fácil de incluir componentes propios en compilaciones personalizadas.

contras de dojox.mobile:

  • Escasa documentación, para algunos componentes, incluso ninguno. Este problema se hereda del Dojo Toolkit principal. Últimamente, agregaron una serie de tutoriales nuevos realmente buenos para el kit de herramientas principal e incluso para dispositivos móviles: el tiempo dirá si pueden mantener las cosas actualizadas a medida que avanza el desarrollo.
  • Curva de aprendizaje empinada, aunque los nuevos tutoriales ayudan en comparación con lo que tenían antes
  • Los mensajes de error de las excepciones a menudo no ayudan, lo que hace que los errores sean difíciles de encontrar. Los errores de renderizado son una pesadilla para depurar (de nuevo, heredados del kit de herramientas principal)

Tenga en cuenta que todavía estoy empezando a explorar estos marcos, por lo que la información anterior puede considerarse como “primeras impresiones”. También tenga en cuenta que hasta ahora he trabajado más con Sencha Touch y solo hice muy pocos experimentos rápidos con dojox.mobile, por lo que la mayoría de los inconvenientes provienen de mi experiencia con el kit de herramientas principal de Dojo, que utilizo para todo mi escritorio trabajo.