¿Cómo aprendo el ecosistema javascript para hacer aplicaciones reales?

Tengo programación conocimiento con 3 años de experiencia en. net. ¿Qué debo aprender a bucear en JavaScript y su ecosistema (Angular.js, meteor rubí, node.js, etc.) para crear aplicaciones reales? He leido tutoriales js, la sintaxis es aceptable para mí pero son pedazos, realmente no ligarse con otras herramientas.

Respuesta

¡Hola! Compañero "net expat" aquí, ya un arquitecto de software de SQL Server, ASP .net MVC y WPF (ambos a través de C#). Me he ido "JavaScript universal" para los últimos 3 años ahora y no mirar atrás! Me he roto por unos conceptos básicos que puente ojala lo que vienes a esperar el ecosistema. net.

Lo más importante de JavaScript es que las opciones son casi ilimitadas. Esto ha contribuido a lo que se ha denominado fatiga de JavaScript, pero en mi opinión (tal vez soy sólo una sombra optimista), este es su mayor fortaleza.

Casi puede pensar del ecosistema como "sacar las ruedas de entrenamiento" que estábamos en tierra de Microsoft. Examen profundo y pragmático de su dominio del problema es esencial.

Dicho esto, aquí algunos conceptos que probablemente solían de .net y JS potenciales equivalentes para desarrollo de aplicaciones web.

De IDE

Equivalente. net: Visual Studio

Opciones

Gestores de paquetes

Net equivalente: NuGet

Opciones

Marcos de backend

Net equivalente: ASP .net (MVC, WebAPI)

Opciones

ORM

Net equivalente: EntityFramework, nHibernate

Opciones

Marcos de front-end

Net equivalente: n / a

Opciones

Herramientas de front-end de la construcción

Net equivalente: n / a

Opciones

Pruebas unitarias

Net equivalente: NUnit, Microsoft Unit Testing Framework

Opciones

Genial, así que ¿qué debo aprender?

Como he mencionado anteriormente, no hay ninguna escasez de opciones en el ecosistema JavaScript. Mientras estábamos acostumbrados a recibir dictados Cuáles son las mejores herramientas en tierra de Microsoft, en JavaScript (y sistemas operativos en general) la pelota se detiene contigo. Dicho esto, generalmente comprobar para estos criterios, cada vez que elijo un marco o una biblioteca:

  1. ¿Lo suficientemente se solucionó mi problema y problemas en el futuro previsibles?
  2. ¿Tiene apoyo de la comunidad buena?
  3. ¿Es (relativamente) ampliamente adoptado?
  4. ¿Me permite ser lo suficientemente flexible como para migrar apagado si es necesario?

Como un ejemplo inventado, una aplicación web moderna podría tener este aspecto:

  • Front-end: Reaccionar y Redux
  • Herramientas front-end: Webpack
  • Back-end: Restify
  • Pruebas unitarias: Mocha

Todas las cosas consideradas, desarrollo JavaScript universal ha sido en gran medida más plenas, agradable y desafiante de. net, en mi opinión. Siento que JavaScript desarrollo me ha convertido en un mejor desarrollador. No te das cuenta cuánto oculta de .net de usted (por lo tanto, mi "entrenamiento ruedas" analogía antes) que probablemente no debería ser ocultada.

En cualquier caso, le deseo que suerte en tu viaje en este ecosistema emocionante!


Tags: Aprendizaje al programa, Programación informática, JavaScript (lenguaje de programación), Ruby (lenguaje de programación), AngularJS, Node.js, Meteoro (plataforma de Javascript)