Confoo - Javascript Server Side : How to start

3,792 views

Published on

nodeJS, claypool, APE, map reduce en nosql, yql... Le javascript server side est un sujet d'actualité, une tendance de fond est en train d'émerger. Et la mise en avant des outils dans la communauté progresse rapidement.
La promesse d'un seul langage sur le client et le serveur d'une application web est très attirante alors que HTML5, les websockets, les webworker, les local storage sont en train de se faire une place dans le futur du web.
Cette conférence a pour but de vous permettre de mieux appréhender cet écosystème à travers son historique, l'exposé des standards émergeant, des avantages et défauts des différentes solutions proposées et en présentant les briques communes.
Quels projets pouvez vous entreprendre sur ces technologies ?
Est-ce possible à intégrer en production ?
L'administration et l'intégration de ces outils au SI d'une entreprise est il possible ?
Ces technologies vont elles s'implanter ou rester des expérimentations de techniciens sous stéroïdes ?

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
3,792
On SlideShare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
0
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Confoo - Javascript Server Side : How to start

  1. 1. The javascript server side : how to start ?<br />Confoo 2011 – Quentin ADAM @waxzce<br />
  2. 2. Who I am ?<br />Quentin ADAM<br />@waxzce on twitter or github<br />CEO atClever Cloud<br />
  3. 3. Javascript<br />Where ? When ? Why ?<br />
  4. 4. What are wedoingwithJavascripttoday ?<br />Application server<br />Database<br />RIA<br />Browser<br />
  5. 5.
  6. 6. History<br />At the begining, Brendan Eich, created Live Script (1995) at Netscape for server usage. It is the Netscape Server procuct.<br />The Javascript name is a maketing change by Sun and Netscape.<br />
  7. 7. The polyglotte situation<br />Client<br />Server<br />Php<br />Java<br />Perl<br />Ruby<br />Scala<br />Groovy<br />….<br />
  8. 8. About polyglots and langages<br />
  9. 9. Share some code between client and server<br />Unity of tools and environement<br />Agile<br />Have the same Model <br />No «  translations » of objects<br />
  10. 10. Some Strength for modern and social apps<br />Event driven<br />NoSQL & Json<br />Use some datas with unknow format<br />
  11. 11. One lang, someengines<br />
  12. 12. A standard (or not) & Many implementations (or not)<br />Engine<br /> = <br />Tools making compilation to bytecode + conversion to bynary instruction<br />= <br />virtual machine javascript<br />{trace, spider, jäger…}Monkey<br />V8<br />M$<br />applenitro<br />Rhino<br />
  13. 13. A standard (or not) & Many implementations (or not)<br />{trace, spider, jäger…}Monkey<br />V8<br />M$<br />applenitro<br />Rhino<br />Narcissus (zaphod)<br />
  14. 14. engine JS ≠ Browser<br />
  15. 15. No DOM<br />No jquery<br />No mootools<br />No dojo…<br />Except server versions<br />
  16. 16. A web server<br />RESTfull<br />
  17. 17. One of bigest change of ssjs :event driven web response, async<br />0_0<br />Don’t panic, some schema next slide<br />
  18. 18. without<br />
  19. 19. With<br />
  20. 20. Whatweneed ?<br />
  21. 21. Sometools<br />Names<br />
  22. 22. Ajax Push Engine<br />Design for real time web<br />Stable and strongproject<br />Mootoolsframework<br />Mysql support<br />http://www.ape-project.org/<br />
  23. 23. How to ?<br />
  24. 24. Mongo DB<br />Document orienteddatabase<br />Store data as Bjson<br />Workwith a lot of platform<br />
  25. 25. Mapreduce<br />A new way for geting data working on a lot of noSQL DB<br />
  26. 26. Node.js : The Star<br />
  27. 27.
  28. 28. How to ?<br />Entry point file<br />
  29. 29. frameworksnode<br />Sinatra like : express<br />Rails like : Geddy<br />!! -> tools are not ready<br />Ruby & node.js<br />
  30. 30. CommonJS<br />Unity for JS platform of usual API<br />require()<br />http://www.commonjs.org/<br />
  31. 31. How to begin ?<br />And be happy with new tools<br />
  32. 32. Create a githubaccount<br />All ssJsprojects are on github<br />Frameworks, modstoo<br />Examples<br />You needitanyway<br />
  33. 33. Have a real OS<br />You need real command line<br />You need compilation tools<br />You needitanyway<br />UNIX<br />Tips : use ZSH withyour git<br />
  34. 34. Test node.jswith cloud9<br />Online IDE for node.js<br />Nothing to install<br />Workwithgithub<br />
  35. 35. Make an open table for YQL<br />SQL likelang for web API<br />Workingwithssjs Rhino backend<br />You needonly a server storingyour table<br />
  36. 36. Play withmongoDB or couchDB<br />Easy to install<br />Usefull<br />Simple to use withssjsplatform<br />
  37. 37. Install APEtest it<br />
  38. 38. Include Rhino in your java projects<br />Include in the JDK<br />Usefull for scripting<br />Usefullworking on unsafe data<br />Addevent layer withAtmoshpere or Akka<br />
  39. 39. Writesomekickassapp<br />
  40. 40. The checklist<br />What I need ?<br />Can I split the application ?<br />What about mysysadminskills ?<br />Is the appcritical ?<br />Think about yourproblemswiththeses solutions<br />
  41. 41. Thx<br />

×