MEJORES FRAMEWORKS DE JAVASCRIPT

Frameworks javascript

Antes de empezar a hablar de los mejores frameworks de JavaScript, es importante tener presente que siempre será mucho mejor conocer primero el lenguaje como tal, que ir directamente a aprender un framework.

Todos los que estamos en el mundo de la web sabemos que conocer JavaScript es de suma importancia. Decir esto ahora, hasta queda anticuado y obsoleto, puesto que JavaScript ha escalado tanto que ha saltado de la web, y ahora lo puedes ver hasta en sistemas embebidos, app mobile e IoT.

Sin duda alguna, algo que hizo que JavaScript diera el gran salto fue NodeJS, hasta antes de eso, JavaScript, solo era usado para hacer páginas web interactivas con librerías verdaderamente interesantes como JQuery.

Hasta hace pocos años no se pensaba que se podrían hacer aplicaciones robustas del lado del front end, completamente separado de los lenguajes del servidor como PHP, JAVA, C#, RUBY, Python, etc.

Ahora con NodeJS parece que nada tiene un límite, hasta puedes programar placas en arduino, aplicaciones móviles, desarrollar un back end completo y robusto, aplicaciones para Iot, etc. Todo esto solo con JavaScript, no sé si otro lenguaje te puede ofrecer lo mismo y con la misma simplicidad.

A continuación te voy a presentar cuales son los frameworks de Javascript a tener en cuenta si quieres crear aplicaciones web profesionales.

ANGULAR

Angular fue una de las razones por las que desarrollar aplicaciones en el front end se hizo divertido.

Desde la llegada de angularJS crear SPA(single page applications) dejó de ser un dolor de cabeza, con el two-way data binding simplificó mucho el trabajo del desarrollador e hizo hincapié en el patrón MVC, con los services, models y controllers, con lo que se pudo organizar mejor la arquitectura de la capa de presentación de la aplicación.

Pero Microsoft y Google decidieron unir TypeScript y AngularJS, para lograr un framework mucho más robusto, que cumpliera con los estándares de JS, la orientación a componentes que Polymer y ReactJS ya utilizaban y algunas características que un framework para aplicaciones empresariales debe tener.

Entonces AngularJS o Angular 1.x fue reemplazado por Angular 2 que ahora va en la versión 7, el cual trajo consigo muchas ventajas, como el mismo TypeScript, que no es tan dinámico como JavaScript pero hace que puedas escribir un código más confiable, ya que tiene características de un lenguaje tipado y si conoces un lenguaje como JAVA o C# seguro que se te hará fácil aprenderlo y aplicar la orientación  a objetos que antes no se podía y desde el ES6 se puede simular, pero no aplicar en su totalidad.

Uno de los pocos puntos débiles de Angular y de cualquier otra aplicación client side es el SEO.

Los que andan en el mundo del marketing digital saben que las SPA son muy difíciles de indexar, dado que rastreadores de contenidos de los motores de búsqueda como Google, Bing, etc. Se basan en encontrar contenido hecho en html y las páginas creadas con JS no son bien leídas.

En AngularJS para mitigar este problema se usa prerender.io, pero desde Angular 2 ya viene integrado Angular Universal, lo que hace que el servidor ejecute tu aplicación de Angular y sirva páginas html, con esto se mejora el SEO.

Otra de las cosas tediosas en AngularJS era que necesitabas un kid de herramientas, para ciertas tareas para dejar lista tu aplicación para producción, tareas como  minificado, ofuscado de código, etc. Ahora todo eso lo hace Webpack.

Sin duda Angular te permite crear aplicaciones empresariales robustas, aunque la curva de aprendizaje es medianamente grande, si la aplicación que estas pensando desarrollar tiene el potencial de crecer, creo q Angular debe ser el framework a tener en cuenta. 

Pero esto no queda en la web, con angular también puedes construir aplicaciones móviles, aunque no sean nativas vaya que te ahorraría un montón de tiempo en crear la version móvil con solo hacer algunas configuraciones a tu aplicación web.

Como estas aplicaciones móviles son híbridas, tampoco se puede pedir que tenga una performance como la de una nativa hecha en JAVA, Kotlin o Swift. 

Yo recomiendo crear la aplicación móvil con Angular en el caso de que no se necesite gran rendimiento, acceso a hardware como cámara, gps, etc puesto que se puede complicar si quieres hacer cosas avanzadas con esas partes del hardware.

