Loading...

Cette présentation est un site HTML5

Appuyez surla touche pour avancer.

Contrôles :

  • et pour vous déplacer.
  • Ctrl/Command et + ou - pour zoomer/dézoomer.
  • T pour changer de thème.
  • H pour activer/désactiver le surlignage de code.

nodejs

JavaScript côté serveur

Sommaire

  • Quoi, qui, quand, but ?
  • Versions, roadmap
  • D'autres paradigmes
  • Outillage
  • Frameworks / composants
  • Démos

Quoi, qui, quand, but ?

  • Quoi : Framework JavaScript côté serveur
  • Qui : Ryan Dahl Joyent
  • Quand : après la JsConf.us 2010
    Tendances entre Play et NodeJs
  • But : Node's goal is to provide an easy way to build scalable network programs.

Versions, roadmap

D'autres paradigmes

  • First-class functions
  • Événementiel
  • Callbacks asynchrones
  • Boucle d'événement / event loop
  • E/S non bloquantes / non blocking I/O
  • node ?

Outillage

Frameworks / composants

  • Web frameworks
  • ROUTERS
  • STATIC FILE SERVERS
  • MICROFRAMEWORKS
  • FRAMEWORKS
  • MIDDLEWARE
  • Database (postgrel, mysql, sqlite, nosql, etc)
  • Templating
  • CSS Engines
  • Content Management Systems
  • Build and Deployment
  • Package Management Systems
  • Module Loader
  • OpenSSL / Crypto / Hashing
  • SMTP
  • TCP / IP
  • RPC
  • Web Sockets & Ajax
  • Message Queues
  • Class systems
  • Testing / Spec Frameworks
  • Wrappers
  • Parsers
  • JSON
  • XML
  • COMMAND LINE OPTION PARSERS
  • PARSER GENERATORS
  • OTHER PARSERS
  • Debugging / Console Utilities
  • Compression
  • Graphics
  • Payment Gateways
  • API clients
  • Flow control / Async goodies
  • I18n and L10n modules
  • Boilerplates
  • cf liste exhaustive

1ère démo

Url Shortener

URL Shortener

  • shortener
    • http://www.valtech.fr/
    • MD5: 6bf10e1519934992c40086922c49001a
    • 0x6bf10e15 = 1810959893
    • 1810959893 % 76 = 49
    • tab[49] : _
    • http://localhost/s/_;fn → http://www.valtech.fr/

2ème démo

Twitter "Hello World"

Conclusion

  • E/S non bloquantes
  • Boucle d'événement
  • Partage de code client / serveur

Questions ?