• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
World of javascript

World of javascript



An illustratration on javascript as an evolving platform.

An illustratration on javascript as an evolving platform.



Total Views
Views on SlideShare
Embed Views



2 Embeds 9

http://www.linkedin.com 8
https://www.linkedin.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    World of javascript World of javascript Presentation Transcript

    • 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 →9 = 140X Firefox 3 → 4 = 10X
    • Performance is poor
    • Run (only) in browser No, it also run in Desktop, Mobile, Server,RIA, Widgets, DB, OS and Documents
    • Javascript Today
    • 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, "");console.log(Server running at;% node example.js Server running at Here comes a web server!
    • 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
    • Ecosystem
    • EcosystemECMAScript Language
    • Ecosystem Objective-JActionScript JScriptCaja Javascript QTScript Dialect WMLScript Javascript OSA Jscript.NET Language ECMAScript
    • EcosystemV8 Chakra Rhino NitroTraceMonkey Carakan Engine Dialect Language
    • Ecosystem Browser RIAMobile DB OS Desktop Platform Documents Widgets Engine Dialect Language
    • Ecosystem Client jQuery, Mootools, prototype YUI, Dojo, Ext, SproutCore Server Narwhal, Jaxer, AppJet CommonJS, Node.js, FrameworkMobile App Phonegap Titanium, Platform Engine Dialect Language
    • Ecosystem AJAX JSON etc. OthersMongoDB CouchDB Framework Platform Engine Dialect Language
    • At a glance
    • 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}
    • AppceleratorTitanium Native iPhone/Android Cross-platform Framework
    • 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 });
    • 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, "");
    • CommonJSSpecification of standard API for non-web application: CLI, Server, GUIAPIs: Module Package System Console Filesystem HTTP Client Encodings .. etc.
    • 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"])
    • Why now?
    • It’s everywhere Web HTML5+CSS+Javascript, RIA Platform Desktop, Mobile, Server, blah, blah, … DevicePC, Netbook, Garakei, Smartphone, Tablet, Embedded
    • They’reeverywhere Web Developers Web Designers Easy to learn, transfer skills, and move to new platform
    • CloudSmartphone RIA Desktop WebApp Developers Designers
    • Thank you