¿Cuál es el mejor y más relevante marco MVC para aprender con una comprensión bastante buena de Javascript vainilla?

Después de haber escrito varias aplicaciones de grado de producción a gran escala (más de 30k líneas de código fuente Javascript o Coffeescript) en Marionette, Ember y React & Friends, elegiría React. Este es el por qué:

  1. Es un patrón de vista (por falta de un término mejor), de los cuales la implementación HTML / DOM es la más conocida. También hay React Native, React Blessed (para interfaces de consola), React Canvas y probablemente más por venir (si entiendo correctamente, Netflix también lo usa para manejar interfaces SmartTV).
  2. React sí mismo tiene una pequeña API. Puede aprender a escribir componentes y agregar algunas rutas básicas dentro de medio día. Agregue un par de días más para patrones avanzados y sabrá todo lo que hay que saber sobre React.
  3. Tiene una historia coherente sobre el renderizado “Universal”, donde el primer render y todos los datos para ese renderizado son realizados por su servidor, después de lo cual el cliente recoge sin problemas y sin contenido feo debido a los cambios de diseño, etc.
  4. Es extremadamente composable (componentes que contienen componentes que contienen componentes, etc.).
  5. Tiene un ecosistema rico y de alta calidad, desde elementos de alto nivel como UI Frameworks, hasta API de bajo nivel para cosas como animación o gestión de estado. Además de las cosas que están específicamente construidas para React, para mí las barreras entre React y el resto del ecosistema Javascript se sienten muy fluidas. ¿Necesita validar formularios? Elija cualquiera de los increíbles validadores de esquema de JavaScript que están disponibles en NPM, como Validate.js, y escriba un componente simple de orden superior.
  6. Trae otros estilos de programación además de OOP (funcional / funcional reactivo) más profundo en su base de código. Hay bibliotecas de administración de estado (las M y C en MVC si se quiere) construidas completamente en Observables, con estructuras de datos inmutables en su núcleo.

¿Entonces por qué no? Sería falso decir que no hay inconvenientes para reaccionar, y si alguien no puede nombrar ninguno en su respuesta, eso debería ser una señal de alerta.

  1. No a todo el mundo le gusta JSX, el “lenguaje de plantilla” de React si lo desea, o el hecho de que su plantilla viva en el mismo archivo que el resto de su declaración de vista.
  2. Aunque la API de React es pequeña, no tiene un sistema integrado para cosas importantes, como administrar el estado, lidiar con la asincronía, etc., como lo hacen Backbone, Ember o Angular. Lo que esto significa es que debe conocer el ecosistema y ser proactivo en seguir las tendencias y actualizar las dependencias, etc. También significa que necesita un convenio de código de rango más amplio en una gran base de código.
  3. Las herramientas pueden ser desalentadoras para principiantes: reemplazo de módulo caliente, reacción, transformación, Babel … Es mucho para asimilar.

Entonces, ¿qué necesitaría saber para poder escribir aplicaciones de grado de producción en React? (las bibliotecas a continuación son las que uso, hay alternativas bien documentadas para cada una de ellas)

  • Enrutamiento
  • Administración del Estado
  • Asincronía
  • Manejo de efectos secundarios

Consideraría pasar por SurviveJS o React For Beginners, ya que cubre la mayoría de estos temas en profundidad. También valdrá la pena profundizar en la programación funcional en Javascript y aprender ES2015 / ES2016, limpia mucho la sintaxis.

Tampoco no es importante: sí, React tiene una forma de renderizar en el servidor en varias plataformas. Sin embargo, es posible que no lo necesite (si no necesita SEO, por ejemplo), y si lo hace, prepárese para asumir el conocimiento del dominio que lo acompaña con respecto a escribir un buen código NodeJS y probar, implementar y monitorear la producción aplicaciones.

Angularjs con Entity Framework.