Está en la página 1de 19

UCSM Esc. Prof.

de Ingeniería de Sistemas INFORME DE PRÁCTICAS


Noviembre - 2022 DESARROLLO DE
APLICACIONES

Práctica N° 11:
Node JS y Express
Elaborado por:

© IEEE 2013 The Institute of Electrical and Electronics Engineers, Inc.


Práctica N° 11: Node JS y Express

GRUPO N° 4

PRÁCTICAS DE DESARROLLO DE APLICACIONES

Presentado por:
2020243181 Gordillo Saire, Alexis Andre

1111111111 APELLIDOS , NOMBRES


2222222222 APELLIDOS , NOMBRES

ii
Práctica N° 11: Node JS y Express

RECONOCIMIENTOS

Los autores de este trabajo reconocen con gratitud a los creadores de Node JS y Express
…..

PALABRAS CLAVES

Node JS y Express

iii
Práctica N° 11: Node JS y Express

ÍNDICE

1. RESÚMEN 1
2. INTRODUCCIÓN.......................................................................................................1
3. MARCO TEÓRICO.....................................................................................................1
3.1 NODE JS...........................................................................................................1
3.2 EXPRESS..........................................................................................................1
4. EXPERIENCIAS DE PRÁCTICA................................................................................1
4.1 Aplicación Básica Node JS................................................................................1
4.2 Node JS y MySQL.............................................................................................2
4.3 Node JS y plantillas HTML.................................................................................2
4.4 Aplicación Básica en Express............................................................................2
4.5 Manejo de Rutas en Express.............................................................................2
4.6 Manejo de Middleware en Express....................................................................3
5. EJERCICIOS.............................................................................................................. 3
5.1 Ejercicio 1..........................................................................................................3
5.2 Ejercicio 2..........................................................................................................3
6. CONCLUSIONES DE LA PRÁCTICA:........................................................................4
7. CUESTIONARIO........................................................................................................4
8. BIBLIOGRAFÍA.......................................................................................................... 4
9. ENLACES DE REUNIONES GRUPALES PARA REALIZAR INFORME....................4

iv
Práctica N° 11: Node JS y Express

ÍNDICE DE TABLAS Y FIGURAS ( las más resaltantes del Marco Teórico)

Ilustración 1.........................................................................................................................1
Ilustración 2.........................................................................................................................2

v
Práctica N° 11: Node JS y Express

1. RESÚMEN

Ahondando más en el lenguaje de programación conocido como JavaScript, en esta ocasión


tenemos dos entornos de trabajos los cuales son: Primeramente, tenemos el Node.js el cual como
ya se menciono es un entorno de trabajo el cual funciona de forma asíncrona el cual tiene como
objetivo crear aplicaciones escalables, lo cual permite establecer múltiples conexiones
simultaneas. Seguidamente, tenemos el Express.js el cual es un framework backend sumamente
usado para Node.js. Este también es un espacio de trabajo minimalista el cual está diseñado para la
creación de aplicaciones web.

Palabras Clave: JavaScript, entornos de trabajo, framework, programación

1
Práctica N° 11: Node JS y Express

2. INTRODUCCIÓN

Anteriormente vimos acerca de las diversas herramientas que posee JavaScript. Adicional a todo
lo ya presentado tenemos 2 nuevas herramientas para el desarrollo de aplicaciones como son el
Node.js y el Express.js las cuales trabajan complementándose una a otra. Para empezar, tenemos a
el Node.js el cual es un entorno de trabajo que funciona de manera asíncrona el cual también es
de multiplataforma y de código abierto , el cual permite crear diversas herramientas de lado
servidor y además tiene como objetivo la creación a aplicaciones escalables, dicho de otra
manera, aplicaciones de red rápida , además brinda la facilidad de ya no preocuparse por los
bloqueos ya que este permite establecer múltiples conexiones al mismo tiempo, esta herramienta
es usada por marcas importantes del mercado los cuales se encuentran en la web.

Seguidamente, tenemos el Express.js el cual como ya se mencionó es el framework backend más


