¿Cuál es mejor, Angular, React o Vue?

Angular y Reaccionar comparados. ¿Quién gana?

Tanto Angular como React han ganado bastante popularidad en el mundo Frontend. Sin embargo, a veces es bastante difícil saber cuál es la mejor opción para el proyecto. Aquí hay una instrucción fácil dentro.

Antes de comenzar, nos gustaría mencionar que si se hizo una pregunta sobre qué es mejor para mi proyecto Angular o React, ya está en camino al éxito.
Para facilitar la comparación, nos dividimos en 4 factores a considerar. ¡Así que comience la batalla!

1. Rendimiento

Seamos honestos, cuando se trata de Frontend, el rendimiento es uno de los principales factores que deben tenerse en cuenta. Hasta el lanzamiento de Angular 2, hubo una diferencia significativa en los enfoques adoptados.

  • Pros y contras de Angular 2

Ahora, cuando los desarrolladores de Angular reconocen la importancia y popularidad de las aplicaciones de una sola página. Lanzaron Angular 2 con cierta filosofía React introducida, lo que hizo que nuestros concursantes fueran bastante iguales en rendimiento y permitió un cambio continuo de contenido incluso en aplicaciones enormes.

2. Escala del proyecto

El tamaño del proyecto es el lugar, donde las cosas comienzan a enfriarse. Si tiene una aplicación pequeña o necesita crear un MVP realmente rápido, elija Angular.

  • Guía definitiva para construir un MVP exitoso. Parte 1

Tiene una pila MVC realmente excelente, que le brinda todo lo que necesita para comenzar. Pero si está planeando un gran proyecto y sabe con certeza que crecerá a partir de su maqueta, le recomendamos elegir React.

No hay nada de malo en usar React para aplicaciones pequeñas también, pero como no ofrece muchas herramientas listas para usar, el tiempo que dedicará a la configuración simplemente no valdría la pena.

3. SEO

Dado que es importante que la aplicación no solo sea estable y fácil de usar, sino que también sea fácil de encontrar en Internet, el SEO también debe considerarse para una amplia gama de aplicaciones.

  • 10 cosas que hacer para su proyecto web antes de que cumpla 3 años

Alerta de spoiler: reaccionar frente a los problemas de SEO mucho mejor.

Angular tampoco es un caso muerto, pero tendrás que poner mucho esfuerzo aquí, como usar PhantomJS u otros trucos. Por lo tanto, Reaccionar con la representación del lado del servidor parece mucho más convincente para optimizar su sitio web para el motor de búsqueda.

4. Dev Speed

Y por último, pero no el menor factor para un proyecto exitoso es la velocidad de desarrollo. Influye en las estimaciones y, como resultado, el costo final del producto.

  • Estimación del desarrollo Parte 1. Por qué las estimaciones pueden decepcionarte

La elección no es tan fácil aquí. La ventaja de Angular es que hace magia para proyectos pequeños, ya que es realmente fácil de usar debido a la gran cantidad de herramientas que proporciona.

React se usa más comúnmente para grandes proyectos, por lo que es posible que desee pasar un tiempo primero, pensando qué instrumentos necesita elegir para su stack y probar algunas variantes. Esto lleva tiempo.

Como resultado, Angular es mejor al principio, pero sabes que va a ser un largo camino desarrollar una aplicación, ve a Reaccionar y pasa un tiempo preparándote.

Lea el artículo completo con ejemplos de código y capturas de pantalla en el Blog de Rubyroid Labs

¿Tiene alguna pregunta o necesita ayuda con Ruby? ¡Contáctenos!

No hay nada bueno No hay maldad. Solo hay poder y quién es demasiado débil para buscarlo.

—Señor Voldemort

Descargo de responsabilidad: Las opiniones expresadas por mí son puramente subjetivas, sin malicia hacia ningún marco que se enumera aquí. Todos son impresionantes testimonios del poder de la determinación y la innovación en desafiar las concepciones antiguas para lograr resultados maravillosos.

Aparte: cedí fácilmente a la tentación de poner la cita anterior. ¡Supongo que el fanático de la fantasía en mí no podría rechazar la oportunidad!

Mi veredicto

No puedo decir, con una cara seria, el “mejor” marco entre ellos. Mi preferencia personal en este momento es probablemente Reaccionar (sobre todo porque todos los niños geniales: Twitter, Facebook, Netflix, AirBnB lo están usando) pero realmente disfruto de la facilidad de Vue y tengo archivos adjuntos personales a Angular (siendo el primer marco con éxito entendido y todo!)

¡Vamos directo a ello!

He tenido el placer de trabajar con los tres marcos y para llegar al mejor entre ellos, te daré cada marco con sus fortalezas y debilidades.

AngularJS

AngularJS es un marco originalmente concebido por el empleado de Google, Misko Hevery. Formó parte de un equipo encargado de crear la aplicación de comentarios muy utilizada de Google (el sorprendente recuadro en la página de resultados de búsqueda que responde todo, desde ecuaciones matemáticas hasta la posibilidad de que los Knicks salgan a la cima). El marco que desarrolló ayudó a acelerar el proceso de construcción y a reducir el peso de la base de código para la aplicación Feedback publicada.

En estos días, AngularJS se conoce con el nombre de Angular.

Angular ha tenido tres versiones estables: Angular 1.xx, Angular 2 y Angular 4.

Angular 1.xx aka AngularJS

Fortalezas:

  1. Barrera de entrada baja: dado que los marcos como BackboneJS habían ayudado a afianzar la mentalidad MVC, fue realmente fácil de entender para cualquiera que tuviera experiencia con los marcos MVC.
  2. Directivas: las directivas (introducidas por Angular 1.xx) vienen con la capacidad de instruir al navegador y “enseñarle un nuevo comportamiento”.
  3. Enlace de datos: el enlace de datos bidireccional proporcionó una manera más fácil de reflejar las relaciones de datos en la aplicación web, haciendo que la creación de aplicaciones web dinámicas sea muy fácil. ¡Qué divertido fue ver tus páginas cambiar sin actualizaciones sincrónicas!

Debilidades

  1. Rendimiento: Angular 1.xx fue un dolor de cabeza de rendimiento. Las actualizaciones de DOM eran realmente defectuosas (para grandes conjuntos de datos) y cualquier operación que condujera a la mutación de datos provocó costosas actualizaciones de DOM.
  2. Administración de memoria: el enlace de datos bidireccional también aseguró que podría tener pérdidas de memoria porque no tenía control sobre los observadores que ya no usaba.
  3. Mecanismo de evaluación interna: los ciclos de resumen de $ AngularJS fueron un infierno. ¡Si trataste de llevar a cabo una operación fuera del ciclo $ digest, obtienes errores locos que podrían quitarte unas horas de tu expectativa de vida y descubrir cómo solucionarlo!

