javascript - ¿Cómo empiezo con Node.js
(3)
¿Existen buenos recursos para comenzar a utilizar 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.
Usa la fuente, Luke.
No, pero en serio descubrí que la construcción de Node.js desde la fuente, la ejecución de las pruebas y la observación de los puntos de referencia me llevaron al buen camino. Desde allí, 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 ese momento ha aumentado la cantidad de excelentes recursos disponibles para las personas que aprenden Node.js. Aunque sigo creyendo que vale la pena sumergirse 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 salir.
Primero, aprenda los conceptos centrales de Node.js:
Querrá entender el estilo de codificación asíncrono que Node.js recomienda .
Async! = Concurrente. Entender el bucle de eventos de Node.js !
Node.js usa el estilo CommonJS require () para cargar el código; Es probable que sea un poco diferente de lo que estás acostumbrado .
Luego, querrá ver lo que la comunidad tiene para ofrecer:
El estándar de oro para la gestión de paquetes Node.js es NPM .
Es una herramienta de línea de comandos para administrar las dependencias de su proyecto .
NPM también es un registro de casi todos los paquetes de Node.js que existen
Finalmente, querrá saber cuáles son algunos de los paquetes más populares para varias tareas:
Herramientas útiles para cada proyecto:
- Underscore contiene casi todos los métodos básicos de utilidad que desea.
- Lo-Dash es un clon de Underscore que apunta a ser más rápido, más personalizable, y tiene algunas funciones que el subrayado no tiene. Ciertas versiones de la misma se pueden usar como reemplazos directos del guión bajo.
- ¡TypeScript hace que JavaScript sea mucho más soportable, al mismo tiempo que te mantiene fuera de problemas!
- JSHint es una herramienta de verificación de código que te ahorrará un montón de tiempo para encontrar errores estúpidos. Encuentre un complemento para su editor de texto que se ejecutará automáticamente en su código.
Examen de la unidad:
- Mocha es un marco de prueba popular.
- Vows son una Vows fantástica de las pruebas asíncronas, aunque un tanto obsoletas.
- Expresso es un marco de prueba de unidades más tradicional.
- node-unit es otro marco de prueba de unidades relativamente tradicional.
- AVA es un nuevo corredor de pruebas con Babel incorporado y ejecuta pruebas simultáneamente.
Web Frameworks:
- Express.js es, con mucho, el marco más popular.
- Koa es un nuevo marco web diseñado por el equipo detrás de Express.js, que apunta a ser una base más pequeña, más expresiva y más robusta para las aplicaciones web y las API.
- sails.js es el marco MVC más popular para Node.js, y se basa en Express. Está diseñado para emular el patrón familiar de estructuras de MVC 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, Handlebars, 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 la parte superior de Express.js que pretende ser un clon de Ruby on Rails.
- Geddy es otra versión de los frameworks web.
- RailwayJS es un framework 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 incorporado para validación de entrada, 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 adhiriéndose a una filosofía de diseño sencilla, basada en convenciones y basada en API.
Danf es un marco OOP de pila completa que proporciona muchas características para producir aplicaciones escalables, mantenibles, comprobables y con rendimiento, y que permite codificar de la misma manera en ambos lados del servidor (Node.js) y del cliente (navegador).
Derbyjs es un marco de JavaScript de pila completa reactivo. Están utilizando patrones como la programación reactiva y el JavaScript isomorfo durante mucho tiempo.
Loopback.io es un potente marco de Node.js para crear API y conectarse fácilmente a fuentes de datos de back-end. Tiene un SDK de Angular.js y proporciona SDK para iOS y Android.
Herramientas de Web Framework:
- 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 Underscore !
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:
- minimist solo argumento de línea de comando analizando.
- Yargs es una potente 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 maduras e inmersivas.
- Chalk hace que tu salida de CLI sea bonita.
Trabajar con arroyos:
Tutoriales
- NodeSchool.io lecciones interactivas
- The Art of Node (una introducción a Node.js)
- Hola Mundo
- Hello World Web Server (pagado)
- Guía de Node.js
- Construye un blog con Node.js, express y MongoDB
- Node.js para principiantes
- Aprenda Node.js completamente y con confianza
- Node JS Processing Model - Modelo de subproceso único con arquitectura de bucle de eventos
- Node Hero Series de RisingStack
- Grandes tutoriales de Node.js votados por la comunidad de programación.
- Recetas de Node.js
Sitios de desarrolladores
Videos
- Node Tuts (tutoriales en video de Node.js)
- Einführung en Node.js (en alemán)
- Introducción a Node.js con Ryan Dahl
- Node.js: la pureza asíncrona conduce a un desarrollo más rápido
- Programación paralela con Node.js
- JavaScript del lado del servidor con Node, Connect & Express
- Node.js First Look
- Node.js con MongoDB
- Google Tech Talk de Ryan Dahl
- Web en tiempo real con Node.js
- Node.js Tutoriales para principiantes
- Cursos plurales (pagados)
- Udemy Aprende y entiende Nodejs (pagado)
- El nuevo boston
Screencasts
Libros
- El libro del principiante del nodo
- Mastering Node.js
- En marcha y funcionando con Node.js
- Node.js en acción
- Smashing Node.js: JavaScript en todas partes
- Node.js & Co. (en alemán)
- Sam''s Teach Yourself Node.js en 24 horas
- Lista más detallada de libros gratuitos de JavaScript
- El libro de nodos de Mixu
- Node.js de la manera correcta: Práctico, JavaScript del lado del servidor que se escala
- Comenzando el desarrollo web con Node.js
- Desarrollo Web Nodo
- NodeJS para la dominación universal justa!
Los cursos
Blogs
Podcasts
Recursos de JavaScript
- Videos de Crockford (hay que verlo!)
- Patrones esenciales de diseño de JavaScript para principiantes
- Jardín de JavaScript
- Libro de patrones de JavaScript
- JavaScript: El libro de Good Parts
- Elocuente libro javascript
Módulos Node.js
- Buscar módulos registrados en Node.js
- Una lista curada de bibliotecas Node.js impresionantes
- Lista de wiki en GitHub / Joyent / Node.js (¡comience aquí por última vez!)
Otro
- JSApp.US - como jsfiddle, pero para Node.js
- Nodo con VJET JS (para Eclipse IDE)
- Sitios de producción con fuente publicada:
- Herramientas útiles de Node.js, tutoriales y recursos
- 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