4. Introducción a NodeJS
NodeJS es una plataforma de ejecución
de Javascript fuera del navegador.
- No es solamente backend
- Javascript de propósito general
Qué es NodeJS
5. Introducción a NodeJS
NodeJS tiene todas las características que ya conocemos del
lenguaje Javascript.
- Se ejecuta en un solo hilo
- No bloqueante
Características
8. Cuándo usar NodeJS
No bloqueante
Llamada a la
base de datos
Tiempo "ocioso"
Consulta a un API
o servicio
Escritura de un
fichero en disco
9. Introducción a NodeJS
No bloqueante
Por sus características NodeJS es útil en proyectos que requieran
atender a gran cantidad de tráfico con pocos recursos.
No es adecuado en proyectos donde se requiera la realización de
cálculos complejos, donde el hilo de ejecución no va a poder
liberarse con facilidad.
10. Introducción a NodeJS
Múltiples cores
Que tenga un único hilo no significa que no se pueda tener varias
instancias de una aplicación node, cada una funcionando en un
"core" del procesador.
Se puede balancear la carga
entre las instancias de las
aplicaciones sin necesidad de un
cluster de servidores
12. Express
Express es un framework minimalista
para el desarrollo de aplicaciones
web.
Qué es Express
Con Express podemos crear servidores web muy rápidamente y
atender solicitudes de clientes por HTTP.
- No es común usar en sitios de contenido en general
- Habitualmente usado para servicios web (API RESTfull)
17. MongoDB
Bases de datos en NodeJS
Aclarar que NodeJS soporta prácticamente la totalidad de las
bases de datos del mercado, relacionales o NoSQL.
- MySQL
- Oracle
- MS SQL
- PostgreSQL
- ...
18. MongoDB
Qué es MongoDB
MongoDB es un motor de bases
de datos de las denominadas
"NoSQL" (Not Only SQL).
Este tipo de bases de datos organizan los datos en forma de
documentos y colecciones de documentos.
Un documento lo podemos entender como un JSON, con pares
clave / valor, con la complejidad que se requiera.
19. MongoDB
Cuándo usar MongoDB
No todos los modelos de datos de aplicaciones son apropiados
para una base de datos NoSQL.
Las características de Mongo serán más apreciadas en el caso que
el proyecto necesite:
- Velocidad
- Volumen
- Variabilidad
20. MongoDB
Primeros pasos
Los métodos de instalación difieren del sistema operativo:
https://docs.mongodb.com/manual/installation/#mongodb-community-edition-installation-tutorials
Abrir la consola MongoDB
> mongo
Comandos comunes
db use examples show collections
db.inventory.find({}) db.inventory.find({item:
'postcard'})
db.inventory.find({}).pretty()
21. MongoDB
NodeJS y MongoDB
Existe un package npm para instalar el driver de MongoDB
npm install mongodb
https://www.npmjs.com/package/mongodb