Reaccionar

Entonces, si bien el mundo angular tuvo que soportar todo este drama, en los laboratorios de Facebook en toda la ciudad, una revolución fue conmovedora, una revolución que cambió la forma en que llegaremos a construir aplicaciones web frontend. Esa revolución fue ReactJS. Facebook ha estado trabajando duro e ideando mejores formas de abordar los problemas que afectan a los marcos existentes y se le ocurrieron algunas soluciones realmente fascinantes.

Abordaré estas soluciones como las fortalezas de React.

Fortalezas

  1. Rendimiento: React presentó impresionantes puntos de referencia de rendimiento. Gracias a su algoritmo diferente, se pueden llevar a cabo actualizaciones económicas del DOM ya que el marco almacena una representación virtual del DOM en la memoria, por lo que sabe exactamente qué necesita cambiar.
  2. Orientado a componentes: React introdujo el concepto de componentes como el núcleo de cada aplicación grande. Los componentes hicieron que el código fuera más fácil de reutilizar, mantener y probar.
  3. Redux + Flux: antes de React, la gestión del estado era una molestia. Tenías que usar hacks locos solo para pasar datos y Dios te ayuda si necesitabas comunicar datos alrededor de diferentes partes de la aplicación que estabas creando. Con el concepto de flujo, los datos simplemente fluyeron en una dirección en la aplicación haciendo que el flujo de datos sea más predecible. Redux (RED ucers + Fl UX) trajo el concepto de almacenes de datos inmutables que venía con muchas cosas interesantes: viajar en el tiempo, deshidratación del estado y alcance adecuado de los componentes.
  4. Comunidad burbujeante: React disfrutó de una adopción casi instantánea de la comunidad frontend. Twitter reescribió recientemente su producto web móvil en React, AirBnB lanzó una biblioteca que podría ayudar a convertir los componentes React en componentes Sketch.

Los méritos de React son demasiado numerosos para agotarse lo suficiente aquí. ¡Sigamos moviéndolo!

Debilidades

  1. Curva de aprendizaje empinada: las ideas tradicionales desafiantes tienen un precio. React tiene una curva de aprendizaje pronunciada porque representa una ruptura con todo a lo que estábamos acostumbrados. JSX? ¿Que es eso? ¿Escribir CSS en JavaScript? ¿Qué tipo de brujería es esa? ¡Ni siquiera me hagas comenzar a declarar accesorios y exportaciones en mi código!
  2. Peso del código: React es bastante pesado sin compresión y gZipping. Puede tener un impacto en los tiempos de carga en comparación con otros marcos.
  3. Libertad de expresión: ¡No me malinterpreten, la libertad es algo bueno ! Pero a veces, es más fácil que alguien piense por ti. React es una biblioteca simple para manejar actualizaciones DOM. Si desea administración de estado, comunicación asincrónica y otros elementos esenciales, debe encontrar un paquete NPM que maneje eso. Puede ser un inconveniente si necesita soluciones rápidas y listas para usar.

Angular 2

Las fortalezas de React superaron con creces sus debilidades y pronto React se puso de moda. Sin embargo, el equipo de Angular en Google estaba estudiando las debilidades de AngularJS y trabajando para remediarlas. El resultado fue Angular 2 o simplemente Angular en adelante.

Angular 2 era un marco completamente diferente de AngularJS y adoptó la arquitectura de componentes de React. Sin embargo, mantuvo su motor de plantillas e hizo que sus componentes fueran modulares para que pudiera cargarlos en cualquier momento dado.

Fortalezas

  1. Herramientas: Angular 2 fue escrito en el transcriptor Javascript mecanografiado estáticamente mecanografiado de Microsoft. Esto facilitó la obtención de soporte IDE extendido para aplicaciones Angulares TypeScript
  2. Comunidad grande: Angular tiene una comunidad extensa. Siempre obtendrá ayuda si está atrapado.
  3. Conceptos familiares: Angular retuvo algunos de sus conceptos centrales, como su motor de plantillas y directivas. Esto ayudó a suavizar cualquier transición de Angular 1. xx a Angular 2.

Debilidades

  1. Peso del código: Angular es un marco bastante pesado. Una aplicación sencilla de hello world podría tener fácilmente 1 MB más de tamaño. La compilación Tree Shaking y AOT (Ahead-Of-Time) podría reducir fácilmente el peso en un 30%, pero aún así, es mucho código para dos malditas palabras. ¡Ni siquiera me hagas hablar sobre el tiempo y la memoria que usará un navegador para analizar todo ese Javascript!
  2. ¿Over-Engineering Much ?: Angular 2 es genial e impresionante, pero, enfrentémoslo, Angular ha sido criticado por requerir demasiadas líneas de código para funciones aparentemente mundanas. Visite la página Angular Tour of Heroes y necesitará veinte y tantos líneas de código extrañas para la primera lección: el penúltimo sueño de los masoquistas.

Vue

Evan You, un ex empleado de Google, comenzó a trabajar en un marco para resolver problemas existentes que afectan al ecosistema frontend de Javascript. Vue buscó combinar las mejores partes de React (representación de Shadow DOM, encapsulación de componentes, etc.) y AngularJS (Templating, Directives, Reactivity) en un sistema estable.

Fortalezas

  1. Principiante amigable: Vue , hasta ahora, resulta ser el marco más amigable para principiantes. Es fácil de entender, proporciona buena documentación y debería ser muy fácil para cualquier persona con un pequeño conocimiento de Javascript.
  2. Rendimiento: es un marco de alto rendimiento. Los puntos de referencia para la última versión de Vue parecen implicar puntuaciones más altas en los niveles de rendimiento para operaciones como las actualizaciones DOM.
  3. Fácil de configurar: si te gusta jugar con el paquete web o simplemente eres un entusiasta de jQuery, Vue tiene justo lo que necesitas.
  4. Peso ligero del código: pesa menos de 500 KB una vez minimizado. Todavía pesado en comparación con Knockout pero ligero en comparación con React & Angular.

Debilidades

Ninguno que pueda encontrar hasta ahora . Tal vez el soporte de representación del lado del servidor podría ser un poco irregular.

Última bala

Son tres marcos interesantes.

Usar Reaccionar:

  1. Si tienes ambiciones de aplicaciones móviles. Reaccionar nativo es un regalo del cielo.
  2. Si desea aprovechar los lanzamientos de código abierto de los establos de Twitter, AirBnB, Facebook y todos los chicos que hacen cosas rudas.

Utilice angular:

  1. Si está creando aplicaciones que se mantendrán durante mucho tiempo.
  2. Si también tienes aplicaciones móviles en tus planes.

Use Vue:

  1. Si eres nuevo en esto.
  2. Si tienes limitaciones de tiempo.