Pero si es una aplicación pequeña, no le des mucha vuelta, y crea tu aplicación móvil multiplataforma en tiempo record.

REACT JS

React no es un framework como tal, mas bien es una librería, pero que librería!!, Facebook lo creó y lo mantiene, por lo que es una garantía para el desarrollador.

Como se puede ver en la página de facebook, el propósito de ReactJS es crear interfaces web dinámicos y reutilizables basados en componentes.

Un ejemplo es la caja de comentarios de facebook, que es un componente que solo se crea una vez y luego se crean instancias las veces que sean necesarias.

Es  una librería muy versátil y liviana en comparación con Angular, además de poseer un DOM virtual que está cargado en memoria, lo cual hace que tenga una fluidez impresionante cuando se ejecuta alguna acción. 

Se puede construir SPA(Aplicaciones de una página)?

Claro que sí, aunque ReactJS es una librería creada para implementar la vista de la web, integrándolo con otras librerías es posible crear una SPA, para manipular estados, rutas, consultas a API Rest, etc.

En el caso de hacer SPA también se tendrá el problema de indexado de la pagina web, para esto se puede utilizar la librería Next.js.

ReactJS es un proyecto muy ambicioso que quiere posicionarse en las diferentes plataformas como el mismo dueño de Facebook lo dijo, con ReactJS también  puedes crear aplicaciones móviles nativas, aplicaciones para IoT, etc.

Con respecto a las aplicaciones móviles, solo decir que si bien es cierto que con React Native puedes crear aplicaciones móviles de gran calidad, yo recomendaría usarlo en aplicaciones que no vayan a escalar mucho en el futuro.

Es posible crear aplicaciones móviles con similares características a las nativas, pero recuerda que las aplicaciones nativas tienen mejor performance, dado que hay más facilidad y fluidez en el desarrollo con un lenguaje nativo, ya sea en el uso del hardware, aspectos avanzados en el uso de los recursos, etc.

Esto mismo lo ha experimentado Airbnb que después de años tuvieron que migrar, pero no lo hacen por que React Native sea malo, sino por las necesidades inherentes a su modelo de negocio como Gabriel Peal miembro del equipo de desarrollo lo explica en esta serie de artículos.

VUE JS

VueJS es un framework creado por Evan You, quien fuera parte del equipo de AngularJS, sacó lo que consideraba mejor en AngularJS para crear VueJS.

Es por esto que VueJS tiene muchas similitudes con AngularJS, pero obviamente tiene las cosas que angularJS no tenía, la arquitectura basada en componentes por ejemplo.

De estos tres frameworks VueJS es el más ligero, lo que hace que la carga de tu aplicación sea muy fluida, y la curva de aprendizaje es mucho más corta en comparación con ReactJS y Angular.

VueJS te sirve tanto si quieres hacer SPA o aplicaciones server side.

También en el tema de SEO tienen una librería que ayuda a mejorar la indexacion en los motores de búsqueda, con Nuxt.js se puede lograr eso. 

Te estarás preguntando si también se pueden hacer aplicaciones móviles con VueJS, la respuesta es SI, con el proyecto llamado Vue Native, pero no está maduro como Angular o React Native.

El tema de los frameworks de Javascript en la web es muy amplia, estos frameworks son los más usados, con grandes comunidades pero no son los únicos, existen diferentes frameworks muy buenos como Aurelia, del cual sus seguidores se jactan de utilizar el framework que está a años luz de los demás, será cuestión de otro post analizarlo.

También está Polymer, quizás el primero que  implementó los estándares como arquitectura basado en componentes, etc. No podemos dejar de lado a Backbone.JS y Ember.js que son más antiguos en este rubro, que también tienen sus comunidades aunque más pequeñas pero muy activas.

Todos estos frameworks permiten crear aplicaciones realmente robustas y multiplataforma, o como ahora se les llama aplicaciones web progresivas.

Al final del día todos estos frameworks solucionan casi los mismos problemas de diferentes maneras, ninguno es mejor, como profesionales debemos utilizar el que represente una mejor alternativa para solucionar un problema en específico.

Summary
Review Date
Reviewed Item
►MEJORES FRAMEWORKS DE JAVASCRIPT
Author Rating
51star1star1star1star1star
Social Media Auto Publish Powered By : XYZScripts.com
×