React es una librería de JavaScript para construir interfaces de usuario con componentes. Trabaja junto a muchas otras herramientas para crear aplicaciones web completas.
Vue.js es un framework progresivo. Nos permite integrarlo poco a poco en nuestras aplicaciones web hasta llegar al 100% y aprovechar todo su potencial (junto a todo su ecosistema).
Angular es un framework para desarrollar una aplicación web moderna de 0 a 100 con (casi) todas las funcionalidades que podrían necesitar y (casi) sin ayuda de otras herramientas extra.
Svelte es un compilador. No se considera tanto un framework o una librería, sino una herramienta donde escribimos todo nuestro código frontend que se convertirá en JavaScript muy optimizado.
Hacer comparaciones entre frameworks y librerías no es del todo justo.
Una librería es inevitablemente más fácil de aprender que un framework por tener un rango de funcionalidades mucho más pequeño. Y un framework es inevitablemente más robusto precisamente por lo contrario, abarca un montón de funcionalidades de las que una librería no se hace responsable, sino que delega a alguna otra librería.
En este blogpost analizaremos las características, ventajas, desventajas y diferencias entre estas 4 herramientas. Pero no de forma independiente, sino en conjunto con su ecosistema de herramientas relacionadas más cercanas y populares.
¡Que empiece la batalla entre las 4 herramientas más populares del desarrollo frontend!
Aprende a usar todos estos frameworks y más con los cursos full stack developer en Platzi.
No existe. La elección es completamente tu responsabilidad dependiendo de tus ambiciones profesionales y el proyecto que piensas desarrollar.
Aprende React.js y su ecosistema principal de tecnologías en la [Ruta Profesional de JavaScript](Escuela de JavaScript), el camino más corto para convertirte en Full Stack Developer.
Aprende Vue.js o Svelte. Incluso React.js. Su sintaxis es mucho más familiar (y menos aterradora) para personas que conocen HTML y poco a poco va incrementando su dificultad en JavaScript.
En comparación, React requiere un poco más de conocimiento en JavaScript para empezar. Y Angular desde el principio va a hacerte sufrir amargamente (con muchos beneficios a largo plazo, pero también algunos traumas al inicio).
Rendimiento es un concepto un poco… difícil de definir.
Te mentiría si digo que X ofrece el mejor rendimiento porque esos resultados cambiarán con cada nueva versión, actualización o caso de uso de tu herramienta.
Más bien, aprende a configurar la optimización de tus aplicaciones con empaquetadores web: Webpack vs. Parcel vs. Rollup vs. ESBuild | Empaquetadores de JavaScript.
Aprende Vue.js o Svelte, son 100% reactivos de forma nativa y por defecto. Incluso Angular, se integra muy bien con RxJS, la herramienta por excelencia para trabajar con el paradigma de programación reactiva.
React no es 100% reactivo (sí, qué irónico).
React y Vue usan el Virtual DOM. Angular y Svelte usan estrategias de render diferentes, aunque ambos manipulan el DOM directamente.
No hay ganadores en este punto. La calificación depende completamente de tu percepción sobre la mítica pelea del DOM vs. Virtual DOM (y las estrategias de render en la web).
Aprende Angular. Al ser un framework tiene una curva de aprendizaje bastante alta al principio, pero luego de dominarlo te brindará todo lo que necesitas para construir aplicaciones web en el menor tiempo posible.
Las demás herramientas, por ser librerías, requieren mayor tiempo de configuración y curva de aprendizaje para integrar el resto de librerías de su ecosistema.
–
Te recomiendo tomar el Curso de Frameworks y Librerías de JavaScript para conocer el ecosistema del desarrollo web moderno y el flujo de trabajo de aplicaciones web con JavaScript. No solo estudiaremos herramientas de UI, sino también algunos conceptos – introductorios y avanzados al mismo tiempo 😅 – como reactividad, empaquetadores, manejo del estado, routing y CSS-in-JS.
Además, cuéntame en los comentarios cuál herramienta elegiste aprender (o cuáles piensas elegir) y por qué. 😏
💡⚛ Yo escogí React.js y quiero enseñártelo en el Curso de Introducción a React.js.
No sobra pedir que mantengas el respeto por encima de cualquier opinión diferente a la tuya. Yo sé que este es un tema sensible, pero sé fuerte y mantente fiel al #NuncaParesDeAprender. 🤓💚
Hay algo que me llama mucho la atención en esto, es cierto que React tiene una curva de aprendizaje más sencilla pero requiere de más trabajo para configurarlo adecuadamente con sus herramientas y el uso adecuado de webpack, el problema que veo con React es que no te ofrece una forma estándar de hacer las cosas y eso sin duda es algo muy caótico, incluso en los cursos de platzi se ve, cada quien hace lo que quiere o mejor dicho, como quiere.
Ahora si nos vamos a Angular por ser un framework ya tiene una estructura definida e incluso tiene un manual de estilo donde te dicen the angular way, la forma correcta de hacer las cosas, ya te estructura el proyecto bsse y de ahí ya depende de ti como quieras ordenar tu aplicación.
A la larga es más mantenible porque solo te toca ver como se hace algo en angular y ya de ahí implementarlo, toda la documentación que existe en la web es inmensamente mayor a la de React y por lo que dije antes la documentación de angular es consistente a diferencia de la de React.
En los casi 8 años que llevo trabajando con angular es lo que he podido notar al respecto a diferencia de React
Que interesante percepción y forma de mostrarlo. Muchas gracias por compartirlo con todos.
Recien estoy tomando cursos de Angular y me interesa. Buen dato, me animo a seguir aprendiendo mas acerca de Angular. Muchas Gracias!
Buen artículo!
Hoy todo el mundo aprender React y vamos camino a que haya miles de programadores junior React/NodeJS. EL 95% de los bootcaps que veo son de esas tecnologías.
El día de mañana la demanda laboral de Angular/Vue será muy alta y terminarán siendo los programadores mejor pagos por la escases. Svelte no lo cuento porque jamás vi una propuesta laboral de Svelte. Pienso que es un poco la tendencia hacia donde vamos.
Saludos!
La landing page de Spotify está construida en Svelte, así que yo no lo descartaría tanto 👀 jaja
Gran dato! no sabía eso.
De todas formas, Svelte es hoy una tecnología para divertice y conocer más de JS, no tiene prácticamente salida laboral. Pero es buen momento para aprenderla ya que de acá a unos años, no se sabe.
Saludos!
Entonces Kevin, tu recomendarías acercarse a React y a Angular? o a NodeJS y Vue? o que combinación dirías que es mejor para una mejor proyección a futuro?
Pensando a futuro, tanto con React como con Angular tienes salida laboral asegurada durante varios años.
Con Vue también, en menor medida.
Con NodeJS también es garantía, pero eso ya es backend.
Al menos lo que veo yo que se solicita, laboralmente, en Argentina.
Saludos!
No lo creo amigo un ejemplo es JAVA hay muchísimos desarrolladores JAVA en el mundo, prácticamente en la mayoría de las universidades va de cajón si o si; y aun así, habiendo una cantidad bastante grande de especialistas en este lenguaje existe mucha demanda de trabajo y el mercado no para de solicitar más. Lo mismo esta pasando con JS/React/Node/Angular/Vue y compañia.
Yo la hice sencilla. Realice el curso de Frameworks y Librerías de JS, luego de tener un pantallazo de cada uno, directamente decidi asi:
Svelte -> Vue -> React | Angular
decidiendo al final sobre si hacerReact o Angular
.Pero luego de hacer el curso, notas cual es más sencillo que el otro y ese viene siendo mi camino.
Ahora sí,
Svelte y Sapper
que es lo único que hay hoy en Platzi para Svelte, esta desactuliazado (no quiere decir que no sirva nada hacerlo los cursos), Sapper dejo de ser mantenido y ahora estan enfocados en SveltKit pero igualmente hacer los cursos (son solo 3) sirven un montón para abrirte la mente.Luego de VueJS y de ReactJS hay para tirar para arriba, asi que hay que meterle!
Mi recomendación por curva de aprendizaje más que por salida laboral (si tienen tiempo, obvio) es esa:
Svelte -> Vue -> React | Angular
Muchos éxitos 😃
Bueno si pueden manejar angular y react … está bien los dos… si hay que escoger uno prefiero angular, solo cuestión de gustos…
Ya en un proyecto empresarial dependerá de las habilidades del equipo.
Saludos
Buen artículo, gracias por compartirlo.
Yo creo que React es de lo mejor que hay ahora mismo, prácticamente es Javascript en sí mismo, y es de los que mejor rendimiento puede tener. Para mí la forma de hacer frontend más completa. Aunque Vue me llama la atención.
Muy buen articulo y es verdad que React tiene mas solicitud en el mundo laboral
Excelente blog gracias JuanDC, Creo que por algo el lema de Platzi es nunca pares de aprender, yo estoy iniciando y creo que me voy a ir por React pero mas adelante quiero aprender Angular, el saber uno no hace que no puedas aprender los demás y no digo que aprender un poquito de todo, sino aprender uno trabajarlo practicarlo e incluso usarlo en el campo laboral y luego cuando ya este trabajando ir aprendiendo el otro y asi seguir creciendo!
Acabo de terminar el curso de JavaScript y no sabia por donde continuar, gracias por esta información.
Hace un par de years atrás, un texto como este equivalía a guerra hahaha.
En mi caso, algo se de Angular y ahora ire por React ;0
Yo no quisiera decidirme por uno solo, pero el camino de React creo que es para mí y luego más adelante Vue.js pero debo admitir que disfruté mucho el curso de Svelte
Excelente artículo, no puedo esperar a que salga el curso de Introducción que dicta @juandc, ya que es el que más me llama la atención y el que quiero empezar a aprender!
Aprenderé React porque igual me toca 🤭 pero en un futuro me arriesgaré con Angular
Que gran articulo, ahora tengo algo más claro qué elegir, y pienso elegir React, aunque quisiera aprender más de una.
Muchas gracias profe juan, por ayudarnos a explicar más fácil todo esto, espero con gusto el curso, creo que seguiré su consejo y empezare con react.js.
Gracias juan con esto me das unas guías para definirme como front-end en junior.
Excelente artículo Juan, quiero aprender React aunque aun sigo con los cursos de JavaScript 😁
Gracias por compartir =)
Genial Juan.
No pretendo conseguir empleo como desarroyador. me gustaria una herramienta con curva de aprendizaje baja… me llama mucho la atencion construir una app para comercio electronico . cual de las cuatro me recomiendan ? les agradesco mucho su sugerencia
hola, tengo mi inquietud a pesar de este gran aporte de guía, porque no sé cual lenguaje escoger entre react, vue, angular o java?
Hola! React, Angular, Vue y Svelte no son lenguajes, en pocas palabras son superpoderes para su propio lenguaje de programación, que en este caso es JavaScript.
Java es un lenguaje de programación pero es diferente a JavaScript. 😛
Dicho esto, y después de que hayas leído el gran articulo del gran profe Juan. Ya entenderás que ninguno es mejor que otro, cada uno tiene sus pros y sus contras.
La teoría dice que una vez entiendas muy bien JavaScript empieces por Svelte o Vue, porque su curva de aprendizaje es más amigable al que recién está iniciando, después React o Angular. React es el que tiene más demanda laboral. Angular al final porque es un framework hecho y derecho, es más completo y por ende hay más que estudiar.
En conclusión, elije el que gustes, pero empieza, y lo más importante de todo… Nunca pares de aprender.
Espero haberte aclarado un poquito más tus dudas :DD
Y si aún tienes dudas, puedes seguir el Curso de Librerías y Frameworks de JavaScript hecho por el mismo autor de este artículo, el gran profe Juan. :DD
aunque laboralmente he visto demanda de angular y java pero ahi sigue uno con la inquietud jajajajjjaaj
Hace poco anunciaron que angular va a dejar de tener soporte asi que va a ir perdiendo cuota de mercado probablemente.
Angular no dejó de tener soporte, sino Angular.js (la versión más vieja de Angular). No va a perder mercado para nada.
Por que Vue aun no es tan demandada laboralmente como Angular y React? sabiendo que en funcionalidades esta a la par y se adapta muy rapido a los cambios?
Facebook crece con React, React crece con Facebook.
Vue es gigante, pero el soporte directo de Facebook es inevitablemente MUY atractivo para las empresas (por lo que hay bastante demanda laboral). Principalmente es por eso.
Hola