The world ofJavascript             Rapee Suveeranont               Web Technology
Falsepopular belief
It’s some kind of JAVA      No,      Not in technological terms   Syntax C Features SmalltalkBuzz word JAVA
Performance is poor  No,  Getting better and better,  at even faster speed  2008 – 2010 Javascript engine war  IE      7 →...
Performance is poor
Run (only) in browser               No,              it also run in Desktop, Mobile, Server,RIA, Widgets, DB, OS and      ...
Javascript  Today
We can do this,var http = require(http);http.createServer(function (req, res) {    res.writeHead(200, {Content-Type: text/...
Naked Javascript   Pure programming language   ECMAScript   No standard library   Not even document.write()   No package m...
Ecosystem
EcosystemECMAScript     Language
Ecosystem                     Objective-JActionScript                        JScriptCaja   Javascript                    Q...
EcosystemV8     Chakra       Rhino NitroTraceMonkey Carakan   Engine                      Dialect                      Lan...
Ecosystem   Browser RIAMobile DB OS Desktop                       Platform Documents Widgets                       Engine ...
Ecosystem     Client      jQuery, Mootools, prototype                 YUI, Dojo, Ext, SproutCore   Server Narwhal, Jaxer, ...
Ecosystem AJAX JSON etc.                      OthersMongoDB     CouchDB                      Framework                    ...
At a glance
JSON. BSON.      Very popular                                 JSON + byte arraylight, fast and readable                   ...
AppceleratorTitanium       Native iPhone/Android     Cross-platform Framework
TitaniumCreate native UI with tabs Titanium.UI.setBackgroundColor(#000); var tabGroup = Titanium.UI.createTabGroup({id:tab...
Node.jsServer-side application File system, HTTP, SSL, Net, DNS, datagram, processOpen socket and listen to incoming data ...
CommonJSSpecification of standard API for             non-web application:                CLI, Server, GUIAPIs:           ...
MongoDB     NoSQL database with native Javascript querySQL: WHERE x = y> db.foo.find({      $where : function() {         ...
Why now?
It’s everywhere                    Web           HTML5+CSS+Javascript, RIA                Platform       Desktop, Mobile, ...
They’reeverywhere Web Developers Web Designers Easy to learn, transfer skills,  and move to new platform
CloudSmartphone   RIA   Desktop        WebApp     Developers       Designers
Thank you
Upcoming SlideShare
Loading in …5
×

World of javascript

1,009 views

Published on

An illustratration on javascript as an evolving platform.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,009
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
7
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

World of javascript

  1. 1. The world ofJavascript Rapee Suveeranont Web Technology
  2. 2. Falsepopular belief
  3. 3. It’s some kind of JAVA No, Not in technological terms Syntax C Features SmalltalkBuzz word JAVA
  4. 4. Performance is poor No, Getting better and better, at even faster speed 2008 – 2010 Javascript engine war IE 7 →9 = 140X Firefox 3 → 4 = 10X
  5. 5. Performance is poor
  6. 6. Run (only) in browser No, it also run in Desktop, Mobile, Server,RIA, Widgets, DB, OS and Documents
  7. 7. Javascript Today
  8. 8. We can do this,var http = require(http);http.createServer(function (req, res) { res.writeHead(200, {Content-Type: text/plain}); res.end(Hello World¥n);}).listen(8124, "127.0.0.1");console.log(Server running at http://127.0.0.1:8124/);% node example.js Server running at http://127.0.0.1:8124/ Here comes a web server!
  9. 9. Naked Javascript Pure programming language ECMAScript No standard library Not even document.write() No package management unlike PHP, Ruby, Python Many engines of choice Rhino, TraceMonkey, Nitro, Chakra, Carakan
  10. 10. Ecosystem
  11. 11. EcosystemECMAScript Language
  12. 12. Ecosystem Objective-JActionScript JScriptCaja Javascript QTScript Dialect WMLScript Javascript OSA Jscript.NET Language ECMAScript
  13. 13. EcosystemV8 Chakra Rhino NitroTraceMonkey Carakan Engine Dialect Language
  14. 14. Ecosystem Browser RIAMobile DB OS Desktop Platform Documents Widgets Engine Dialect Language
  15. 15. Ecosystem Client jQuery, Mootools, prototype YUI, Dojo, Ext, SproutCore Server Narwhal, Jaxer, AppJet CommonJS, Node.js, FrameworkMobile App Phonegap Titanium, Platform Engine Dialect Language
  16. 16. Ecosystem AJAX JSON etc. OthersMongoDB CouchDB Framework Platform Engine Dialect Language
  17. 17. At a glance
  18. 18. JSON. BSON. Very popular JSON + byte arraylight, fast and readable (binary) compact data format{ id: 99, name: 高橋じゅん, address: [ {country: JP, postcode: 144-0012}, {country: TH, postcode: 10400} ], married: false}
  19. 19. AppceleratorTitanium Native iPhone/Android Cross-platform Framework
  20. 20. TitaniumCreate native UI with tabs Titanium.UI.setBackgroundColor(#000); var tabGroup = Titanium.UI.createTabGroup({id:tabGroup1}); var win1 = Titanium.UI.createWindow({id:win1}); var tab1 = Titanium.UI.createTab({id:tab1, window:win1}); tabGroup.addTab(tab1); tabGroup.open();Open built-in camera // Display phone’s camera Titanium.Media.showCamera({ success: function(event) { ... }, overlay: overlay, showControls: false, mediaTypes: Ti.Media.MEDIA_TYPE_PHOTO, autohide: false });
  21. 21. Node.jsServer-side application File system, HTTP, SSL, Net, DNS, datagram, processOpen socket and listen to incoming data var net = require(net); net.createServer(function (socket) { socket.write("Echo server¥r¥n"); socket.on("data", function (data) { socket.write(data); }); }).listen(8124, "127.0.0.1");
  22. 22. CommonJSSpecification of standard API for non-web application: CLI, Server, GUIAPIs: Module Package System Console Filesystem HTTP Client Encodings .. etc.
  23. 23. MongoDB NoSQL database with native Javascript querySQL: WHERE x = y> db.foo.find({ $where : function() { return this.x == this.y; } })OUTPUT: “Hello, Joe”> db.eval(function(name) { return "Hello, “ + name; }, ["Joe"])
  24. 24. Why now?
  25. 25. It’s everywhere Web HTML5+CSS+Javascript, RIA Platform Desktop, Mobile, Server, blah, blah, … DevicePC, Netbook, Garakei, Smartphone, Tablet, Embedded
  26. 26. They’reeverywhere Web Developers Web Designers Easy to learn, transfer skills, and move to new platform
  27. 27. CloudSmartphone RIA Desktop WebApp Developers Designers
  28. 28. Thank you

×