utilizado para Node.js sin mencionar que También es una parte fundamental del ecosistema que
conforma a JavaScript. Este tiene como finalidad construir aplicaciones web hibridas. Express es
un entorno de trabajo bastante minimalista, sin embargo, los desarrolladores de este han creado
paquetes de middleware los cuales son compatibles para poder abordar todo tipo de problema en el
desarrollo web. Este solo fue lanzado para Linux en el 2009, este fue añadido a Windows en el
2012 para asi poder trabajarlo mejor y sea mucho mas compatible.
En el presente proyecto se presentará el marco teórico en el cual se ahondará más en las
herramientas Node y Express. Así como también se presentará las experiencias de practica juntos
con diversos ejercicios del proyecto. Y finalmente, las conclusiones dadas mediante la
investigación y la práctica.

2
Práctica N° 11: Node JS y Express

3. MARCO TEÓRICO
3.1 NODE JS
Responde a las preguntas: ¿Qué es? ¿Cúando se usa? ¿Cómo se configura y se instala? Puede
incluir tablas o figuras si es pertinente.

Ilustración 1

3.2 EXPRESS
Responde a las preguntas: ¿Qué es? ¿Cúando se usa? ¿Cuáles son las ventajas de usarlo? ¿Cómo
se configura e instala? Puede incluir tablas o figuras si es pertinente.

Ilustración 2

4. EXPERIENCIAS DE PRÁCTICA
4.1 Aplicación Básica Node JS

Colocar código documentado

1
Práctica N° 11: Node JS y Express

Colocar captura de pantalla del resultado en el navegador

4.2 Node JS y MySQL

Colocar código documentado

Colocar captura de pantalla del resultado en el navegador

4.3 Node JS y plantillas HTML

Colocar código documentado

Colocar captura de pantalla del resultado en el navegador

4.4 Aplicación Básica en Express

Colocar código documentado


/---package.json---/
{
  "name": "app1",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
2
Práctica N° 11: Node JS y Express

    "express": "^4.18.2"
  }
}
/---index.js---/
// importando paquete Express
var express = require('express');
// creando aplicación en Express
var app = express();
// Creando manejadores de rutas
app.get('/',function(req,res){
 res.send('Hola mundo desde Express');
})
app.get('/login',function(req,res){
 res.send('Aquí se mostraría la pagina del login');
})
// El servidor de escucha que desplegará mi ruta HTTP
app.listen(3000,function(){
 console.log('La aplicación está funcionando en el puerto 30000');
});

Colocar captura de pantalla del resultado en el navegador

4.5 Manejo de Rutas en Express

Colocar código documentado


/---usoRutas.js---/
// importando paquete Express
var express = require('express');
// creando aplicación en Express
var app = express();
// invocando archivo que maneja rutas
var rutas = require('./rutas.js');
app.use('/',rutas);
// El servidor de escucha que desplegará mi ruta HTTP
app.listen(3000,function(){
 console.log('La aplicación está funcionando en el puerto 3000');
});

3
Práctica N° 11: Node JS y Express

/---rutas.js---/

/// ARCHIVO ESPECIALIZADO DE MANEJO DE RUTAS


// creando gestionador de rutas
var express = require('express');
var router = express.Router();
// Creando manejadores de rutas
router.get('/',function(req,res){
 res.send('Pagina principal');
})
router.get('/login',function(req,res){
 res.send('Inicia sesion');
})
router.get('/productos',function(req,res){
    res.send('catalogo de productos');
   })
   router.get('/productos/compra',function(req,res){
    res.send('Aqui puedes comprar tus productos');
   })
   module.exports = router;

Colocar captura de pantalla del resultado en el navegador

4.6 Manejo de Middleware en Express

Colocar código documentado


/---ejemploMiddleware.js---/
4
Práctica N° 11: Node JS y Express

// importando paquete express


var express = require('express');
// creando objeto express
var app = express();
// creando el middleware
const middleware = function(req,res,next){
 console.log('ejecutando el middleware mientras llega petición');
 next();
};
// invocando el middleware
app.use(middleware);
// configurando manejador de rutas
app.get('/',function(req,res){
 res.send('Llegó petición al servidor');
})
// levantando servidor
app.listen(3000,function(){
    console.log('servidor en escucha');
   });

