SlideShare a Scribd company logo
node.js - javascript ovunque
Roma, 26 ottobre 2013
LinuxDay Roma 2013
Valerio Coltrè → .
←Claudio Mignanti .
Cosa è
node.js è una piattaforma basata su V8, motore
di google che interpreta javascript:
● facile approccio per gli sviluppatori HTML5
● poche risorse richieste
● programmazione single thread
● webserver scriptabile in js
● perfetto per applicazioni
data-intensive
1. http://nodejs.org/
2. http://mashable.com/2011/03/10/node-js/
http://goo.gl/4VuKS6
V8, l’interprete
V8 è l'engine javascript originalmente
sviluppato per Chrome.
1. http://code.google.com/p/v8/
● Molto veloce, profiling avanzato.
● Completamente opensource.
http://goo.gl/4VuKS6
Dove si usa
Ambiti d'uso:
● REST API (JSON)
● NodeCopter
● Coder for Raspberry PI
● Web Developer Tools (Grunt, Bower)
Altri punti a favore:
● community molto aperta e fervente
● performance cpu-bound & data-bound.
● nuove tecnologie (websocket)
http://goo.gl/4VuKS6
javascript
Caratteristiche:
● linguaggio che supporta l'OOP
● interpretato a runtime
● debolmente tipato
http://goo.gl/4VuKS6
Assi nella manica:
● closure
● prototipizzazione
● regex native (senza librerie)
● funzioni anonime native
● simple to learn, hard to master
event loop
Gli interpreti javascript sono single thread
● basato su eventi
○ funzioni in listening sull'evento
● stack di chiamate
● accesso asincrono alle risorse
http://goo.gl/4VuKS6
Specificatamente per nodejs:
● possibilità di accesso sincrono al filesystem
● buffer
● multiprocesso
● ...ed altre nodejs API
npm - node package manager
http://goo.gl/4VuKS6
nodejs è basato su moduli
● AMD-compliant
● ogni modulo é isolato (fn wrap)
Per gestire le (complesse) dipendenze c'è NPM
moduli famosi:
● express Sinatra inspired web development framework
● async Higher-order functions and common patterns for async. code
● grunt The JavaScript Task Runner
● phone-gap allows you to create mobile apps using standardized web APIs
package.json
Gestisce le dipendenze con altri moduli nodejs
● Scaffold veloce con npm init
● non re-inventare la ruota
● moduli utili anche < 100 righe
● one line install
http://goo.gl/4VuKS6
http://package.json.nodejitsu.com/
package.json
http://goo.gl/4VuKS6
Cosa si puo’ fare con nodejs:
Esempio pratico - tail -f
http://goo.gl/4VuKS6
tail.js → chunked.js
● comportamento analogo a tail -f
● versione web
● chunked response (HTTP 1.1)
http://goo.gl/6Ozcc9
API di nodejs utilizzate:
● http - web server
● fs - lettura filesystem
● stream in lettura/scrittura
Esempio pratico - tail -f
http://goo.gl/4VuKS6
http://nodejs.org/api/
http://goo.gl/6Ozcc9
conclusioni
?
← https://github.com/claudyus
https://github.com/mrgamer →
https://github.com/TopCS
http://goo.gl/4VuKS6 →

More Related Content

PDF
Roma linuxday 2013 - nodejs
PPTX
Introduzione a Node.js
PDF
I linguaggi di programmazione e il mondo open-source
PDF
Webkit presentazione ufficiale
ODP
WUI con Google Polymer
PDF
Case study OmniAuto.it
PDF
Progetto Linux va a scuola - Descrizione tecnica
PDF
Progetto Linux va a scuola
Roma linuxday 2013 - nodejs
Introduzione a Node.js
I linguaggi di programmazione e il mondo open-source
Webkit presentazione ufficiale
WUI con Google Polymer
Case study OmniAuto.it
Progetto Linux va a scuola - Descrizione tecnica
Progetto Linux va a scuola

What's hot (8)

PPTX
Da JavaScript a TypeScript
PDF
Portofino per Jug Padova
PDF
Mageday::2014
PPTX
All you can store
PDF
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
PDF
Windows Azure and Joomla! @ Joomla day 2013
ODP
Clustering Magento
PDF
StarterTheme Prestashop 1.7
Da JavaScript a TypeScript
Portofino per Jug Padova
Mageday::2014
All you can store
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
Windows Azure and Joomla! @ Joomla day 2013
Clustering Magento
StarterTheme Prestashop 1.7
Ad

Viewers also liked (17)

PDF
Apache Cordova: Overview and Introduction
PDF
Aulas linux
PDF
Corso base di Tecnologie WEB - Primi passi in javascript
PDF
Node.js: perche' tutto questo hype?
PDF
Introduzione a node: cenni storici ecc
XLS
V. liqviat 2009
PPT
node.js e Postgresql
PDF
DotNetToscana - Sessione TypeScript
PDF
Introduzione a jQuery
PDF
Introduzione a JavaScript
PDF
Web base-03-js-numeri stringearray
PPTX
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
PDF
Il Web orientato al futuro: Express, Angular e nodeJS
PDF
Node js: che cos'è e a che cosa serve?
PPTX
Design for Developers: Introduction to Bootstrap 3
PDF
Node Foundation Membership Overview 20160907
PDF
Introduction to Bootstrap
Apache Cordova: Overview and Introduction
Aulas linux
Corso base di Tecnologie WEB - Primi passi in javascript
Node.js: perche' tutto questo hype?
Introduzione a node: cenni storici ecc
V. liqviat 2009
node.js e Postgresql
DotNetToscana - Sessione TypeScript
Introduzione a jQuery
Introduzione a JavaScript
Web base-03-js-numeri stringearray
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Il Web orientato al futuro: Express, Angular e nodeJS
Node js: che cos'è e a che cosa serve?
Design for Developers: Introduction to Bootstrap 3
Node Foundation Membership Overview 20160907
Introduction to Bootstrap
Ad

