Successfully reported this slideshow.

Using Javascript in today's world

5

Share

Loading in …3
×
1 of 33
1 of 33

Using Javascript in today's world

5

Share

Download to read offline

A brief about different JavaScript frameworks and some suggestions on when to use each one of them. More details at http://sudarmuthu.com/blog/slides-from-my-talk-about-using-javascript-at-teched

A brief about different JavaScript frameworks and some suggestions on when to use each one of them. More details at http://sudarmuthu.com/blog/slides-from-my-talk-about-using-javascript-at-teched

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Using Javascript in today's world

  1. 1. Using JavaScript in Today’s World Sudar Muthu Research Engineer GO BIG! Yahoo! Labs http://sudarmuthu.com http://twitter.com/sudarmuthu
  2. 2. What is JavaScript?
  3. 3. World’s most popular programming language Douglas Crockford - http://javascript.crockford.com/popular.html
  4. 4. World’s most misunderstood programming language Douglas Crockford - http://javascript.crockford.com/popular.html
  5. 5. Who am I? To talk about JavaScript
  6. 6. Fan of Douglas Crockford http://wp.me/p4WjA-pe
  7. 7. The JavaScript wedding invitation guy ;) http://wp.me/p4WjA-rK
  8. 8. Using JavaScript in the browser
  9. 9. Options • YUI • jQuery • MooTools • Backbone.js • Knockout.js • .. and a million others
  10. 10. When to use YUI • You already know what JavaScript is • To build full-fledged websites that have numerous components with interdependent dependencies • You need lot of build-in widgets • Need to use design patterns • Need to have a maintainable code
  11. 11. When to use jQuery • If you are new to JavaScript • Want something that is light • Have a simple website with lesser number of components • Need a quick solution and want something that is easier to learn
  12. 12. When to use backbone.js • Decouple data from the UI • Use a full fledged MVC in the client side as well • Want to have multiple views/clients (mobile, desktop, tablets etc) • You have a clear understanding of JavaScript and also the MVC concepts
  13. 13. Other special purpose libraries • Lime.js – HTML5 based game framework • Processing.js – Data visualizations and interactive animations • flot – JavaScript plotting library • Raphael – Vector graphics library
  14. 14. Using JavaScript in the server
  15. 15. Why JavaScript on the server • Homogenous Programming Experience • Easy meta programming • Easy reflection • Object literals • Interpreted Langauge
  16. 16. What is node.js • Event-driven • Non-blocking I/O • Asynchronous • Single-threaded • Light weight and efficient
  17. 17. Why node.js Code like this var result = db.query("select.."); // use result either blocks the entire process or implies multiple execution stacks (threads).
  18. 18. Why node.js But a line of code like this db.query("select..", function (result){ // use result }); allows the program to return to the event loop immediately. No more unnecessary threads.
  19. 19. Demo
  20. 20. Demo of callback // execute the callback after 2 seconds setTimeout(function () { console.log("World!"); }, 2000); // print in console console.log("Hello"); https://github.com/sudar/jsfoo/blob/master/callback.js
  21. 21. Demo of a server in node.js var http = require('http'); // require the http module // create a server http.createServer(function (req, res) { // call this function when a request is received res.writeHead(200, { 'Content-Type': 'text/plain' }); // send this as part of the response res.end('Hello Worldn'); }).listen(1337, "127.0.0.1"); // listen on port 1337 // debug information console.log('Server running at http://127.0.0.1:1337/'); https://github.com/sudar/jsfoo/blob/master/http-server.js
  22. 22. When to use node.js • Writing highly concurrent server applications • Sharing application logic between server and client • Peer-to-peer web applications using websockets • And node.js is available in Azure
  23. 23. Other options to consider • Rhino • Spidermonkey • Narwhal • Nitro
  24. 24. Using JavaScript in mobile applications
  25. 25. PhoneGap HTML5 app platform that allows you to write native mobile applications using web technologies like HTML and JavaScript Yes it works in Windows Phone 7 as well
  26. 26. When to use it? If you need to have one code base and develop mobile applications for • Android • iOS • Blackberry • Window Phone • etc
  27. 27. Using JavaScript in desktop applications
  28. 28. Some options to consider • Windows metro apps • Yahoo Konfabulator • Cappuccino • Titanium • Couch DB
  29. 29. Other exoctic use cases • Control USB hid devices – node-hid • Control Serial devices – node- serialport • Control Arduino – noduino • Control Powerpoint presentations
  30. 30. Well, it’s all fine, but I don’t like JavaScript Syntax
  31. 31. Then use CoffeeScript
  32. 32. Demo
  33. 33. Questions Sudar Muthu http://sudarmuthu.com http://twitter.com/sudarmuthu

×