Colocar captura de pantalla del resultado en el navegador

5. EJERCICIOS
5.1 Ejercicio 1

Colocar código documentado

Colocar captura de pantalla del resultado en el navegador

5.2 Ejercicio 2

Colocar código documentado


/---PARTE 1---/

5
Práctica N° 11: Node JS y Express

/---package.json---/
{
  "name": "app1",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.18.2"
  }
}
/---index.js---/
// importando paquete Express
var express = require('express');
// creando aplicación en Express
var app = express();
// Creando manejadores de rutas
app.get('/',function(req,res){
 res.send('el mensaje inicial que se da en la pagina');
})
app.get('/prueba1',function(req,res){
 res.send('el mensaje que se muestra aqui es un mensaje de prueba para
la practica uno');
})
app.get('/prueba2',function(req,res){
    res.send('introduce una dirección IPv4, el prefijo de red, el número
de subredes que desea y el número de host por subred');
   })
app.get('/prueba3',function(req,res){
    res.send('American Airlines, Inc., conocida simplemente como
American, es una aerolínea estadounidense con sede en Fort Worth,
Texas.');
   })
// El servidor de escucha que desplegará mi ruta HTTP
app.listen(3000,function(){
 console.log('La aplicación está funcionando en el puerto 30000');
});

/---PARTE 2---/
/---usoRutas.js---/
// importando paquete Express
var express = require('express');
// creando aplicación en Express
var app = express();
// invocando archivo que maneja rutas
var rutas = require('./rutas.js');
app.use('/',rutas);
// El servidor de escucha que desplegará mi ruta HTTP
app.listen(3000,function(){
 console.log('La aplicación está funcionando en el puerto 3000');
});
/---rutas.js---/

var express = require('express');


6
Práctica N° 11: Node JS y Express

var router = express.Router();


router.get('/',function(req,res){
 res.send('Pagina principal');
})
router.get('/productos',function(req,res){
 res.send('seleeccion de produtos');
})
router.get('/productos/compra',function(req,res){
    res.send('calculo de la compra a realizar');
   })
router.get('/productos/compra/validacion',function(req,res){
    res.send('validacion de la compra');
   })
module.exports = router;
/---PARTE 3---/
/---ejemploMiddleware.js---/
var express = require('express');
var app = express();
const middleware = function(req,res,next){
 console.log('procesamiento de la solicitud ');
 next();
 console.log('solicitud procesada correctamente ');
};
app.use(middleware);
app.get('/',function(req,res){
 res.send('recibiendo solicitud al servidor');
})
app.listen(3000,function(){
    console.log('servidor prendido y espernado orden');
   });

Colocar captura de pantalla del resultado en el navegador


/---PARTE 1---/

7
Práctica N° 11: Node JS y Express

/---PARTE 2---/

/---PARTE 3---/

6. CONCLUSIONES DE LA PRÁCTICA:
a) Node.js no es un nuevo lenguaje de programación, es una plataforma que te va a permitir
ejecutar código JavaScript por fuera del navegador.
b) Con Node.js puedes crear cualquier programa o aplicación que podrías crear con otro lenguaje
de uso general como Java, Ruby, C++ o Python.
c) El gran poder de Node.js se encuentra en las librerías (llamadas paquetes) y en la comunidad
de programadores que las escriben y las publican sin costo alguno!
d) Express es un framework de aplicaciones web extremadamente ligero y minimalista que
presenta grandes ventajas pero también, para poder exprimir todo su potencial, necesitaremos
añadir bibliotecas y características de terceros.
e) Express.js es el preferido y utilizado por algunas de las empresas más grandes y exitosas del
mundo. Su funcionalidad, comodidad y capacidad para gestionar adecuadamente los datos lo
convierten en una opción ideal para el desarrollo de aplicaciones de negocio. Su desarrollo en
el mismo idioma del frontend y del backend lo convierten en una solución práctica para
cualquier proyecto de desarrollo.
8
Práctica N° 11: Node JS y Express

