SlideShare una empresa de Scribd logo
1 de 17
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

La actualidad más candente

Nodejs.introduccion
Nodejs.introduccionNodejs.introduccion
Nodejs.introduccionkillfill
 
Node.js - Eventos para Todos
Node.js - Eventos para TodosNode.js - Eventos para Todos
Node.js - Eventos para TodosMariano Iglesias
 
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Pilmee Gates
 
Node.js - un poco de informacion.
Node.js - un poco de informacion.Node.js - un poco de informacion.
Node.js - un poco de informacion.Luis Toscano
 
PDO: Capa de abstracción de base de datos con PHP
PDO: Capa de abstracción de base de datos con PHPPDO: Capa de abstracción de base de datos con PHP
PDO: Capa de abstracción de base de datos con PHPArsys
 
NodeJS y MongoDB
NodeJS y MongoDBNodeJS y MongoDB
NodeJS y MongoDBArsys
 
NodeJS
NodeJSNodeJS
NodeJSIBM
 
Dockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloDockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloMarco Bellido
 
Introducción a herramientas de Roots (José Debuchy, WCBA 2017)
 Introducción a herramientas de Roots (José Debuchy, WCBA 2017) Introducción a herramientas de Roots (José Debuchy, WCBA 2017)
Introducción a herramientas de Roots (José Debuchy, WCBA 2017)wpargentina
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSJan Sanchez
 
JavaScript Async | Juan Miguel Alcalá
JavaScript Async | Juan Miguel AlcaláJavaScript Async | Juan Miguel Alcalá
JavaScript Async | Juan Miguel AlcaláScio Consulting
 
Entorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con VagrantEntorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con VagrantPau Ferrer Ocaña
 
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphereVagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphereJavier Jerónimo Suárez
 
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónLuis Ruiz Pavón
 
Zend Framework 2 y MongoDB
Zend Framework 2 y  MongoDBZend Framework 2 y  MongoDB
Zend Framework 2 y MongoDBEl Taller Web
 

La actualidad más candente (20)

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

Similar a Introduccion a Node.js

Zend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, ColombiaZend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, Colombiarazigal
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2cristian Salazar L
 
Rompiendo paradigmas
Rompiendo paradigmasRompiendo paradigmas
Rompiendo paradigmasZuriel Diaz
 
Creando Aplicaciones Web en el 2015
 Creando Aplicaciones Web en el 2015 Creando Aplicaciones Web en el 2015
Creando Aplicaciones Web en el 2015Globant
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkitCesar Escalante
 
Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014 Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014 Fernando Petrola
 
24. Introducción a Node JS.pdf
24. Introducción a Node JS.pdf24. Introducción a Node JS.pdf
24. Introducción a Node JS.pdfmabytax
 
Introducción a la programación visual
Introducción a la programación visualIntroducción a la programación visual
Introducción a la programación visualmiguelangelvillelli
 
Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#Roger Campos
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
Tecnologías web.pptx
Tecnologías web.pptxTecnologías web.pptx
Tecnologías web.pptxGabrielCarbas
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptKarsarmi
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .netJefersonGuevara1
 

Similar a Introduccion a Node.js (20)

Curso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.jsCurso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.js
 
¿Que es javascript y Modulos?
¿Que es javascript y Modulos?¿Que es javascript y Modulos?
¿Que es javascript y Modulos?
 
Zend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, ColombiaZend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, Colombia
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2
 
Rompiendo paradigmas
Rompiendo paradigmasRompiendo paradigmas
Rompiendo paradigmas
 
Aprendiendo GWT
Aprendiendo GWTAprendiendo GWT
Aprendiendo GWT
 
Creando Aplicaciones Web en el 2015
 Creando Aplicaciones Web en el 2015 Creando Aplicaciones Web en el 2015
Creando Aplicaciones Web en el 2015
 
Trabajo gru
Trabajo gruTrabajo gru
Trabajo gru
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkit
 
Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014 Dragome en JavaConf Buenos Aires 2014
Dragome en JavaConf Buenos Aires 2014
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
24. Introducción a Node JS.pdf
24. Introducción a Node JS.pdf24. Introducción a Node JS.pdf
24. Introducción a Node JS.pdf
 
Introducción a la programación visual
Introducción a la programación visualIntroducción a la programación visual
Introducción a la programación visual
 
Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
Tecnologías web.pptx
Tecnologías web.pptxTecnologías web.pptx
Tecnologías web.pptx
 
Semana 2 Configuración entorno de desarrollo
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrollo
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScript
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
 

Más de Oscar Gensollen

Usando Azure para habilitar APIs
Usando Azure para habilitar APIsUsando Azure para habilitar APIs
Usando Azure para habilitar APIsOscar Gensollen
 
Iniciando con containers en azure
Iniciando con containers en azureIniciando con containers en azure
Iniciando con containers en azureOscar Gensollen
 
Introduccion a AngularJS
Introduccion a AngularJSIntroduccion a AngularJS
Introduccion a AngularJSOscar Gensollen
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Oscar Gensollen
 
Introducción a Knockout
Introducción a KnockoutIntroducción a Knockout
Introducción a KnockoutOscar Gensollen
 
Introducción a Backbone
Introducción a BackboneIntroducción a Backbone
Introducción a BackboneOscar Gensollen
 

Más de Oscar Gensollen (6)

Usando Azure para habilitar APIs
Usando Azure para habilitar APIsUsando Azure para habilitar APIs
Usando Azure para habilitar APIs
 
Iniciando con containers en azure
Iniciando con containers en azureIniciando con containers en azure
Iniciando con containers en azure
 
Introduccion a AngularJS
Introduccion a AngularJSIntroduccion a AngularJS
Introduccion a AngularJS
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5
 
Introducción a Knockout
Introducción a KnockoutIntroducción a Knockout
Introducción a Knockout
 
Introducción a Backbone
Introducción a BackboneIntroducción a Backbone
Introducción a Backbone
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (19)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

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