Bienvenid@s al mundo de nOOOde
Una introducción sobre Node y NPM
BLOQUE I
INTRODUCCIÓN
Un viaje de cliente a servidor
EL MUNDO DE NODE
Plataforma de desarrollo Backend
Son un conjuntos de componentes que nos permite desarrollar: APIS, aplicaciones de consola, aplicaciones de escritorio, entre otros...
Cómo instalar en Ubuntu
El motor V8
> Interpretando tu JavaScript
-
Motor JavaScript de Google
Herramienta creada para Chrome -
Interpreta y optimiza
Convierte JavaScript en código máquina -
Usado por NodeJS
Al ser Open Source, cualquiera puede usarlo
JavaScript
Un lenguaje para gobernarlos a todos
-
Propósito general
Desarrollo en cliente y servidor -
Un único lenguaje
Mejor comunicación entre equipos -
Universal
Reutilización de código
BLOQUE II
APRENDIENDO NPM
Crear un módulo
$ npm init
package.json
{
"name": "node-js-sample",
"version": "0.2.0",
"description": "A sample Node.js app using Express 4",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"express": "^4.13.3"
},
"keywords": [
"node"
],
"author": "Mark Pundsack",
"license": "MIT"
}
Instalar dependencia global
$ npm install -g gulp
Instalar dependencia de producción
$ npm install express --save
Instalar dependencia de desarrollo
$ npm install node-sass --save-dev
Desinstalar dependencia
$ npm uninstall node-sass --save-dev
Ejemplo
BLOQUE III
APRENDIENDO NODE
Demo 1
HELLO WORLD
Demo 2
USANDO DEPENDENCIAS DE NPM
Demo 3
USANDO REQUIRE Y EXPORTS
Demo 4
LEYENDO FICHEROS (LA ASINCRONÍA)
Demo 5
USANDO EXPRESS
Checklist para afianzar conocimientos
- Aprender Asincronía y patrones para gestionarla (callback y promesa)
- Aprender a modularizar (require y exports)
- Aprender paquetes nativo (fs, path, http..)
- Aprender NPM (init, install, uninstall...)
- Aprender a buscar en NPM
Recursos
-
NodeJS Awesome
Enlace oficial -
Curso de Node de Carlos Azaustre
Listado de vídeos -
NodeJS Design Patterns
Página oficial
preguntas
BLOQUE IV
PRACTIQUEMOS UN RATO
REQUISITOS
- Hacer la API para una Web. Repo: https://github.com/jdonsan/charla-node-npm-practica
- Los endpoints a crear y su funcionamiento son:
[GET] - 200 - /api/adventures/characters // Devuelve todos los personajes de Hora de Aventuras [GET] - 200 - /api/adventures/characters/:id // Devuelve solo el personaje que tenga el id indicado
- Los datos se encuentran en /data/adventures.json
- Si hay un fallo devolver error 400
- Devolver datos en formato JSON
- Escuchar en el puerto 3000