7. CUESTIONARIO
1. ¿Qué es un framework?
Un framework es un esquema o marco de trabajo que ofrece una estructura base para
elaborar un proyecto con objetivos específicos, una especie de plantilla que sirve como
punto de partida para la organización y desarrollo de software.
2. ¿Qué es un entorno de ejecución?
Un entorno de ejecución es un servicio de máquina virtual que sirve como base software
para la ejecución de programas. En ocasiones pertenece al propio sistema operativo, pero
también se puede instalar como software independiente que funcionará por debajo de la
aplicación.
3. ¿Cuál es la diferencia entre Node JS y Express?
Node. js se utiliza para crear aplicaciones controladas por eventos, E/S del lado del servidor.
Express. js utiliza enfoques de Node.
4. ¿Cuáles son las ventajas o características más resaltantes de Express?
Rapidez y ligereza, son dos funcionalidades de Express que lo colocan en la lista de
favoritos de muchos desarrolladores. El framework ya viene con una lista de paquetes
básicos listos para usar y se le puede agregar el middleware necesario. Es personalizable y
mantiene la estructura de las aplicaciones.
5. ¿Indique un ejemplo de una situación en la quería útil utilizar un Middleware en una
aplicación web?
Su uso permite a los usuarios hacer solicitudes como el envío de formularios en un
explorador web o que un servidor web devuelva páginas web dinámicas según el perfil de un
usuario.
6. ¿Haga un cuadro comparativo de Node JS y otro entorno virtual de ejecución similar
conocido en el mercado?
Ventaja Desventaja
Escalabilidad: Los módulos Imposibilidad de procesar
de clúster de Node.js cálculos pesados: Hasta
proporcionan un la fecha, Node.js no
equilibrio de carga en admite la programación
varios núcleos de CPU, multihilo. Sin embargo,
lo que facilita la puede manejar
obtención de los aplicaciones mucho más
resultados deseados sofisticadas que Ruby,
mediante módulos más aunque no está pensado
pequeños sin agotar la para realizar cálculos de
memoria RAM. larga duración.
Node Funcionalidad API inestable: La interfaz de
multiplataforma: Los programación de
desarrolladores pueden aplicaciones (API) de
combinar NW.js y Node.js cambia
Electron para crear regularmente y sigue
aplicaciones siendo inestable.
multiplataforma en El infierno de las
tiempo real y no devoluciones de
necesitan escribir llamada: JavaScript
código diferente para depende en gran medida
varias plataformas. de las devoluciones de
Soporte de Google: Node.js llamada debido a su
está hecho sobre el naturaleza asíncrona.
motor JavaScript V8 de
9
Práctica N° 11: Node JS y Express

Google y sirve como


herramienta de
desarrollo de frontend y
backend.
Barato: PHP es una Metodología obsoleta: El
herramienta de aprendizaje automático
desarrollo gratuita y de está ganando
código abierto, y sus popularidad, y es el
herramientas también futuro de la tecnología.
son gratuitas. Por ello, lenguajes como
Amplia documentación y Python están atrayendo
recursos: Puedes a los usuarios. Sin
acceder a numerosos embargo, aunque PHP
tutoriales, manuales, tiene sus bibliotecas, no
referencias y proyectos puede competir con las
de demostración sobre bibliotecas TensorFlow,
el desarrollo de PHP. Scikit-learn, Theano y
Tanto si eres un Keras de Python para
programador construir aplicaciones
principiante como un web impulsadas por el
profesional, estos aprendizaje automático
materiales te ayudarán o una modificación
cuando tengas similar de su antigua
problemas. metodología.
PHP Fácil de usar: PHP tiene una Defectos de seguridad: PHP
curva de aprendizaje más tiene una reputación
corta, que puedes superar negativa en materia de
rápidamente. Si conoces un seguridad debido a la
lenguaje primario como el C, baja barrera de entrada
puedes aprender rápidamente para los nuevos
a usar PHP para el desarrollo programadores. Y los
de aplicaciones. Incluso si desarrolladores sin
PHP es tu primer lenguaje, experiencia crean sitios
puedes instalar PHP en web y aplicaciones con
cualquier sistema operativo o posibles
instalar PHP en cualquier vulnerabilidades. En
servidor con facilidad, y luego consecuencia, estos
probarlo tú mismo. resultados contribuyen
con frecuencia a la
imagen de PHP como
lenguaje menos seguro.
Sin embargo, si
entiendes con precisión
PHP y eres un
desarrollador
experimentado,
conseguirás una
seguridad web sólida
como una roca.

