¿Cómo empiezo con Node.js [cerrado]
¿Existen buenos recursos para comenzar con Node.JS? ¿Algún buen tutorial, blog o libro?
Por supuesto, he visitado su sitio web oficial http://nodejs.org/ , pero no creo que la documentación que tienen sea un buen punto de partida.
Puede seguir estos tutoriales para comenzar:
Tutoriales
Lecciones interactivas de NodeSchool.io
El arte de Node (una introducción a Node.js)
Hola Mundo
Hola servidor web mundial (pago)
Guía de Node.js
Cree un blog con Node.js, express y MongoDB
Node.js para principiantes
Aprenda Node.js completamente y con confianza
Modelo de procesamiento de Node JS: modelo de subproceso único con arquitectura de bucle de eventos
Serie Node Hero de RisingStack
Excelentes tutoriales de Node.js votados por la comunidad de programación
Tutorial de Node.js
30 días de Nodo
Sitios de desarrollador
- Sitio de desarrollador de Joyent para node
- Profesor de tutorías
Vídeos
- Node Tuts (tutoriales en vídeo de Node.js)
- Einführung en Node.js (en alemán)
- Introducción a Node.js con Ryan Dahl
- Node.js: la pureza asincrónica conduce a un desarrollo más rápido
- Programación paralela con Node.js
- JavaScript del lado del servidor con Node, Connect & Express
- Primer vistazo a Node.js
- Node.js con MongoDB
- Charla tecnológica de Google de Ryan Dahl
- Web en tiempo real con Node.js
- Tutoriales de Node.js para principiantes
- Cursos de visión plural (pagos)
- Udemy Aprende y comprende Nodejs (pago)
- El nuevo Boston
Screencasts
- Aprenda todos los nodos
- Tuts de nodo
- Einführung en Node.js (en alemán)
- Nodos
Libros
- El libro para principiantes de Node
- Dominar Node.js
- En funcionamiento con Node.js
- Node.js en acción
- Destrozando Node.js: JavaScript en todas partes
- Node.js & Co. (en alemán)
- Sam's Aprenda usted mismo Node.js en 24 horas
- Lista más detallada de libros JavaScript gratuitos
- Libro de nodos de Mixu
- Node.js de la manera correcta: JavaScript práctico del lado del servidor que escala
- Comenzando el desarrollo web con Node.js
- Desarrollo web de nodo
- ¡NodeJS para una dominación universal justa!
Cursos
- Web en tiempo real con Node.js
- Node.js esencial de DevelopMentor
- Freecodecamp - Aprende a codificar gratis
- Udemy: el curso completo para desarrolladores de Node.js (tercera edición) (pago)
Blogs
- El blog de Node.js
- Cómo hacer un nodo
- diariojs
- Blog de Nodejitsu
- Libro blanco de Ryan Wilcox
- pensamiento de desarrollo
Pódcasts
- Nodo arriba
Recursos de JavaScript
- Vídeos de Crockford (¡hay que verlos!)
- Patrones de diseño de JavaScript esenciales para principiantes
- jardín de javascript
- Libro de patrones de JavaScript
- JavaScript: El libro de las partes buenas
- Libro javascript elocuente
Módulos de Node.js
- Buscar módulos Node.js registrados
- Una lista seleccionada de increíbles bibliotecas de Node.js
- Lista Wiki en GitHub/Joyent/Node.js (¡empiece aquí al final!)
Otro
- JSApp.US: como jsfiddle, pero para Node.js
- Nodo con VJET JS (para Eclipse IDE)
- Sitios de producción con fuente publicada:
- Hackathon Node Knockout (fuente)
- Freecodecamp: aprende a codificar gratis (fuente)
- Herramientas, tutoriales y recursos útiles de Node.js
- Runnable.com: como jsfiddle, pero también para el lado del servidor
- Comenzando con Node.js en Heroku
- Comenzando con Node.js en Open-Shift
- Autenticación mediante pasaporte
Primero, aprenda los conceptos básicos de Node.js:
Querrá comprender el estilo de codificación asincrónica que fomenta Node.js.
Asíncrono! = concurrente. ¡Comprenda el bucle de eventos de Node.js !
Node.js usa require() estilo CommonJS para cargar código; Probablemente sea un poco diferente de lo que estás acostumbrado .
Familiarícese con la biblioteca estándar de Node.js.
Entonces querrás ver lo que la comunidad tiene para ofrecer:
El estándar de oro para la gestión de paquetes de Node.js es NPM .
Es una herramienta de línea de comandos para gestionar las dependencias de su proyecto .
Asegúrese de comprender cómo interactúan Node.js y NPM con su proyecto a través de la carpeta node_modules y package.json .
NPM también es un registro de prácticamente todos los paquetes de Node.js que existen.
Finalmente, querrás saber cuáles son algunos de los paquetes más populares para diversas tareas:
Herramientas útiles para cada proyecto:
- El guión bajo contiene casi todos los métodos de utilidad principales que desee.
- Lo-Dash es un clon de Underscore que pretende ser más rápido, más personalizable y tiene bastantes funciones que underscore no tiene. Ciertas versiones se pueden utilizar como reemplazos directos del guión bajo.
- TypeScript hace que JavaScript sea considerablemente más llevadero y, al mismo tiempo, te mantiene alejado de problemas.
- JSHint es una herramienta de verificación de código que le ahorrará mucho tiempo buscando errores estúpidos. Encuentre un complemento para su editor de texto que lo ejecutará automáticamente en su código.
Examen de la unidad:
- Mocha es un marco de prueba popular.
- Vows es una versión fantástica de las pruebas asincrónicas, aunque algo obsoleta.
- Expresso es un marco de prueba unitario más tradicional.
- node-unit es otro marco de pruebas unitarias relativamente tradicional.
- AVA es un nuevo ejecutor de pruebas con Babel integrado y ejecuta pruebas al mismo tiempo.
Marcos web:
- Express.js es, con diferencia, el marco más popular.
- Koa es un nuevo marco web diseñado por el equipo detrás de Express.js, cuyo objetivo es ser una base más pequeña, más expresiva y más sólida para aplicaciones web y API.
- Sails.js es el marco MVC más popular para Node.js y está basado en Express. Está diseñado para emular el patrón MVC familiar de marcos como Ruby on Rails, pero con soporte para los requisitos de las aplicaciones modernas: API basadas en datos con una arquitectura escalable y orientada a servicios.
- Meteor agrupa jQuery, manillares, Node.js, WebSocket , MongoDB y DDP y promueve la convención sobre la configuración sin ser un clon de Ruby on Rails .
- Tower ( en desuso ) es una abstracción de una parte superior de Express.js que pretende ser un clon de Ruby on Rails.
- Geddy es otra versión de los marcos web.
- RailwayJS es un marco web MVC inspirado en Ruby on Rails.
- Sleek.js es un marco web simple, construido sobre Express.js.
- Hapi es un marco centrado en la configuración con soporte integrado para validación de entradas, almacenamiento en caché, autenticación, etc.
Trails es un marco de aplicación web moderno. Se basa en el pedigrí de Rails y Grails para acelerar el desarrollo al adherirse a una filosofía de diseño sencilla, basada en convenciones e impulsada por API.
Danf es un marco de programación orientada a objetos de pila completa que proporciona muchas características para producir aplicaciones escalables, mantenibles, comprobables y de alto rendimiento y que permite codificar de la misma manera tanto en el lado del servidor (Node.js) como en el del cliente (navegador).
Derbyjs es un marco JavaScript reactivo de pila completa. Están utilizando patrones como la programación reactiva y JavaScript isomórfico durante mucho tiempo.
Loopback.io es un potente marco Node.js para crear API y conectarse fácilmente a fuentes de datos backend. Tiene un SDK de Angular.js y proporciona SDK para iOS y Android.
Herramientas de marco web:
- Jade es el HAML/Slim del mundo Node.js
- EJS es un lenguaje de plantillas más tradicional.
- ¡No te olvides del método de plantilla de subrayado !
Redes:
- Connect es el Rack o WSGI del mundo Node.js.
- Request es una biblioteca de solicitudes HTTP muy popular.
- socket.io es útil para construir servidores WebSocket.
Interacción de línea de comando:
- minimizar solo el análisis de argumentos de línea de comando.
- Yargs es una poderosa biblioteca para analizar argumentos de línea de comandos.
- Commander.js es una solución completa para crear aplicaciones de línea de comandos de un solo uso.
- Vorpal.js es un marco para crear aplicaciones de línea de comandos inmersivas y maduras.
- Chalk hace que la salida CLI sea bonita.
Generadores de código:
- Herramienta Yeoman Scaffolding desde la línea de comandos.
- Generador de código Skaffolder con interfaz visual y de línea de comandos. Genera una aplicación CRUD personalizable a partir del esquema de la base de datos o un archivo YAML OpenAPI 3.0.
Trabajar con transmisiones:
- mississipi todo lo que extrañas de las transmisiones.
- https://github.com/calvinmetcalf/streams-a-love-story
- http://maxogden.com/node-streams.html
- https://github.com/substack/stream-handbook
- Cómo las transmisiones ayudan a aumentar el rendimiento de Node.js
Usa la fuente, Luke.
No, pero en serio, descubrí que construir Node.js desde el código fuente, ejecutar las pruebas y observar los puntos de referencia me llevó por el camino correcto. A partir de ahí, los archivos .js en el directorio lib son un buen lugar para buscar, especialmente el archivo http.js.
Actualización: escribí esta respuesta hace más de un año y desde entonces ha habido una explosión en la cantidad de excelentes recursos disponibles para las personas que aprenden Node.js. Aunque todavía creo que vale la pena profundizar en la fuente, creo que ahora hay mejores formas de comenzar. Sugeriría algunos de los libros sobre Node.js que están empezando a publicarse.