SlideShare una empresa de Scribd logo
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
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.
¿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
¿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)
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
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
Node.js Tools for Visual Studio
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
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
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
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
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’);
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
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)
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
GruntJS, ejemplo de uso
Reiniciar node cuando se modifica un archivo js
1. gruntfile.js:
2. En REPL ejecutar grunt
¿Quieres más información?
Tenemos cursos en línea, en diversas modalidades
¡Contáctanos!
 www.formativaperu.com
ventas@formativaperu.com

Más contenido relacionado

PPTX
Introduccion a Nodejs
PPTX
Node JS (Francisco Cerdas)
PDF
Introducción a Node.js
PDF
Introducción a NodeJS
PDF
Introducción a Node.js
KEY
Introducción a NodeJS
PDF
Curso node.js
Introduccion a Nodejs
Node JS (Francisco Cerdas)
Introducción a Node.js
Introducción a NodeJS
Introducción a Node.js
Introducción a NodeJS
Curso node.js

La actualidad más candente (20)

PPTX
Introducción Nodejs
PPT
Nodejs.introduccion
ODP
Node.js - Eventos para Todos
PPTX
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
PPTX
PPTX
Node.js - un poco de informacion.
PDF
PDO: Capa de abstracción de base de datos con PHP
PDF
NodeJS y MongoDB
PPTX
NodeJS
 
PDF
Dockeriza tu entorno de desarrollo
PDF
Tecnologias emergentes node js
PPTX
Presentacion node
PDF
Introducción a herramientas de Roots (José Debuchy, WCBA 2017)
PDF
Docker orientado al desarrollo de aplicaciones con NodeJS
PPTX
JavaScript Async | Juan Miguel Alcalá
PDF
Entorno de desarrollo rápido con Vagrant
PDF
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
PPTX
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
PPT
Zend Framework 2 y MongoDB
Introducción Nodejs
Nodejs.introduccion
Node.js - Eventos para Todos
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Node.js - un poco de informacion.
PDO: Capa de abstracción de base de datos con PHP
NodeJS y MongoDB
NodeJS
 
Dockeriza tu entorno de desarrollo
Tecnologias emergentes node js
Presentacion node
Introducción a herramientas de Roots (José Debuchy, WCBA 2017)
Docker orientado al desarrollo de aplicaciones con NodeJS
JavaScript Async | Juan Miguel Alcalá
Entorno de desarrollo rápido con Vagrant
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
Zend Framework 2 y MongoDB
Publicidad

Similar a Introduccion a Node.js (20)

PDF
¿Que es javascript y Modulos?
PDF
Rompiendo paradigmas
PPTX
Curso introductorio a Raptor.js con Node.js
PPTX
Introduccion a Node.js
PDF
Desarrollo web en Nodejs con Pillars por Chelo Quilón
PDF
24. Introducción a Node JS.pdf
PPT
Node js Alt.net Hispano
PPTX
Archivo power
PDF
node-js-es.19.pdf
PDF
Libro de programación Angular+TypeScripr
PDF
003-Introduccion-Angular.pdf
DOCX
Introduccion a-nodejs
PDF
Creación de aplicaciones web con Node.js y Express
DOCX
Clase 5 07_pasando de php a node_js
PDF
Frontend Tools | Herramientas para Frontends
PDF
Webpack desde cero
PPTX
19 javascript servidor
PPTX
Presentacion taller de programacion
PDF
Node js mongo crud tareas
PPTX
Yo solo te pedí un plátano
¿Que es javascript y Modulos?
Rompiendo paradigmas
Curso introductorio a Raptor.js con Node.js
Introduccion a Node.js
Desarrollo web en Nodejs con Pillars por Chelo Quilón
24. Introducción a Node JS.pdf
Node js Alt.net Hispano
Archivo power
node-js-es.19.pdf
Libro de programación Angular+TypeScripr
003-Introduccion-Angular.pdf
Introduccion a-nodejs
Creación de aplicaciones web con Node.js y Express
Clase 5 07_pasando de php a node_js
Frontend Tools | Herramientas para Frontends
Webpack desde cero
19 javascript servidor
Presentacion taller de programacion
Node js mongo crud tareas
Yo solo te pedí un plátano
Publicidad

Más de Oscar Gensollen (6)

PDF
Usando Azure para habilitar APIs
PDF
Iniciando con containers en azure
PPTX
Introduccion a AngularJS
PPTX
Desarrollo de Aplicaciones Web con ASP.NET MVC5
PPTX
Introducción a Knockout
PPTX
Introducción a Backbone
Usando Azure para habilitar APIs
Iniciando con containers en azure
Introduccion a AngularJS
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Introducción a Knockout
Introducción a Backbone

Último (20)

PDF
Calidad desde el Docente y la mejora continua .pdf
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
taller de informática - LEY DE OHM
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
Diapositiva proyecto de vida, materia catedra
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
Maste clas de estructura metálica y arquitectura
PDF
CyberOps Associate - Cisco Networking Academy
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
Calidad desde el Docente y la mejora continua .pdf
historia_web de la creacion de un navegador_presentacion.pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
taller de informática - LEY DE OHM
introduccion a las_web en el 2025_mejoras.ppt
Propuesta BKP servidores con Acronis1.pptx
Plantilla para Diseño de Narrativas Transmedia.pdf
Estrategia de apoyo tecnología grado 9-3
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
Influencia-del-uso-de-redes-sociales.pdf
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Diapositiva proyecto de vida, materia catedra
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Sesion 1 de microsoft power point - Clase 1
Maste clas de estructura metálica y arquitectura
CyberOps Associate - Cisco Networking Academy
Presentación PASANTIAS AuditorioOO..pptx
REDES INFORMATICAS REDES INFORMATICAS.pptx

Introduccion a Node.js

  • 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
  • 7. Node.js Tools for Visual Studio
  • 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