7. ¿Haga un cuadro comparativo de Express y otro framework similar conocido en el


mercado?
Ventaja Desventaja
Rapidez y ligereza, son dos En el lado negativo, una de
funcionalidades de Express sus principales desventajas
que lo colocan en la lista viene en ese lado liviano
de favoritos de muchos que tiene Express, debido a
desarrolladores. El esto requiere más líneas de
10
Práctica N° 11: Node JS y Express

framework ya viene con código que Rails para crear


Express
una lista de paquetes exactamente la misma
básicos listos para usar y aplicación, tomando más
se le puede agregar el tiempo del desarrollador.
middleware necesario. Es Tomando en cuenta que
personalizable y mantiene Ruby on Rails viene con
la estructura de las generadores que le
aplicaciones. permiten construir modelos
más rápido, Express
requiere casi el doble de
tiempo para codificar la
aplicación.
Ruby on Rails tiene una Ruby on Rails puede ser
compatibilidad integrada lento y pesado debido a los
con una base de datos múltiples paquetes que
SQLite, además de ser un contiene. También, tiene
framework optimizado para poca flexibilidad y puede
aplicaciones web y con resultar frustrante para un
varios paquetes ya desarrollador trabajar fuera
Ruby on Rails incluidos, lo que facilita y de la estructura de la
acelera la creación de una aplicación. También, Rails
aplicación web estándar. tiene un código muy
Otra de las ventajas es que abstracto y esto lo puede
la sintaxis es intuitiva, hacer difícil de depurar
siendo fácil de entender debido a que el
para los desarrolladores desarrollador está alejado
novatos. de la funcionalidad
subyacente al framework.
Una desventaja importante
y que se debe tener muy en
cuenta, es que varias
empresas en el mundo han
dejado de utilizar Ruby on
Rails para el desarrollo de
sus aplicaciones y sitios
web.
8. ¿Averigue que frameworks o plataformas están involucrados en las siguientes pilas o
stacks de desarrollo MERN, MEVN, MEAN?
MEAN, MERN y MEVN son pilas de tecnología que ayudan a las personas a crear sitios
web y aplicaciones móviles. Los tres incluyen MongoDB, Express.js (por eso cada uno
comienza con "ME") y NodeJS. La principal diferencia entre las pilas MEAN, MERN y
MEVN se encuentra en la tercera letra de cada acrónimo. MEAN es una pila de JavaScript
que se basa en el uso de Angular para su marco de JavaScript de front-end, mientras que la
pila MERN se basa en React y su ecosistema. Finalmente, MEVN se basa en Vue.js y su
ecosistema.
11
Práctica N° 11: Node JS y Express

9. ¿Cómo se llama el gestor de paquetes con el que cuenta Node JS?


npm es un gestor de paquetes para los proyectos de Node. js disponibles para su uso público.
Los proyectos disponibles en el registro de npm se llaman «paquetes».
10. ¿Cuántas rutas como máximo puede manejar un archivo .js en Express?
No tiene un máximo de rutas.

8. BIBLIOGRAFÍA

[2] «Sass,» [En línea]. Available: https://sass-lang.com/documentation/. [Último acceso: 2022].

[3] «W3schools,» [En línea]. Available: https://www.w3schools.com/sass/sass_intro.php. [Último


acceso: 2022].

9. ENLACES DE REUNIONES GRUPALES PARA REALIZAR


INFORME
N URL Fecha
°

12

También podría gustarte