Hacer esta pregunta casi siempre termina en muchos argumentos. Estos son los pocos pros y contras que encontrará si busca este tema en Internet.

Angular

Pros:

  • Seguridad de tipo (TypeScript)
  • Muchas características
  • Separación de código

Contras:

  • Plataforma pesada
  • Actuación
  • Algunas API incómodas y poco intuitivas

Reaccionar

Pros:

  • JavaScript puro
  • Ligero
  • Concisión

Contras:

  • JSX, alguna sintaxis incómoda
  • Vista entremezclada, estilo y código lógico
  • Administración del Estado

Vue

Pros:

  • Ligero
  • Soporte de marco para filtros, propiedades calculadas, transiciones, etc.

Contras:

  • Vista, estilo y código lógico entremezclados a medias
  • Enlace de atributo no intuitivo
  • El soporte IDE no es genial

Si alguien ya está familiarizado con alguno de estos marcos, creo que ese marco es la mejor opción para él.

Personalmente me gusta Angular. Recientemente he desarrollado un producto premium para Angular. Echale un vistazo.

No se cual es mejor. He estado usando Angular y React pero no Vue.

Solo me gustaría señalar una diferencia que nadie menciona. El acercamiento a la comunidad.

Ejemplo, cuando se lanzó React 16.0 , introdujo cambios importantes, esos cambios eran bien conocidos, ya que todos los que usaban react estaban viendo advertencias generadas en sus js desde que se lanzó 15.0, y esas advertencias básicamente decían “Este código no funcionará desde 16.0, si no puede migrar ahora, importe este paquete de compatibilidad desde npm para que su código funcione con 16.0, migre “.

¿No está mal? Especialmente en comparación con la transición de NG1 a NG2 para Angular , cuando el equipo angular básicamente decía “Angular 2 no es compatible con Angular 1, no hay una herramienta de migración, eso es, deja de quejarte, supéralo “.

Cuando este React Fiber de septiembre se lanzó como parte de React16.0, revisó por completo el motor de renderizado con la promesa de un rendimiento de renderizado mucho mejor, era totalmente compatible con versiones anteriores, y lanzaron esta arquitectura acdlite / react-fiber para explicar la arquitectura detrás .

Cuando Angular se mudó de NG2 a NG4 nuevamente tuvieron algunos cambios (menores) de ruptura, el anuncio básicamente decía “Hola chicos, ¿no es fantástico? Estamos avanzando hacia otro lanzamiento importante de Angular y solo tenemos ‘pocos’ cambios importantes, ¿no estás contento?

Para ser justos, el salto de NG1 a NG2 fue un salto tan gigante que fue imposible hacer que NG2 fuera compatible con versiones anteriores. Pero tenían el marco JS con la tasa de adopción más rápida de la historia, una comunidad increíblemente grande de desarrolladores que lo usaban, una audiencia tan grande entusiasmada y esperando lo que vendría después … ¿Y … “superarlo”?

Creo que el enfoque del equipo angular es incorrecto y no valdrá la pena.

Y quiero decir que en general, como quiera que lo mires. Parece que se embarcaron en una misión para reemplazar todo con su marco , probablemente en su visión los desarrolladores frontend usarán solo Angular, y nada más, porque su biblioteca hará todo. Yo no compro eso. Esto no tiene sentido.

Además de todas estas discusiones sobre React vs Angular, me parecen las discusiones de hace 10 años sobre Jquery Vs Prototype Vs Mootools … Diez años después, ¿a quién le importa? Ya nadie usa a ninguno de esos.

Si tienes poco tiempo, ignórame.

Quiero que te des un objetivo para una pequeña aplicación. Tiendo a usar un juego de tres en raya. Tal vez hacer que funcione a través de un websocket con un oponente. Tu llamada realmente, pero decide un proyecto. Usaré mi ejemplo de tres en raya.

Ahora supongo que está comenzando cada uno con una pizarra en blanco, conociendo solo las bromas que ha leído y un conocimiento aceptable de HTML, CSS y Javascript.

Ahora date una línea de tiempo que debes usar para cada proyecto. “Este es un proyecto fácil, como máximo debería tomar 2/3/5/7 días en completarse”. Para mi ejemplo de Tic-Tac-Toe, diría que entre 2 y 3 días es una buena cantidad de tiempo.

Elija un marco para comenzar y comience. ¿Qué necesitarías para configurar el tablero de juego? ¿Qué pasa con el estado del juego? ¿Qué sucede cuando marcas un cuadrado como tuyo? Etcétera etcétera.

Naturalmente, “encontrará su flujo” con uno de ellos * (¿con suerte?). Todos encuentran su flujo en uno diferente. Para mí, me obligué a aprender Angular porque Google tiene un tiempo compartido en mi alma. Pero con quien encuentro mi flujo fue con Vue.

Cualquiera que sea el proyecto con el que llegue más lejos en el período de tiempo dado es en el que debe enfocarse, en el futuro actual y previsible . Los otros se pueden aprender a tiempo después de que tenga una comprensión sólida de lo que sea su marco “dorado”. Si termina su proyecto en los tres, el que le quede más tiempo es su ganador.

Es esta la mejor manera? No. Pero hará que el tren ruede.

Feliz codificación.

