Bienvenid@s al mundo de nOOOde

Una introducción sobre Node y NPM

¿Quién soy?

Jose Dongil

Desarrollador Web

Blog @jdonsan Charla

BLOQUE I

INTRODUCCIÓN

Un viaje de cliente a servidor

Front vs Back

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

Cómo instalar en Ubuntu

Instalar Node

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
Logo JavaScript

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

Meme sobre NPM

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

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

gracias