Si tiene que elegir entre React y Angular 2/4 en 2017 para desarrollar la parte frontal de un producto desde cero, ¿cuál preferiría? ¿Por qué?

Me gustan mucho los dos. Diría que su decisión debe basarse en el tamaño de su aplicación y la cantidad de desarrolladores que trabajan en ella. Angular le brinda todo lo que necesita para crear una aplicación que le permite sumergirse fácilmente en la creación de la lógica de su aplicación. No necesita preocuparse por el cableado, el enrutamiento, etc.

React tiene una gran cantidad de paquetes que se pueden implementar para lograr estas cosas, y son tan rápidos y fáciles como React. La desventaja es que son paquetes distintos, donde Angular es una estructura singular. Todo en los paquetes principales de Angular siempre funcionará en conjunto, porque están siendo desarrollados por el mismo equipo. Entonces, si cree que terminará aprovechando una gran cantidad de productos estándar, probablemente debería optar por Angular sobre React porque es una implementación única.

Si crees que tienes el presupuesto y la capacidad, y si sabes cómo diseñar una aplicación de manera eficiente , elegiría React. Es muy liberador hacer lo que necesita de la manera que sea más eficiente. No puedes hacer eso en Angular. Debes hacerlo de forma angular.

Una posible vía intermedia es implementar React with Flux y Redux, lo que hace que React sea algo similar a Angular. Aún así, si quieres ir por este camino, creo que Angular sería más fácil de usar y usar.

Esto fue un poco divagante de una respuesta y me disculpo por eso. En pocas palabras, Angular te permitirá desarrollarte más rápidamente, pero React te dará más libertad. Si su proyecto es como la mayoría de los proyectos pequeños, lo que significa que no tiene muchos desarrolladores y desea simplemente trabajar, me inclinaría por Angular.

Estas son dos herramientas diferentes que logran cosas diferentes aunque hay superposición. Angular es un marco para crear SPA’s: tiene todo lo que necesita para construir su aplicación. React es una biblioteca que se ocupa principalmente de la vista, pero a través de complementos puede aproximar el paquete angular.

La herramienta que utiliza una persona depende de la persona y del problema que está tratando de resolver. Angular me tomó más tiempo para estar al tanto que React, pero después de dedicarle tiempo, me he apegado realmente a él. Escucho lo que dice la gente sobre React, que te da más libertad, pero esto tiene su lado negativo: poder hacer lo que quieras de la manera que quieras (especialmente con un equipo o un proyecto que pasa de un desarrollador a otro) en el que puedes entrar problemas en términos de gestión de código. Si no te gusta la estructura de las fuerzas angulares sobre ti, entonces reaccionar es la opción obvia. Si la estructura es importante, entonces Angular es una buena opción

React tiene una curva de aprendizaje más superficial, pero personalmente creo que el tiempo requerido para dominar Angular está bien empleado.

Es imposible (en mi opinión recomendar uno sobre el otro) ambos están bien soportados y ambos han demostrado su eficacia en términos de entrega.

Una cosa que diré es que ten cuidado con los comentarios que lees que intentan poner React sobre Angular; en muchos casos, encuentro que la persona que patea React simplemente no ha tenido el tiempo suficiente para familiarizarse con Angular y, por lo tanto, es no dando un punto de vista objetivo.

Prefiero Angular por algunas razones:

  • Encuentro a JSX feo, esto es, lo admito, muy personal y YMMV
  • Tiendo a preferir frameworks con todas las funciones en lugar de un mejor enfoque, o roll-your-own, dependiendo de sus preferencias, enfoque; Quiero piezas que fueron diseñadas y construidas para trabajar juntas en las que no tengo que hacer el trabajo preliminar
  • Tengo mucha experiencia con AngularJS: sé que son significativamente diferentes, pero todavía hay algunos conceptos que lo han hecho de uno a otro.

Aquí hay muchas respuestas excelentes, así que solo agregaré un punto rápido para pensar.

* Típicamente * si sé que mi aplicación será un SPA completo (aplicación de una sola página), entonces elegiré Angular desde el principio. Si está creando casi cualquier cosa más simple que una aplicación dinámica completa (la mayoría de los sitios web), la ligereza y simplicidad de React le facilitarán la vida.

*** Por supuesto, estas son generalizaciones y debe comparar los comentarios con los requisitos de su proyecto.

React.js offcourse.

React ha cambiado muchas nociones que se siguieron erróneamente en Angular. Tuvimos que escribir mucho código y la complejidad nunca disminuyó.
La representación rápida es una de las mejores características de React.
Virtual DOM es ideal para aplicaciones con grandes bases de datos.
Al estar centrado en JS , es más simple y consistente que los marcos angulares / angulares2 centrados en html,

Nos especializamos en React.js y en el desarrollo React Native. Conéctese para toda nuestra cartera de aplicaciones hechas en reaccionar.

http://www.ncoresoft.com

[correo electrónico protegido]

Respuesta corta (pros para ambos):

Angular, un marco para el desarrollo web:

  • Batería incluida (solicitud ajax, enrutamiento, etc.)
  • Puede separar HTML, CSS, TS (mecanografiado)

Reaccionar , biblioteca para UI

  • Gran comunidad
  • Todavía JavaScript (ES6)

Ambos tienen un gran padre, Google para Angular, Facebook para React

Yo iría por Reaccionar. He estado usando Angular 1.5 y Angular 2.0. El problema con Angular es sus extensiones propietarias de HTML. En Angular, crea archivos HTML que contienen código HTML no estándar como:

Las extensiones de HTML, como la sintaxis ngFor, es un lenguaje de script completo. Esto hace que Angular sea grande. Mucho más grande que React, que utiliza la sintaxis JSX mucho más simple y elegante. Hay muchos otros marcos web que también usan la sintaxis JSX.

En JSX puedes incrustar HTML dentro de tu código. Eso significa que está utilizando JavaScript para su lógica, no un lenguaje de secuencias de comandos propietario como el que tiene en las plantillas de Angular HTML. Cuando escribe esto dentro de su javascript en un archivo React:

El compilador jsx simplemente lo reemplaza con este JavaScript:

React.createElement (
‘div’,
{className: ‘barra lateral’},
nulo
)

Realmente no eliges entre angular 2 y 4. Eliges entre 1 y 2/4/6 / x ya que 2 fue una reescritura completa. El código angular (1) no es compatible con el angular (2+), por lo que su elección se encuentra allí. Si aún no ha comenzado y no conoce ninguno de los dos, iría con la versión más reciente.

Después de leer la respuesta más popular, me gustaría agregar una comparación más:

Reactjs es mucho más fácil de comenzar que Angularjs 2.

De un nuevo iniciador de Reactjs y Angularjs, descubrí que no necesitas aprender muchas cosas nuevas para comenzar en Reactjs, es básicamente html en Javascript y me acostumbro fácilmente.

Mientras que AngularJs 2 (no usó 4, pero escuchó que es similar a 2 pero puede descartarse y usarse) crea una sintaxis tremenda, nuevas palabras clave y cada una de ellas requiere que aprenda cómo funciona y cómo se puede usar. Entonces Angularjs tiene una larga curva de aprendizaje.