No estoy seguro de cuáles son sus objetivos, pero suponiendo una aspiración sensata ( desea ser lo más rápido posible en el desarrollo de aplicaciones web nuevas ) Aprendería a reaccionar con Redux primero porque;

  • React / Redux tiene más oportunidades de trabajo sobre cualquier otro marco único mencionado. También sigue la dirección en la que se dirige JavaScript, por lo que parece más a prueba de futuro. Una de las viñetas más grandes en mi lista de ‘este es un buen marco’ es la falta de enlace bidireccional. 2WB es un antipatrón serio en mi libro; hace que las aplicaciones pequeñas sean más fáciles de construir, pero mata a gran escala con facilidad. React es el único marco aquí que nunca lo usa, y esto hace que React sea muy fácil de razonar (y me da la confianza de que React fue escrito por personas que saben lo que están haciendo; si miras los primeros videos de React, la aparición de el enlace bidireccional involuntario es en realidad el problema que Facebook necesitaba resolver y que causó que React se escribiera). Sin embargo, reaccionar puede ser confuso; no es para nada obstinado y le deja demasiadas decisiones que tomar, algunas de las cuales afectarán la escalabilidad en el futuro si se equivoca (un problema que Angular 2+ no tiene). Mi propina; todo lo que necesita es React, Redux o MobX, React-Router, una función que clona profundamente, una función que se fusiona (le permite parchear un objeto en otro) y escribir su propio middleware para comunicarse con el servidor (el mío siempre es un función que envía cualquier acción que comience con WS_ a un servidor, y en el momento de la promesa, el servidor vuelve a la aplicación sin WS_ , que es increíblemente fácil para el desarrollo: comience con todas las acciones locales y WS_ al servidor por agregar un WS_ y React / Redux no sabrá nada diferente). Mi opinión personal: uno de los pocos marcos en los que nunca sientes que estás ‘luchando contra el marco’: si hay un problema, casi siempre estás luchando contra tu propio error; ¡El sello distintivo de un buen marco!
  • Los trabajos que requieren AngularJS en este momento son trabajos de mantenimiento heredados en los que realmente no desea involucrarse como un nuevo principiante que busca una vía rápida y / o greenfield. Creo que a estas alturas la mayoría de la gente estará de acuerdo en que tanto React / Redux como Angular2 + son mejores apuestas para un nuevo titular. Básicamente, Angular fue el primero en habilitar la construcción con JS a escala, pero olvidó el rendimiento, por lo que se dedicó su tiempo al rendimiento. Mi conclusión cuando salió fue “bueno, pero cualquier cosa que requiera rendimiento o mucho DOM interactivo para renderizar será difícil”.
  • Angular 2 + es un buen marco pero simplemente no tiene los números frente a React. Si incluye todas las versiones de Angular vs React, entonces es casi igual, pero una vez que elimina el material de AngularJS heredado, es React. Angular 2+ también va en una dirección que no está realmente alineada con la dirección de JavaScript a medida que avanza un lenguaje, por lo que se siente como un espacio intermedio. Solía ​​ser un gran admirador de cosas como TypeScript, pero después de ver los pocos errores que realmente atrapa, he cambiado de opinión hacia ES6 +. Sin embargo, otros no estarán de acuerdo con todo esto y puedo ver por qué esto es así: Angular 2+ es ciertamente una ‘apuesta segura’ para aplicaciones grandes porque está dirigido a empresas a gran escala. También sospecho que tiene más trabajos para él que React si vives en un país que a menudo actúa como un proveedor externo de empresas (como India). Personalmente, considero que Angular es excesivo y demasiado obstinado, lo que significa que pasaré demasiado tiempo ‘luchando contra el marco’, lo que me trae demasiados recuerdos de Java Swing / Adobe Flex, pero bueno, algunas personas encuentran que ¡positivo!
  • Vue es demasiado tarde para el juego y no ofrece suficiente sobre Reaccionar para competir; tiene que ser mucho mejor, pero es un “primo igual”. Algo que la web no hace evidente es que tiene muchos menos trabajos que lo requieren que React o Angular 2+ en EE. UU. / Europa, aunque escuché que funciona muy bien en China. Es más fácil de aprender y más rápido que cualquier otra opción, por lo que si no le preocupa convertirse en empleado en los EE. UU./ Europa y / o está construyendo sus propias cosas, tal vez. De lo contrario, en este momento es un “agradable tener” solamente. Una pena porque es mucho más fácil entrar que cualquier otra opción, y tiene mucho que ofrecer. Mi opinión personal; bueno, pero el mercado no se está recuperando de React, por lo que aún no es una habilidad comercial, al menos en mi mercado laboral (Reino Unido). Dale un año y vuelve a visitarlo.

Otros pueden tener opiniones diferentes que se basan en “cuál es el mejor”, pero eso es demasiado subjetivo, por lo que me he vuelto totalmente pragmático y hacia la empleabilidad.

También debo señalar que esta es una discusión sobre qué marco debe aprender primero . En algún momento en el futuro, debe tener React y Angular2 + en su haber, aunque con más conocimiento de uno sobre el otro. También debe tener suficiente curiosidad para echar un vistazo a Vue, aunque hay otras cosas que recomendaría mirar primero en el back-end (agregar ‘stack completo’ a su CV además de React / Angular es mucho mejor que agregar ‘Vue’ )


Editar: He incluido mis funciones React lib para clonar y fusionar a continuación. Usted (el OP o cualquiera que haga una pregunta similar) no sabrá para qué son en este momento (TLDR: se aseguran de que nunca use referencias mutadas), pero le ahorrarán mucho tiempo cuando comience a escalar su aplicación React / Redux !

clase StoreHelpers {
constructor () {
// Esto nunca debería ejecutarse porque StoreHelpers es una clase de métodos estáticos.
// Comprobación de cordura: arroja una excepción si la aplicación principal intenta crear una instancia
lanzar un nuevo error (‘ERROR: instanciación inesperada de la clase estática StoreHelpers’);
}


deepClone estático (obj) {
dejar salir, v, clave;
out = Array.isArray (obj)? []: {};
para (clave en obj) {
v = obj [clave];
out [key] = (typeof v === “objeto”)? StoreHelpers.deepClone (v): v;
}
regresar
}

fusión estáticaBIntoA (a, b) {
// función auxiliar, combina dos objetos. p.ej. si a = {prop1: 10, prop2: {prop3: 30}},
// yb = {prop2: 20, prop2: {prop4: 40}}, entonces el resultado será {prop1: 10, prop2: {prop3: 30, prop4: 40}},
// que no es lo que object.assign () daría, que sería {prop1: 10, prop2: {prop4: 40}} debido a
// la colisión en prop2, causando sobrescritura.
dejar prop
para (apoyo en b) {
// Si a.property no existe o es un valor (cadena, número, booleano), reemplácelo por b.property.
// NB: fusionamos b en a incluso si a [prop] ya es igual a b [prop] (comprobar primero es más lento que solo
// haciendo el cambio).
if (! a.hasOwnProperty (prop) || (typeof (a [prop])! == “object”)) {
a [prop] = b [prop];
}
// Si tenemos un nivel anidado, recurramos al nivel anidado para fusionar hijos.
if (typeof (b [prop]) === “objeto”) {
StoreHelpers.mergeBIntoA (a [prop], b [prop]);
}
}
devolver a;
}


}

He estado usando CodeIgniter durante unos tres años y todavía lo sigo haciendo en algunos proyectos. Sin embargo, desde que decidí finalmente darle un giro a Laravel, no ha sido mirar atrás. Estaba bastante impresionado, Laravel es el marco que PHP necesitaba y ha sido un respiro de aire fresco para trabajar. Cualquier proyecto nuevo definitivamente se creará usando Laravel, ya que se envía con mucho más de lo que CodeIgniter hace.

Lo más importante para aquellos que se sientan en la cerca es que la curva de aprendizaje proveniente de CodeIgniter es muy pequeña y solo toma uno o dos días levantarse e ir con Laravel. A partir de ahí, por supuesto, tendrá que invertir algo de tiempo aprendiendo algunas cosas aquí y allá. Pero el tiempo invertido para aprender algunas cosas nuevas en Laravel bien vale la pena a largo plazo, ya que le ahorrará mucho tiempo en el futuro.

