Este documento presenta una introducción a Node.js, incluyendo qué es Node.js, por qué usarlo, cómo instalarlo e implementarlo, el rol de los módulos, y cómo automatizar tareas con GruntJS. Node.js es un entorno de ejecución para aplicaciones web escalables usando JavaScript, y tiene buen rendimiento gracias a operaciones asíncronas. Los módulos proveen funcionalidades reusables, y GruntJS puede automatizar tareas como minificación y pruebas unitarias.
1. Creación de
Aplicaciones Web
Escalables con
Node.js
Módulo 1: Introducción a
Node.js
Oscar Gensollen Arroyo
Microsoft Certified Trainer
MCSD Web + SharePoint
Arquitecto, Consultor en TI
oscar.gensollen@formativaperu.com
@oscargensollen
2. Agenda
¿Qué es Node.js?
¿Por qué Node.js?
Instalando Node.js.
Entornos de trabajo.
Versión de JavaScript soportada.
El rol de los módulos en Node.js.
Manejo de dependencias.
Depurando programas con Visual Studio.
Usando GruntJS para automatización.
3. ¿Qué es Node.js?
Node.js es un entorno de ejecución
(basado en el motor JS V8 de Chrome)
para ejecutar aplicaciones empleando
JavaScript como lenguaje de
programación
Tiene buen rendimiento pues usa eventos
asíncronos y operaciones no bloqueantes
Es una de las formas más rápidas y fáciles
para desarrollar aplicaciones en tiempo
real
4. ¿Por qué Node.js?
Se programa con JavaScript, que es un
lenguaje popular que ha permitido crear
las aplicaciones web dinámicas que
tenemos hoy
Tiene un ecosistema completo de
módulos, protocolos y frameworks que
facilitan el desarrollo
Con Node.js podemos unificar el lenguaje
de desarrollo (front-end y back-end)
5. Instalando Node.js
Se descarga el instalador desde
http://nodejs.org/download/
Para verificar la instalación:
Abra el Node.js Command Prompt
Escriba “node” y pulse ENTER para abrir el REPL
Ingrese alguna sentencia de JavaScript, debe
observar el resultado que corresponda
6. Entornos de trabajo
Para trabajar con Node.js disponemos de varias
herramientas o entornos de desarrollo (IDE)
como
Sublime (http://www.sublimetext.com/)
WebStorm (http://www.jetbrains.com/webstorm/)
Visual Studio .NET 2013 Update 2 / 2012 Update 4
En el ultimo caso, se deben instalar las Node.js
Tools for Visual Studio desde:
http://nodejstools.codeplex.com/releases/view/1
19433
8. Versión de JavaScript
soportada
Al usar el motor V8 de Chrome, Node.js
implementa ECMAScript-262 3ra edición o
JavaScript 1.5
Es así que se soportan todas las características
conocidas de JS como:
Loose typing, Object literal notation, Funciones,
Arreglos, Prototype y Nomenclatura
Adicionalmente soporta una clase Buffer para
manejar datos binarios de manera eficiente
Tomar en cuenta sin embargo que al ejecutar
Node.js del lado servidor, no soporta el DOM del
browser
9. El rol de los módulos en Node.js
En Node.js las diferentes funcionalidades se
definen en contenedores llamados ‘modulos’
Lista disponible en https://www.npmjs.com/
Los módulos se pueden instalar usando:
La herramienta npm (Node Package Manager),
Sintáxis:
npm install <modulo> <opciones>
La opción Manage npm Modules… de Visual Studio
Se pueden instalar en 2 ubicaciones:
Local: en el Proyecto actual, se descargan en la
carpeta node_modules
Global: para que puedan ser utilizados en
cualquier Proyecto, se ubican en /lib
10. Manejo de Dependencias
Las dependencias de un Proyecto se definen en
el archivo package.json
Existen 3 tipos de dependencias:
Estándares
De desarrollo
Opcionales
11. Módulos Comunes
Módulo Descripción
http Módulo principal responsible del servidor HTTP
Util Utilidades para depurar
querystring Utilidades para trabajar con query strings
url Utilidades para resolución y parseo de URLs
fs Manejo de operaciones con el Sistema de archivos,
tales como lectura y escritura
12. Uso de módulos
Se usa require(‘modulo’)
Ejemplos:
var http = require(‘http’);
var url = require('url');
Una vez obtenidos, los módulos se mantienen en
cache
Si son módulos locales se usa:
require(‘ruta_de_modulo’), por ejemplo:
var calculos = require(‘./calculos.js’);
13. Dependencias de carpetas
Se usa require(‘carpeta’)
Ejemplos:
var librerias= require(‘librerias’);
En esta carpeta se pueden definir varios archivos
js, donde el punto de inicio es el archive index.js
14. Depurando programas con
Visual Studio
Las Node.js Tools for VS permiten depurar código
JavaScript, empleando conocidas herramientas
como:
Locals
Watch
Inmediate
Call Stack
Simplemente se debe ejecutar la aplicación con
F5 y se iniciará el motor de Node con el script
inicial del Proyecto (app.js o server.js)
15. Usando GruntJS para
automatización
Disponible en http://gruntjs.com/
Es un task runner, que permite automatizar tareas
repetitivas como:
Minificación de js
Compilación
Pruebas unitarias
Validación de código, entre otros
Se configura creando un archivo gruntfile.js
16. GruntJS, ejemplo de uso
Reiniciar node cuando se modifica un archivo js
1. gruntfile.js:
2. En REPL ejecutar grunt
17. ¿Quieres más información?
Tenemos cursos en línea, en diversas modalidades
¡Contáctanos!
www.formativaperu.com
ventas@formativaperu.com