Corso Node-js
Node.js è un framwork Javascript per lo sviluppo serverside . E’ leggero, veloce e multipiattaforma. E’ stato sviluppato partendo dal motore V8 di Chrome.
Node.js gestisce le richieste in maniera asincrona (programmazione ad eventi) ed è single thread.
Il framework Node.js è diventato oggi popolare per lo sviluppo di applicazioni Real-Time (RTA) come ad esempio le applicazioni di chat, di collaborazione, per videoconferenze e per l’ecommerce.
Gli sviluppatori front-end hanno oggi un potente strumento per lo sviluppo back-end mantenendo un’unico linguaggio che è il Javascript.
In ultimo, assieme ad Angular, MongoDB ed Express.js avremo un full-stack chiamato MEAN.
Requisiti degli studenti Corso-Node.js: conoscenze base di Javascript e HTML
Obiettivo del Corso-Node.js: formare il discente con le competenze teoriche e pratiche per lo sviluppo applicazioni lato server con i framework Node.js, Express.js e MongoDB. Un caso di studio pratico permetterà ai discenti di entrare nel vivo e rendersi autonomi nello sviluppo.
Corso-Node.js erogato solo su richiesta e per le aziende
Programma Didattico Corso-Node.js (40 ore)
- Panoramica e fondamenta di Node.js
• Cos’è e perché utilizzare Node.js
• Node.js framework
• Installazione Node.js
• Utilizzo Node.js per eseguire gli scripts - Node Projects
• Node Package Manager
• Creazione a progetto
• Package.json configurazione file
• Installation Package Global vs. Local - Sviluppo con shrink-wrap per la lock node modules versions
• Cos’è shrink-wrap
• Lavorare con with npmvet
• Outdated command - Sviluppo con asynchronous programming
• Concetti base di programmazione Asincrona
• Callback functions
• Promises
• Advance promises
• Utilizzo Request module per creare chiamate API - Costruzione di un HTTP Server con Node.JS utilizzando HTTP APIs
• The HTTP protocol
• Building an HTTP server
• Rendering a response
• Processing query strings
• Processing posted data - File System
• Synchronous vs. Asynchronous I/O
• Path and directory operations
• __dirname and __filename
• Asynchronous file scrittura e lettura - Buffers, Streams, Events
• Utilizzo buffers for binary data
• Flowing vs. non-flowing streams
• Streaming I/O da files ad altra risorsa
• Processing streams asynchronously - Multi-Processing in NodeJS
• Child Process API
• Cluster API per multi-core servers - ExpressJS
• The model-view-controller pattern
• Jade templates
• Configurazione Express
• Postman configuration
• Utilizzo REST
• JSON Data
• Reading POST data
• CRUD operations
• Adding middleware - Express JS con MongoDB e Sqlite: Come connettere Node.js ai databases
• RDBMS databases e NoSQL databases
• Connessione a RDBMS e Mongodb databases
• Performing CRUD operations - Socket.io, creazione di una Chat App
• Aggiunta Socket.io all’App
• Invio Live Data Back & Forth
• Creazione The Front-end UI
• Mostrare messaggi nell’ App
• Working With Time
• Timestamps
• Mostrare il Message Time nella Chat App
• Panoramica Unit Testing / Task Manager