Esta guía no pretende ser un tutorial sobre Laravel, sino que solo sirve para dar una idea de cómo se ve parte del código de Laravel y cómo funciona junto con lo que ofrece el marco. He visto muchas publicaciones alabando a Laravel por CodeIgniter, pero realmente no he visto ninguna de por qué exactamente es mejor, así que aquí hay diez razones (entre muchas) que deberían ayudar a comenzar.

1. ORM elocuente

La forma en que diseña sus modelos se basa en las relaciones. Esto realmente cambiará su forma de pensar y diseñar sus aplicaciones. En CodeIgniter, generalmente configuro mis modelos en formato REST, básicamente con funciones de post , get , put y delete . Con Eloquent todo está hecho por ti. Simplemente defina relaciones y nunca escriba más consultas.

Primero definiríamos nuestra relación así:

clase Post se extiende Eloquent {
protected $ table = ‘publicaciones’;

comentarios de la función pública () {
return $ this-> hasMany (‘Comentario’);
}
}

Entonces podemos hacer llamadas así:

Post :: find ($ id) -> comentarios () -> get ();

También hay una pequeña característica de seguridad fantástica en Laravel que nos permite proteger los campos en nuestras tablas para evitar posibles errores de los desarrolladores. Por defecto, Eloquent no nos permitirá realizar una post lotes o update nuestros modelos. Tendríamos que hacer algo manualmente de esta manera:

$ usuario = nuevo usuario ();
$ user-> first_name = Input :: get (‘first_name’);
// etc.
$ usuario-> guardar ();

Sin embargo, si queremos, podemos establecer la variable $fillable en nuestro modelo y este análisis se realizará automáticamente.

clase Usuario extiende Eloquent implementa UserInterface, RemindableInterface {

protected $ fillable = array (‘primer_nombre’, ‘último_nombre’, ‘correo electrónico’);
}

Podemos simplemente ejecutar una llamada de entrada por lotes de esta manera:

Usuario :: find ($ id) -> update (Input :: all ());

Qué asombroso es eso. Limpio, seguro y elegante. Lo que también me gusta aquí en Laravel sobre CodeIgniter es que cuando creas un nuevo objeto, devuelve ese objeto en lugar de solo la id como hace CodeIgniter.

Esto apenas está rascando la superficie con lo que está disponible con Eloquent. Pero el formato limpio lo hace muy divertido y mucho más fácil de usar. Por supuesto, puede hacer joins y consultas más sofisticadas, pero todo sigue el mismo estilo sintácticamente azucarado simple.

2. Enrutamiento

El enrutamiento en CodeIgniter es muy primitivo en comparación con el de Laravel. En CodeIgniter obtienes un archivo de enrutamiento donde puedes configurar alguna redirección y sobrescribir usando (:any) y (:num) . Esto funciona muy bien la mayor parte del tiempo, pero Laravel lo sobrealimenta. Es como enrutar con esteroides en comparación con CodeIgniter. En el nivel más básico, veremos una ruta como esta que simplemente redirige a un controlador.

Ruta :: controlador (‘posts’, ‘PostController’);

Sin embargo, también podemos agregarle funciones que nos permitan manejar solicitudes directamente en la ruta. Podríamos escribir casi todo nuestro archivo de rutas solo si realmente quisiéramos.

Route :: get (‘logout’, function () {
if (Auth :: check ()) {
Auth :: logout ();
return Redirect :: to (Config :: get (‘app.url.www’). ‘/’);
}
más {
respuesta de respuesta :: ver (
‘layouts.master’,
array (‘view’ => ‘errors.404’)
, 404);
}
});

También me gusta que podamos filtrar las URL usando patrones de expresión regular y enrutarlas automáticamente si no coinciden. Esto es excelente ya que muchas veces podemos simplemente redirigir a una página 404 si un valor no es un número, como es el caso en buena parte de nuestras solicitudes, especialmente si estamos construyendo una API.

Ruta :: get (‘diccionario / {carta?}’, ‘ [Correo electrónico protegido] ‘)
-> where (‘letra’, ‘[A-Za-z]’);

Además de eso, también podemos crear filtros por separado y adjuntarlos a cualquier ruta que queramos. Esto es ideal para cosas como un administrador o cualquier otra parte de su aplicación que requiera algún tipo de autenticación.

Ruta :: filter (‘auth’, function () {
if (Auth :: invitado ()) {
return Redirect :: to (‘inicio de sesión’)
-> con (‘error’, ‘Debe iniciar sesión’);
}
});

Ruta :: when (‘perfil’, ‘auth’);
Ruta :: when (‘perfil / *’, ‘auth’);

Nuevamente siento que apenas estoy rascando la superficie aquí. Lo que realmente me gusta de todo es que puedes poner toda esta lógica de control de flujo para tu aplicación en dos archivos, filters y routes que realmente te dan una visión general de toda tu aplicación.

3. DESCANSO

Si ha creado algún tipo de aplicación REST usando CodeIgniter, indudablemente ha utilizado o al menos ha encontrado la implementación REST de Phil Sturgeon para CodeIgniter. Es bastante fácil aparecer y usar de inmediato. Sin embargo, tener algo horneado directamente hace la vida un poco más fácil.

Laravel se envía con una implementación REST y podemos crear una ruta genérica que se asigna automáticamente a los recursos en el controlador. Por ejemplo, en nuestro archivo routes.php , podemos crear una ruta así:

Route :: resource (‘posts’, ‘PostsController’);

Esto se asigna automáticamente a siete métodos en nuestro controlador.

La clase PostsController extiende \ BaseController {

índice de función pública () {
// Muestra una lista del recurso.
}

función pública create () {
// Muestra el formulario para crear un nuevo recurso.
}

tienda de funciones públicas () {
// (POST) Almacena un recurso recién creado en almacenamiento.
}

función pública show ($ id) {
// (GET) Muestra el recurso especificado.
}

función pública editar ($ id) {
// Muestra el formulario para editar el recurso especificado.
}

actualización de la función pública ($ id) {
// (PUT) Actualiza el recurso especificado en el almacenamiento.
}

función pública destruir ($ id) {
// (DELETE) Elimina el recurso especificado del almacenamiento.
}
}

Por supuesto, podemos eliminar las funciones de create y edit si no queremos los componentes de la interfaz. También podemos guardar esto en una carpeta /controllers/api si queremos mantener nuestros controladores API separados. Entonces solo enruta así:

Route :: resource (‘api / posts}’, ‘api \ PostsController’);

4. Artesano

Artisan es un pequeño script PHP en Laravel disponible desde la línea de comandos que puede usar para obtener información sobre su aplicación, así como para generar y optimizar automáticamente el código. La mayoría de las veces usará el comando migrate para actualizar el esquema de su base de datos, pero también tiene un montón de otros comandos útiles que puede ver ejecutando:

lista de artesanos php

También puede desarrollar sus propios comandos artesanales que le permitan ampliar sus funciones. Por ejemplo, tengo un comando personalizado que respalda mi base de datos que ejecuto antes de ejecutar cualquier comando de migración.

Simplemente no hay nada como esto en CodeIgniter y, aunque es bastante fácil copiar y pegar cosas como un controlador que tiene esta característica, especialmente para la migración es algo difícil de vivir sin una vez que te acostumbras.

5. Migraciones

Con CodeIgniter no hay una manera fácil de mantener su esquema sincronizado en entornos o desarrolladores. La forma típica es crear una carpeta de esquema y simplemente agregar cualquier cambio de esquema allí en un archivo con una marca de tiempo como su nombre de archivo. Esto funciona en su mayor parte, pero se vuelve desordenado y es un poco complicado. Sin mencionar que si desea poder revertir cualquier cambio, solo aumenta la complejidad.

Si comienza a tener muchos cambios de esquema o necesita reconstruir su esquema, entonces debe obtener un volcado de alguien o debe ejecutar todos los archivos de esquema uno tras otro.

Este es un pequeño dolor de cabeza eliminado por Laravel. El comando migrate le permite mantener fácilmente sincronizados sus esquemas ejecutando algunos comandos simples. Los tres comandos que usará con más frecuencia serán:

php artisan migrate: make create_posts_table
php artesanal migrar
php artisan migrate: rollback

El primer comando crea un nuevo archivo de esquema en el que puede ingresar sus cambios. El segundo comando actualiza su esquema con todos los nuevos esquemas que aún no se han ejecutado. El tercer comando simplemente revierte el último archivo de esquema de migración que se ejecutó.

Lo bueno es que cuando genera un archivo de migración, viene con dos funciones para actualizar y revertir su cambio, respectivamente, llamado up y down .

La clase CreatePostsTable extiende la migración {

función pública arriba () {
Schema :: create (‘posts’, function ($ table) {
$ tabla-> incrementos (‘id’);
$ tabla-> cadena (‘contenido’, 1000);
$ tabla-> tinyInteger (‘estado’) -> unsigned () -> index ();
$ tabla-> marca de tiempo (‘created_at’) -> index ();
$ table-> timestamp (‘updated_at’) -> index ();
});
}

función pública inactiva () {
Esquema :: dropIfExists (‘publicaciones’);
}
}

También hay una funcionalidad de inicialización que puede ejecutar opcionalmente para inicializar sus tablas con datos. Su configuración es bastante similar y se puede ejecutar de la misma manera usando la opción –seed o ejecutando el siguiente comando:

php artisan db: semilla

6. Compositor

Composer es una manera dulce de agregar y mantener paquetes en su aplicación. Simplemente agregue algunas líneas en su configuración que especifiquen el paquete y algunos alias, presione la actualización del compositor y se instalará automáticamente. También presionar la actualización en el futuro extraerá automáticamente la última versión para usted. Por supuesto, también tiene la opción de mantener una determinada versión del paquete si lo desea.

Si abrimos nuestro archivo composer.json veremos un área require donde podemos agregar paquetes. Aquí hay un ejemplo con un paquete de agente de usuario que me gusta usar para obtener fácilmente información sobre el navegador de los usuarios.

“exigir”: {
“laravel / framework”: “4.0. *”,
“mews / useragent”: “dev-master”
},

Luego agregamos los siguientes alias en el archivo `config / app.php`:

‘proveedores’ => array (‘Mews \ Useragent \ UseragentServiceProvider’, // etc …),

‘aliases’ => array (‘Agente’ => ‘Mews \ Useragent \ Facades \ Useragent’, // etc …),

La capacidad de encontrar fácilmente nuevos paquetes y mantenerlos actualizados, incluido el marco en sí, es una gran carga de la que liberarse. Sin mencionar que los paquetes serán mucho más estables ya que es probable que ya sean utilizados por muchos otros desarrolladores.

Los paquetes incluyen todo, desde oAuth hasta Twitter y Facebook SDK. Existen algunas fuentes para obtener paquetes, pero probablemente sea mejor usar el [repositorio oficial de Laravel] ( http://registry.autopergamene.eu/ ).

## 7. Templating

Nunca he sido un gran admirador de ningún sistema de plantillas. Siempre pensé que agregaba gastos generales innecesarios y quién quiere aprender una sintaxis completamente nueva y una forma de hacer las cosas cuando PHP ya funciona bien. Pero la verdad es que realmente disfruto usando Blade. Definitivamente tiene algunos atajos agradables como la función de inclusión con su notación de puntos para obtener vistas dentro de las carpetas. Por ejemplo, si quisiéramos obtener el `views / posts / index.blade.php`:

@include (‘posts.index’)

Puede hacer eco de cualquier variable simplemente usando la notación `{{}}`. Tenga en cuenta que simplemente está ejecutando código php con un `echo` delante de él.

{{ ‘algunos’ . $ var. ‘aquí’ }}

También me gusta que simplemente mantiene el código limpio y hace que sea mucho más fácil verlo. Es mucho mejor que usar “etiquetas en todo el lugar”.

@if ($ var === verdadero) Sí, es cierto: {{$ var}} @endif

Esto es solo algo básico, pero hay cosas más avanzadas que puede hacer, como definir una `@ sección` en una plantilla maestra y luego sobrescribirla en sub plantillas. Esto le brinda una flexibilidad interesante para sobrescribir componentes en una página.

CodeIgniter no proporciona ninguna plantilla fuera de la caja. No sería demasiado difícil instalar algo como plantillas inteligentes o cualquier otra que pueda existir, pero nuevamente es solo un paso adicional. Además, sin Composer, ese paso adicional se convierte en más pasos en el camino para el mantenimiento.

## 8. Autenticación

Me gusta que Laravel viene con toda la funcionalidad que necesita para registrarse e iniciar sesión en sus usuarios. Esto es genial y te ayuda a comenzar a crear una nueva aplicación realmente rápido. Incluso hay algunos paquetes populares que puede instalar que tienen listos todos los procesos de autenticación y activación.

Podemos generar un hash para nuevos usuarios utilizando la clase hash:

Hash :: make (Input :: get (‘contraseña’));

Entonces podemos autenticarnos usando el práctico método de ‘intento’ a continuación, donde ‘correo electrónico’ puede ser un correo electrónico o un ‘nombre de usuario’.

Auth :: intent (array (’email’ => Input :: get (’email’), ‘password’ => Input :: get (‘password’)));

Si el método `intent` devuelve verdadero y el usuario inicia sesión en una sesión con el objeto de usuario, se crea automáticamente para nosotros, a la que podemos acceder usando:

Auth :: usuario (); Auth :: user () -> id; // etc …

También podemos agregar elementos adicionales a este objeto si nos gusta:

Auth :: user () -> admin = true;

No es mucho más fácil que eso, el código es seguro y fácil de usar. Los métodos prácticos hacen que lidiar con la creación y autenticación de usuarios sea muy fácil, lo que nos permite concentrarnos rápidamente en la creación de nuestra aplicación. Con CodeIgniter no tenemos nada como esto y nuevamente nos obliga a encontrar un paquete que nuevamente no podamos mantener a través de ningún tipo de mecanismo de empaque como Composer.

## 9. Fachadas

Sin entrar demasiado en ello, la idea es que todos sus objetos sean accesibles a través de lo que parecen ser llamadas a métodos estáticos utilizando el patrón de diseño de fachada. Esto es genial y es lo que hace que cosas como `User :: find (1);` sean tan limpias y elegantes de usar. Todo en Laravel se maneja de esta manera, pero no se deje engañar, no son llamadas a métodos estáticos. Todos los detalles de instanciación se manejan detrás de escena.

Por ejemplo, si tuviéramos que crear un objeto y luego llamar a un par de métodos:

SomeObj :: set (‘prueba’, 3); SomeObj :: get (‘prueba’); // Debería ser 3. ~~

En el ejemplo anterior nos estaríamos refiriendo al mismo objeto y todo simplemente sucede mágicamente para nosotros. Esto es súper limpio y hace que el código sea mucho más fácil de trabajar. En CodeIgniter tendríamos que configurar una biblioteca para autoload en la configuración o siempre incluirlos primero en nuestros controladores. A continuación se muestra un ejemplo con CodeIgniter y Laravel.

// CodeIgniter
$ this-> load-> model (‘users_model’);
$ this-> users_model-> get (1);

// Laravel
Usuario :: find (1);

En nuestra implementación, utilizamos pequeños métodos de envoltura en ayudantes para evitar esto. Pero es solo más código y más espacio para errores y no sale de la caja. Esto es frustrante si estás comenzando un nuevo proyecto y ninguna de estas pequeñas adiciones ya has hecho allí.

Las fachadas son un tema un poco más complicado si desea comenzar a construir sus propias bibliotecas, pero un buen lugar para comenzar es el Tutorial Tuts + de Jefferey Way que brinda una buena descripción general.

10. Mail

Esta es otra cosa con la que probablemente lidiarás, en la que me gusta la forma en que se implementó Laravel. Primero, la configuración para el correo está en el archivo config/mail.php . Esto no es un gran problema, ya que podríamos simplemente agregar algo como esto en CodeIgniter. Pero también me gusta la forma en que podemos adjuntar fácilmente plantillas al correo electrónico enviado.

Mail :: send (’emails.activate’, array (‘usuario’ => $ usuario), función ($ mensaje) {
$ mensaje-> asunto (‘Activación de cuenta’);
$ mensaje-> a ($ usuario-> correo electrónico);
});

En el ejemplo anterior tenemos la plantilla que queremos usar, algunos datos para pasar a la plantilla y una función que nos permite modificar algunos de los parámetros de correo que en este caso es el asunto y el destinatario del correo electrónico. Luego, podemos almacenar todas nuestras plantillas de correo electrónico en una carpeta, lo que hace que sea muy fácil de editar.

En CodeIgniter tuvimos una implementación similar que construimos en un asistente que extraería vistas y nos permitiría enviar correos electrónicos fácilmente. Pero no puedo decirlo lo suficiente, es como si Laravel acabara de sacar todas las pequeñas molestias de CodeIgniter y nos hiciera la vida más fácil. Todas las pequeñas cosas que se implementaron constantemente sobre CodeIgniter salen de la caja con Laravel.

Puedes obtener Tut gratis aquí

Proporciono soporte para la aplicación Laravel a través de este concierto

Ventajas angulares:

  • Es el mejor marco si amas TypeScript
  • Si trabajas en Google, entonces es muy útil
  • Utiliza programación orientada a objetos
  • Puedes construir una aplicación con react native
  • Tiene muchas características

Desventajas angulares:

  • Es pesado marco
  • Da rendimiento lento

-> Los mejores tutoriales para aprender Angular

Ventajas de reacción:

  • Se basa en JavaScript
  • Es lo mejor para quienes trabajan en Facebook.
  • Es un marco flexible

Desventajas de reacción:

  • Alguna sintaxis resistente
  • Tiene un ecosistema limitado

-> Los mejores tutoriales para aprender React

Vue ventajas:

  • Es lo mejor para quienes les gusta el código limpio
  • Es un marco muy ligero.
  • Puedes trabajar solo o tener un equipo pequeño

Desventajas de Vue:

  • Algunos códigos confusos
  • Enlace de atributo no intuitivo
  • El soporte IDE no es genial

→ Los mejores tutoriales para aprender Vue

Según mi experiencia, reaccionar es mejor que vue y luego angular

Feliz aprendizaje !!

En mi opinión, trate de evitar esta pregunta tanto como sea posible.

Cada framework Js tendrá sus propios pros y contras. Y elegir el marco también depende del problema que está tratando de resolver, el tipo de aplicación que está creando y la disponibilidad de desarrolladores en marcos específicos (he visto empresas más de nuevas empresas que cambian sus marcos debido a la falta de desarrolladores experimentados en marcos particulares) .)

Y hay miles de artículos por ahí para convencerlo de aprender angular o reaccionar o ver o cualquier otro marco. Este debate no va a terminar y no hay una respuesta correcta o incorrecta a su pregunta.

Sin embargo, debe considerar algunos factores como qué marco se adopta mucho en poco tiempo, oportunidades de trabajo, comunidad de desarrolladores, razón por la cual construyen el marco, alcance futuro del marco.

Si usted es un desarrollador front-end o aspira a ser uno, creo que su preocupación debería estar en las oportunidades de trabajo.

Entonces, considerando ese punto, creo que puedes comenzar a aprender Angular o React. Ambos tienen muchas oportunidades de trabajo en todo el mundo.

También puede echar un vistazo a esta Encuesta de desarrolladores de desbordamiento de pila 2017.

Pero, recomiendo aprender los tres marcos . Esto lo ayudará a tener aspectos más amplios en muchas tecnologías front-end.

Una infografía sobre marcos de desarrollo web de Eduonix

Vue.JS es una biblioteca de JavaScript comúnmente utilizada para construir interfaces web, sin embargo, cuando se combina con algunas otras herramientas, funciona como un marco completo.

Angular, con el último lanzamiento de la versión, se ha convertido en un marco aún más destacado para el desarrollo web.

Por otro lado, Reach ofrece características ricas como un DOM ligero con un mejor rendimiento. Sin embargo, ¿es Vue.JS mejor que Angular and React?

Aquí hay una infografía para que pueda resolverla usted mismo.

Una infografía sobre marcos de desarrollo web de Eduonix

Saludos,

Sam

Para encontrar el marco más adecuado, debe realizar un estudio exhaustivo y comparativo que evalúe sus fortalezas y limitaciones.

Comparación básica descrita en las dos tablas a continuación:

Para una comparación detallada, consulte nuestra última publicación de blog: Angular V / S Vue V / S React – Elija lo mejor en 2018

El artículo describe el estudio comparativo detallado entre Angular, React y Vue evaluando sus fortalezas y limitaciones.

Así que voy a repasar mis pensamientos en el ring también aquí. Vue.js, aunque es el más nuevo, también está diseñado para crear aplicaciones web de la manera más rápida y con el menor tiempo de configuración posible. Como han dicho otros, cada uno tiene sus propias ventajas y desventajas, diré que personalmente comencé a aprender de Python y algunos de sus marcos antes de intentar React y Angular, y luego me decidí por Vue para mi propio caso de uso. Afortunadamente ahora, puede probarlos todos con poco o ningún esfuerzo, consulte los códigos y la casilla aquí: Editor de códigos en línea adaptado para el desarrollo de aplicaciones web que le brinda un IDE basado en la web para estos marcos solo para jugar.

El problema general al hacer preguntas sobre qué marco / lenguaje es mejor que otro, es porque estas cosas siempre están cambiando. Con cada nueva versión del marco vienen nuevas optimizaciones y nuevas características.

Personalmente, descubrí que Vue es el más fácil para trabajar al conocer -zero- javascript / node / etc. Fue muy fácil de aprender, y me puse a trabajar con él, no pude hacer lo mismo con Angular / React.

¡Solo pruébalo y lo que quieras!

He usado todos los marcos. Mi favorito personal basado en la lógica, la razón y el sentido común es Vue.

Angular se ha basado en componentes, pero se disparó en el pie en 1.xy ahora está tratando de compensar. La versión compensada simplemente no funciona. ¿Un marco pesado para un proyecto front-end? Pensé que el lado del cliente se trata de ser ágil y elegante.

Ahora vamos a reaccionar. Esta es la abominación de Facebook. Aunque el concepto de Componentes es excelente, el uso de JSX y el desorden de complementos de WebPack y el conocimiento de varias bibliotecas son innecesarios.

Vue: comencé a usar Vue y, en media hora, me di cuenta de que Vue es el mejor marco de todo. Después de usar Vue, descubrí que combinaba el enfoque basado en componentes de React y los enlaces basados ​​en directivas de Angular. Vue también puede procesar JSX. Vue también se puede usar con Webpack.

Después de usar Vue, puedo decir claramente que React es un gran montón de tonterías.

Y Angular es una gran pila de caca de perro.

No tiene sentido seguir a un grupo de retrasados ​​en Facebook que crearon un ecosistema retrasado como Reaccionar con filosofías retardadas. El hecho de que sean ingenieros en Facebook y entrar en Facebook es difícil, y porque Facebook solo acepta a los tipos con un GPA alto no significa que siempre hagan un excelente software.

No tiene ningún sentido seguir a Angular porque Google tiene que aceptar que se ha disparado en su pie y ser lo suficientemente valiente como para adoptar Vue.

Recuerde que la verdadera inteligencia está en tener el más alto sentido común. Un sistema de software realmente bueno es algo que es simple de usar y cubre todos los casos de uso.

Vue es sentido común.

Mi consejo para todos los desarrolladores es: dejen de ser seguidores y comiencen a ser líderes. Acepte, promueva y adopte lo que es correcto, defienda lo que es correcto, defienda lo que tiene sentido. Y defiendo a Vue.

Yo diría Vue, pero podría ser parcial.

Hablando en serio. Los tres marcos son geniales, entonces ¿por qué no probarlos todos?

Vea qué marco hace clic con usted y especialícese en él.

Angular, Reaccionar o Vue.

Mi elección personal es Reaccionar con redux. He estado trabajando en Angular JS durante más de dos años y es un gran marco ahora que estoy aprendiendo React.

Vue.js también es una gran opción, pero creo que aprender con Angular2 / 4 o ReactJs es mucho mejor que cualquier otro framework Javascript en el mundo.

Para más detalles, lea este artículo Vue.js es bueno, pero ¿es mejor que angular o reaccionar?

4 razones por las que React-Native Framework ha sido impresionante

Hay una competencia constante entre los sistemas operativos iOS y Android con Google y Apple que presentan nuevas características para ganar más popularidad y, por lo tanto, obtener la ventaja en el mercado de teléfonos inteligentes.

Por interesante que pueda parecer esta competencia constante, el mercado dividido de teléfonos inteligentes obliga a los proveedores de servicios de desarrollo de aplicaciones móviles a crear aplicaciones nativas que sean igualmente efectivas en ambos sistemas operativos. Lee mas…

Aprenda Reaccionar para pruebas actuales y Vue para pruebas futuras.

Aprenda Angular solo si desea buscar trabajo en ese mundo. La curva de aprendizaje solo se justifica si puede encontrar a alguien dispuesto a pagarle por el esfuerzo adicional.

Estoy usando Angular ya que es beta (supongo que hace aproximadamente 2 años) y realmente me gusta. Sin embargo, debo decir que no sé mucho sobre los otros 2 marcos, por lo que realmente no puedo compararlos.

De todos modos, intentaré proporcionar una respuesta, que incluya las cosas que he leído en otras comparaciones de Angular vs. React vs. Vue.

React parece ser más como una biblioteca, no un marco completo. Esto hace que sea más fácil de aprender, ya que no hay muchas cosas incluidas. También te da más libertad y es más liviano.

Angular en el otro lado es un marco completo, que proporciona cosas como enrutamiento, http y mucho más. Esto significa que tienes que aprender y el marco es bastante grande. Pero esto también significa que no tiene que buscar bibliotecas usted mismo y que todo está bien probado y documentado.

No puedo decir mucho sobre Vue, pero mucha gente dice que combina las cosas buenas de Amgular y React. It also seems to be the fastest-growing framework, so I am sure it’s worth a try.

So all 3 can get their job done and are great frameworks. It’s probably a matter of taste which one you preffer but I suggest you to take a look at all of them and decide. Since all 3 are very good, your decision can’t be wrong.

It’s all about your need what you are looking for.

Do you want to learn framework or do you want to learn about libraries having specific role.

If you are interested in framework then go for the Angular and If you want to go for libraries where rest of things to the pipeline is already planned then go for rest of two.

For explicit explanation about each you can find lot off stuff around.

Let me know if this not answer your question.

Gracias.

Angular is also good I found this website to be useful for learning angular js. Have a look at the site. Espero eso ayude.

http://professional-guru.com/ang