9. COMMUNAUTÉ
• Nombreux Groupes d’utilisateurs
• Nombreuses Conférences
• Nombreux Blogs et livres
• Large documentation
• Langage aussi utilisé par les
développeurs venant d’autres
technologies
mercredi 18 janvier 2012
10. LIBRAIRIES & FRAMEWORKS
• JavaScript est le language le
plus populaire sur GitHub
• Nombreuses librairies
• Nombreux framework
https://github.com/languages/JavaScript
http://javascriptlibraries.com/
mercredi 18 janvier 2012
11. ENVIRONNEMENT DE
DEVELOPEMENT
• Visual Studio
• XCode
• Eclipse
• NetBeans
• Wakanda Studio
• Cloud9
mercredi 18 janvier 2012
12. DÉBOGUEURS
Client-side
• Firebug *
• Web Inspector *
• Dragonfly
Server-Side
• Wakanda Debugger *
• Cloud9 Debugger *
* via standard protocols, some debugger can debug JS code running anywhere (server, desktop, mobile, ...)
mercredi 18 janvier 2012
13. AUTRES OUTILS ET
STANDARDS
• JSLint / JSHint / JavaScriptLint
• JSON / JSON-Schema / JSON-RPC
• JSDoc
• HTTP Fox / JSON View
• JSMin / Packer / Closure / YUI Compressor / Dojo Shrinksafe
• YUI Test / QUnit / Jasmine
• NPM
mercredi 18 janvier 2012
20. BENCHMARKS
and what they worth....
mercredi 18 janvier 2012
21. BROWSERS WAR II
(MAY 2009)
http://www.maximumpc.com/article/features/browser_brouhaha_your_maximum_guide_browsers_today_and_tomorrow?page=0,6
mercredi 18 janvier 2012
28. COMMON JAVASCRIPT
• Working Groups:
- CommonJS
- WHATWG
- W3C
- ECMA TC39
• L’ubiquité au delà d’ECMAScript
• la spécification HTML5 se faisait aussi appeler:
“Web Applications 1.0”
http://www.whatwg.org/specs/web-apps/current-work/
• Asynchronous & Synchronous APIs
mercredi 18 janvier 2012
29. INTEGRATION-ORIENTED
• Java environment
- using Rhino like with
- Helma, Persevere, Narwhal, RingoJS, Sun Phobos...
• .Net environment
- using JScript.NET like with
- IronJS, Node.NET
• Other environments
- C (GPSEE), PHP (J2PA), Ruby (Johnson), Perl (JE), …
mercredi 18 janvier 2012
30. ASYNC. EVENT-BASED
Node.js like
• Browser Event-Loop on the Server
• An Event Loop in one single thread
• Cooperative («one at a time») with async. callbacks
• Node.js (V8), SpiderNode, RhiNodeII, Node.NET
mercredi 18 janvier 2012
31. SINGLE & MULTI THREADING
One context per thread
SINGLE MULTI
• Low memory usage • Vertical scalability (multi-core)
• Potentially handle lot of requests • Thread-safety for concurrent access
• Cooperative • Preemptive: Parallel code execution
• Shared context • Allow Synchronous APIs
• Use mostly one core* • Uses easily all available cores
Notes:
- an event loop can generate some other threads which could use other cores
- multi-thread architectures can run event loops in some of their threads
mercredi 18 janvier 2012
32. DATABASE-DRIVEN
• Document Store
- CouchDB, MongoDB
• Key/value Store
- Riak
• Object Store
- Wakanda
• Push Store
- APE
mercredi 18 janvier 2012
38. CREDITS
Thanks for their contributions to
Wesley Garland
Ondrej Zara
mercredi 18 janvier 2012
39. Full-JS - 5 Trophées
1. Interopérabilité: Interconnexion de systèmes
hétérogènes,interopérabilité entre applications.
Mise en œuvre, utilisation de connecteurs et/ou
de standards ouverts (Open Data, CommonJS,
W3C…).
2. Innovation: toute application présentant une
innovation dans son usage, dans sa mise en
œuvre, par son originalité… Les thèmes de
l’accessibilité et du développement durable sont
les bienvenus.
3. JS Embarqué: Toute application embarquée
hors navigateur et qui soit à usage industriel,
scientifique, médical… (internet des objets,
NFC…).
4. Application Desktop: Applications desktop
end to end JavaScript (Chrome OS, Windows 8
Metro, Mozilla WebRT…)
5. Environnement de développement:
Outils de développement / Traçabilité /
Robustesse / Scalabilité…
full-js.org @fulljs
mercredi 18 janvier 2012