Your SlideShare is downloading. ×
0
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
Roma linuxday 2013 - nodejs
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Roma linuxday 2013 - nodejs

285

Published on

Presentazione al linux Day di Roma della piattaforma node.js, npm e connessioni con progetti come Grunt, Express e Phone-Gap

Presentazione al linux Day di Roma della piattaforma node.js, npm e connessioni con progetti come Grunt, Express e Phone-Gap

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
285
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 2. http://nodejs.org/ http://mashable.com/2011/03/10/node-js/ http://goo.gl/4VuKS6
  • 3. V8, l’interprete V8 è l'engine javascript originalmente sviluppato per Chrome. ● Molto veloce, profiling avanzato. ● Completamente opensource. 1. http://code.google.com/p/v8/ 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 Assi nella manica: ● closure ● prototipizzazione ● regex native (senza librerie) ● funzioni anonime native ● simple to learn, hard to master http://goo.gl/4VuKS6
  • 6. event loop Gli interpreti javascript sono single thread ● basato su eventi ○ funzioni in listening sull'evento ● stack di chiamate ● accesso asincrono alle risorse Specificatamente per nodejs: ● possibilità di accesso sincrono al filesystem ● buffer ● multiprocesso ● ...ed altre nodejs API http://goo.gl/4VuKS6
  • 7. npm - node package manager 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 http://goo.gl/4VuKS6
  • 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://package.json.nodejitsu.com/ http://goo.gl/4VuKS6
  • 9. package.json http://goo.gl/4VuKS6
  • 10. Esempio pratico - tail -f Cosa si puo’ fare con nodejs: tail.js → chunked.js ● comportamento analogo a tail -f ● versione web ● chunked response (HTTP 1.1) http://goo.gl/6Ozcc9 http://goo.gl/4VuKS6
  • 11. Esempio pratico - tail -f http://nodejs.org/api/ API di nodejs utilizzate: ● http - web server ● fs - lettura filesystem ● stream in lettura/scrittura http://goo.gl/6Ozcc9 http://goo.gl/4VuKS6
  • 12. conclusioni ? ← https://github.com/claudyus https://github.com/mrgamer → https://github.com/TopCS http://goo.gl/4VuKS6 →

×