¿Qué marco Javascript debería aprender?

No te apresures después de Frameworks. Hay toneladas de Framework en el mercado y algunas nuevas siguen apareciendo de vez en cuando.

Aprende JavaScript muy bien.

  • ¿Puedes explicar la herencia de prototipos y los prototipos?
  • ¿Sabes qué es la delegación de eventos y cuáles son algunos de los escenarios en los que es muy útil?
  • ¿Entiende muy bien el alcance funcional y los cierres? ¿Puedes explicar la importancia de los cierres en JavaScript?
  • ¿Has intentado aprender algunos Node.js?
  • ¿Se puede optimizar una aplicación web para el rendimiento? Si no, aprende mejor las herramientas para desarrolladores de Chrome realmente bien.
  • ¿Cuáles son algunos ejemplos de JavaScript funcional? ¿Conoces las bibliotecas de subrayado / lodash / ramda?
  • ¿Cómo “esto” está vinculado en una función?
  • ¿Te sientes cómodo con jquery / prototype?

Si puede responder a la pregunta anterior conforme, entonces creo que es lo suficientemente inteligente como para juzgar qué marco necesita y qué debe aprender. De lo contrario, aprende JavaScript. Es muy fácil comenzar a usar JavaScript, es difícil dominarlo.

Una vez que se sienta cómodo con JavaScript, aprender cualquier marco y sumergirse profundamente en su código fuente puede ser muy fácil.

¿Te sientes cómodo con JavaScript? Parece que este debería ser tu punto de partida.

Antes de aprender frameworks, debe alcanzar un cierto nivel de experiencia del lenguaje en sí, por ejemplo, ¿sabe qué es la cadena de prototipos? entiendes los alcances? cierres? devoluciones de llamada y promesas?

Si no sabe de lo que estoy hablando, probablemente debería presupuestar “unos meses” para aprender JavaScript puro, entonces estoy bastante seguro de que su pregunta aquí será diferente.

Pero para satisfacer a los curiosos, la mejor opción de una biblioteca frontend de JavaScript para la interfaz de usuario de hoy es ReactJS, y si está buscando un Framework front-end más avanzado, puede elegir Angular.js o Ember. js (ambos están más o menos en el mismo nivel, elige la sintaxis que tenga más sentido para ti)

En cuanto a mí, realmente estoy disfrutando de React y el ecosistema que lo rodea. Sus conceptos básicos son simples de aprender. Es fácil trabajar con pequeñas pruebas de concepto y se escala bien a medida que crece un proyecto. No puedo cuantificar esto, pero sus conceptos me ayudan a escribir un código correcto y sin errores. Si comenzara un nuevo proyecto hoy, React sería la herramienta que elegiría.

Sin embargo, al menos al comparar React, Angular y Ember, no hay un ganador claro. Algunos marcos se ajustan mejor a algunas situaciones que otras. Incluso si nada más, aprender los tres lo ayudará a escribir un mejor código al llevar lo que ha aprendido de cada marco de trabajo al siguiente.

Este es posiblemente uno de los artículos más completos que comparan los tres principales marcos de JS en la actualidad: Angular, Ember y React. http://smashingboxes.com/ideas/c

A medida que se lanzan nuevos lanzamientos todo el tiempo, la respuesta a esta pregunta cambia constantemente. Dicho esto, el futuro es brillante para estos tres marcos. La próxima generación de estos marcos será increíblemente rápida y admitirá la representación del lado del servidor. Angular y React admitirán componentes de IU nativos en iOS y Android. Podemos hacer aún más cosas con estos marcos de lo que pudimos hacer en el pasado.

Pero mira ese artículo para obtener más información comparando estos tres.

En general, estoy de acuerdo con otros que dicen aprender primero Javascript; sin embargo, el problema con ese enfoque es, ¿cómo juzga su propia comprensión? Idealmente, sugeriría acercarse a Javascript y al soporte de marco en paralelo. Te ayudará a aprender. Cree una cuenta en jsFiddle y bifurque ejemplos de código existentes de StackOverflow o de otro lugar. Estos pueden ser Javascript puro, o pueden tener soporte de un marco como JQuery, Ember o Angular. jsFiddle es genial porque te permite controlar la versión de tus muestras y compartirlas si tienes problemas que no puedes resolver.

Con respecto a los marcos y las bibliotecas, es posible que no necesite un marco, pero no debería necesitar más de uno. Una biblioteca resuelve un espacio de problemas más pequeño, mientras que un marco resuelve más problemas globales. Una vez más, jsFiddle es un lugar increíble para probar diferentes marcos y bibliotecas, seleccionándolos en el panel del lado derecho. Incluso si está creando su sitio web personal, sigue siendo una buena práctica crear un violín o un saqueador para cada pieza importante de funcionalidad que utilice. Luego puede ajustarlos de forma independiente y copiarlos cuando los tenga a la perfección.

ReactJS es lo que quieres aprender para el front end. Definitivamente está en un importante repunte y es desarrollado por Facebook. Combínelo con una de las implementaciones de Flux (Alt, Reflux, NuclearJS, etc.) y React Router. Aquí hay algunos recursos excelentes para React y bibliotecas, herramientas relacionadas, etc.

enaqx / awesome-react

También recomendaría usar el compilador Babel ES6 a ES5 y Webpack.

Angular es mucho más complejo que React y realmente no ofrece ningún beneficio para IMO. Lo usé en una aplicación bastante compleja de una sola página recientemente, y prefiero React.

No hay un marco en su camino hacia arriba que no se enfrente hacia abajo …

Aprende Javascript. Aprende conceptos de programación. Si tiene un proyecto en marcha, es posible que ni siquiera requiera un marco o una biblioteca. Algunas bibliotecas bien conocidas y preferidas son jQuery (obviamente), Knockout, Angular1.x para el lado del cliente y React.

Node.js es una buena opción para el desarrollo completo de la pila.

Parece que cada mes hay un nuevo sabor con un culto como el siguiente que sale como la mejor opción para todas sus necesidades. Yo diría que primero aprenda JS (no es un esfuerzo fácil en sí mismo) y luego base su elección de marco en la aplicación (o tipo de) que desea construir o trabajar. Cada marco tiene sus propios pros y contras. Use la mejor herramienta para el trabajo. Realmente no necesita un marco para construir un “sitio web”, per se. Los marcos como Angular, Ember y Backbone son para SPA dinámicos.

Node.js es solo para escribir un servidor, algo para administrar archivos y otras cosas. Esto lo hace back-end.

Mientras tanto, Angular es para Front-end. Se trata de crear buenas interfaces de usuario, barras de menú, jerarquía.

Meteor cubrirá tanto su front-end como su back-end. Página en meteorpedia.com

Cuando encontré a Ramda, me di cuenta de que conocer las bibliotecas, en lugar de frameworks, es una apuesta mucho más segura. La víctima habitual de la guerra de frameworks es el desarrollador habitual. Aún así, si tengo que elegir ahora, iría con React.