La descripción general de los marcos de JavaScript: ¿Cuál elegir para su proyecto?

Hace diez años, las empresas que querían crear proyectos multiplataforma tendrían que cooperar con diferentes equipos de desarrollo y expertos. Sin embargo, 2009 ha cambiado el juego, porque los desarrolladores de Nitobi (más tarde comprados por Apache) presentaron Cordova , un marco nuevo que fue capaz de convertir aplicaciones web en sistemas móviles. Al vincular las API de los dispositivos a través de complementos, los desarrolladores podían acceder a teléfonos inteligentes y tabletas. Cordova es una tecnología basada en JavaScript compatible con varias plataformas.

En esta guía, revisaremos otros tres sistemas impulsados ​​por JS, veremos sus características únicas y las compararemos.

Aplicaciones móviles: tipos y características


Pero comencemos con algunas cosas básicas. Para los desarrolladores, no hay ningún secreto en que las aplicaciones pueden ser nativas o híbridas. Queremos cubrir brevemente lo que significan estos términos y cómo difieren.

Las aplicaciones nativas son aquellas creadas usando un idioma nativo para una única plataforma específica (por ejemplo, Kotlin - para Android; Objective C - para iOS). El desarrollo de productos de software nativos es costoso ya que debe diseñar una aplicación completamente nueva para cada plataforma por separado. Al mismo tiempo, estas aplicaciones pueden ayudar a ciertos sistemas a desarrollar todo su potencial.

El segundo tipo son las aplicaciones híbridas. Como regla general, se basan en lenguajes uniformes y son compatibles con diferentes sistemas operativos. Son más baratos de construir, ya que puede utilizar un conjunto de herramientas universales para todos los sistemas. Sin embargo, los usuarios suelen interactuar con aplicaciones híbridas a través de WebView o navegadores. Por lo tanto, son más lentos y tampoco pueden proporcionar la misma experiencia de usuario que las aplicaciones nativas, ya que carecen de características específicas de la plataforma.

Dado que los productos híbridos a menudo dependen de los marcos de trabajo JS, revisémoslos y descubramos cómo pueden ayudar durante el desarrollo.

Onico


Fue lanzado en 2013 y diseñado para diseñar aplicaciones utilizando tecnología simple como JS, HTML5 y CSS. Los productos creados con Ionic funcionan con plataformas móviles, de escritorio y en línea.

Tenga en cuenta que esta herramienta se centra en la interfaz de usuario en lugar de las soluciones de fondo. Para desarrollar productos con Ionic, aún necesita herramientas adicionales como Cordova para envolver el código. Por ahora, el conjunto está integrado con Angular, mientras que las extensiones para Vue y React están en desarrollo.

Los programas impulsados ​​por Ionic se ejecutan en navegadores de bajo nivel y hacen uso de las funciones del dispositivo como GPS o cámara. Como ejemplo de aplicaciones iónicas, nos gustaría destacar el producto MarketWatch oficial y la versión turca de la aplicación McDonald's.

Nativecript


El siguiente marco de código abierto con tecnología JS se lanzó un poco más tarde que Ionic. Los autores crearon NativeScript en 2014 con el propósito de diseñar aplicaciones nativas a través de JavaScript u otro lenguaje uniforme como TypeScript. También funciona con Angular y Vue. Los productos finales son los mismos que los creados a través de marcos nativos. Además, los desarrolladores pueden utilizar bibliotecas de terceros sin herramientas de ajuste de código.

Para transformar los elementos JS en elementos comprensibles para las API de los dispositivos, NativeScript utiliza puentes, tiempos de ejecución para las interacciones entre las interfaces y el código. Técnicamente, es posible gracias a JS Virtual Machines (por ejemplo, V8 para Android y JavaScriptCore para iOS). Entre los productos creados con este marco, debe verificar las aplicaciones para PUMA y Strudel.

Reaccionar nativo


Fue lanzado en 2013, pero se convirtió en código abierto en 2015. React Native es una herramienta bien conocida para lanzar aplicaciones nativas, según los usuarios de GitHub. Obviamente, el sistema se basa en la biblioteca React que se centra en el diseño de interfaces de usuario, pero React Native también tiene muchos widgets que ayudan a los desarrolladores a ofrecer una experiencia nativa.

Básicamente, el sistema transforma su código en un conjunto de vistas nativas para plataformas. Digamos que convierte los módulos de texto iniciales en UIView para iOS y en TextView para Android. Por lo tanto, podemos acercar el diseño al nativo en lugar de iniciar aplicaciones en las vistas del navegador.

React Native es muy popular e incluso los desarrolladores de Facebook lo usan (por ejemplo, para crear nuevas funciones como Wellness Check). Además, grandes empresas como Bloomberg, Tesla y Vogue usan esta herramienta.

Tabla de comparación


Ya es hora de comparar los tres sistemas descritos para revelar cuál es el más adecuado.

1. Usabilidad y rendimiento


En primer lugar, debe encontrar el marco que satisfaga perfectamente sus necesidades. Implica, la elección dependerá en gran medida de la industria en la que desee ingresar. Así:

  • Ionic es maravilloso para las aplicaciones web progresivas y tiene la mejor reutilización. En pocas palabras, significa la idea Escribir una vez, Ejecutar en todas partes.
  • NativeScript maneja aplicaciones más complicadas con un enfoque en UX / UI, por lo que es maravilloso para crear aplicaciones móviles y otros productos.
  • React Native tiene el mejor rendimiento y es perfecto para aplicaciones que dependen de la velocidad. Tiene peor reutilización y sigue la idea de Aprender una vez, escribir en todas partes.

2. Widgets


Preste atención a este punto si desea implementar varias extensiones:

  • Iónico Muchas aplicaciones y widgets, incluidos Google Maps.
  • NativeScript Admite numerosas extensiones: hay casi 1000 de ellas.
  • Reaccionar nativo. No tiene un mercado separado, pero funciona bien con aplicaciones de terceros.

3. Popularidad


Sin duda, React Native es el ganador cuando se trata de popularidad. Tiene más de 1700 colaboradores, mientras que Ionic y NativeScript cuentan con 272 y 119, respectivamente. La comunidad de desarrolladores prefiere usar React Native para diversas tareas, independientemente de su poca reutilización.

4. Dificultad


Aquí, todo depende de tu experiencia tecnológica. Ionic será simple para casi todos porque ofrece un enfoque más comprensible para la codificación. Además, hay muchas guías para leer sobre este marco. NativeScript y React Native son bastante similares. Si conoce JavaScript, será más fácil comenzar con estas herramientas.

¿Qué marco elegir?


En general, debe describir sus requisitos exactos para seleccionar la mejor herramienta. Aunque estos marcos se centran en la creación de aplicaciones para teléfonos inteligentes / tabletas, tienen diferentes enfoques y especificaciones. Por ejemplo, Ionic es simple y flexible, pero no puede manejar proyectos con requisitos gráficos avanzados. React Native presenta un rendimiento realmente alto, pero te obliga a diseñar una nueva interfaz de usuario para cada plataforma. Finalmente, NativeScript es relativamente rápido, pero las aplicaciones requieren mucho espacio en su dispositivo. ¡Elige sabiamente!

Source: https://habr.com/ru/post/440992/


All Articles