Similar to node.js everywhere (20)

PDF
Node.js - Server Side Javascript
PPTX
Node js dev day napoli 2016
PDF
Node and the Cloud
PDF
MEAN: il nuovo stack di sviluppo per il futuro del web
PDF
Web base - Javascript (Node.js): Elementi di base
PDF
Introduzione a node.js
PDF
Introduzione a Node.js
PDF
breve introduzione a node.js
PPTX
Javascript, il linguaggio (non solo) del web
PPTX
Javascript avanzato: sfruttare al massimo il web
PDF
Drupal Day 2011 - Node.js e Drupal
PPTX
Single Page Applications
PDF
Javascript - 1 | WebMaster & WebDesigner
PDF
Spa with Blazor
ODP
breve introduzione a node.js
PDF
PPTX
CommunityDays 2015 - NPM, GRUNT E BOWER: IL NUOVO PACKAGE MANAGER DI VISUAL S...
PDF
Web frameworks
PDF
Deno - L'anagramma di node
PDF
Javascript - 1 | WebMaster & WebDesigner
Node.js - Server Side Javascript
Node js dev day napoli 2016
Node and the Cloud
MEAN: il nuovo stack di sviluppo per il futuro del web
Web base - Javascript (Node.js): Elementi di base
Introduzione a node.js
Introduzione a Node.js
breve introduzione a node.js
Javascript, il linguaggio (non solo) del web
Javascript avanzato: sfruttare al massimo il web
Drupal Day 2011 - Node.js e Drupal
Single Page Applications
Javascript - 1 | WebMaster & WebDesigner
Spa with Blazor
breve introduzione a node.js
CommunityDays 2015 - NPM, GRUNT E BOWER: IL NUOVO PACKAGE MANAGER DI VISUAL S...
Web frameworks
Deno - L'anagramma di node
Javascript - 1 | WebMaster & WebDesigner

node.js everywhere

  • 1. node.js - javascript ovunque Roma, 26 ottobre 2013 LinuxDay Roma 2013 Valerio Coltrè → . ←Claudio Mignanti .
  • 2. Cosa è node.js è una piattaforma basata su V8, motore di google che interpreta javascript: ● facile approccio per gli sviluppatori HTML5 ● poche risorse richieste ● programmazione single thread ● webserver scriptabile in js ● perfetto per applicazioni data-intensive 1. http://nodejs.org/ 2. http://mashable.com/2011/03/10/node-js/ http://goo.gl/4VuKS6
  • 3. V8, l’interprete V8 è l'engine javascript originalmente sviluppato per Chrome. 1. http://code.google.com/p/v8/ ● Molto veloce, profiling avanzato. ● Completamente opensource. http://goo.gl/4VuKS6
  • 4. Dove si usa Ambiti d'uso: ● REST API (JSON) ● NodeCopter ● Coder for Raspberry PI ● Web Developer Tools (Grunt, Bower) Altri punti a favore: ● community molto aperta e fervente ● performance cpu-bound & data-bound. ● nuove tecnologie (websocket) http://goo.gl/4VuKS6
  • 5. javascript Caratteristiche: ● linguaggio che supporta l'OOP ● interpretato a runtime ● debolmente tipato http://goo.gl/4VuKS6 Assi nella manica: ● closure ● prototipizzazione ● regex native (senza librerie) ● funzioni anonime native ● simple to learn, hard to master
  • 6. event loop Gli interpreti javascript sono single thread ● basato su eventi ○ funzioni in listening sull'evento ● stack di chiamate ● accesso asincrono alle risorse http://goo.gl/4VuKS6 Specificatamente per nodejs: ● possibilità di accesso sincrono al filesystem ● buffer ● multiprocesso ● ...ed altre nodejs API
  • 7. npm - node package manager http://goo.gl/4VuKS6 nodejs è basato su moduli ● AMD-compliant ● ogni modulo é isolato (fn wrap) Per gestire le (complesse) dipendenze c'è NPM moduli famosi: ● express Sinatra inspired web development framework ● async Higher-order functions and common patterns for async. code ● grunt The JavaScript Task Runner ● phone-gap allows you to create mobile apps using standardized web APIs
  • 8. package.json Gestisce le dipendenze con altri moduli nodejs ● Scaffold veloce con npm init ● non re-inventare la ruota ● moduli utili anche < 100 righe ● one line install http://goo.gl/4VuKS6 http://package.json.nodejitsu.com/
  • 10. Cosa si puo’ fare con nodejs: Esempio pratico - tail -f http://goo.gl/4VuKS6 tail.js → chunked.js ● comportamento analogo a tail -f ● versione web ● chunked response (HTTP 1.1) http://goo.gl/6Ozcc9
  • 11. API di nodejs utilizzate: ● http - web server ● fs - lettura filesystem ● stream in lettura/scrittura Esempio pratico - tail -f http://goo.gl/4VuKS6 http://nodejs.org/api/ http://goo.gl/6Ozcc9