Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JavaScript is everywhere

10,502 views

Published on

Slides from OSCON 2011

http://www.oscon.com/oscon2011/public/schedule/detail/18579


JavaScript is the world’s most popular language – it is virtually everywhere. And once you learn it (or you’re already familiar with it from some browser scripting) you can leverage it to accomplish a great deal of programming and automation tasks.

- choose node.js for your next server-side web app
- automate sysadmin tasks with JavaScript shell scripts
- improve your (and your visitor’s) browsing experience with bookmarklets and browser extensions
- automate common PhotoShop tasks
- extend some of your favorite apps (e.g. DreamWeaver)
- create desktop GUI apps that run on Windows, Mac and Linux using XULRunner
- create iPhone and Android apps with Titanium or PhoneGap

Published in: Technology

JavaScript is everywhere

  1. 1. JavaScript is Everywhere<br />Stoyan Stefanov<br />OSCON July 27, 2011<br />
  2. 2. The Future is here<br />and it's widely distributed<br />
  3. 3. "Write once, run everywhere"<br />JavaScript is everywhere<br />
  4. 4. Learn one language<br />do everything<br />
  5. 5.
  6. 6. I'm biased<br />so let's just do it<br />
  7. 7.
  8. 8.
  9. 9. MVC?<br />In-M-Out<br />
  10. 10. In-M-Out<br />-> UI, presentation<br />-> "Business" logic, core, brains<br />-> UI, presentation<br />Input<br />Model<br />Output<br />
  11. 11. and the rest is…CODE & DEMOS<br />
  12. 12. m.js<br />knows all the chords<br />
  13. 13. CLI<br />command-line interface<br />
  14. 14. CLI<br />jsc<br />rhino<br />node<br />cscript<br />exe<br />
  15. 15.
  16. 16.
  17. 17.
  18. 18.
  19. 19.
  20. 20.
  21. 21. WebService<br />with node.js<br />
  22. 22.
  23. 23.
  24. 24. Web Site/App<br />JavaScript's natural habitat: the browser<br />
  25. 25.
  26. 26. Bookmarklet<br />smaller version of web <br />(thanks, media queries!)<br />
  27. 27.
  28. 28. Browser extension<br />
  29. 29.
  30. 30.
  31. 31. Photoshop scripting<br />to generate 100s chord PNGs<br />
  32. 32. Photoshop<br />IDE: ExtendScript Toolkit<br />log actions to .js<br />app<br />.documents[0]<br />.layers<br />.getByName('ha')<br />.visible = true;<br />
  33. 33.
  34. 34.
  35. 35. Desktop app<br />for Mac, Windows, Linux via XULRunner<br />
  36. 36.
  37. 37.
  38. 38.
  39. 39. More desktop<br />for Windows<br />
  40. 40. lib and exe<br />DLL <br />Windows .exe<br />
  41. 41. Native iPhone app <br />with Titanium<br />
  42. 42. Options<br />Titanium Mobile:<br />compiles JS to Obj-C<br />PhoneGap<br />Runs your JS/HTML(5) <br />starts with about:blank-likepage<br />need a JS toolkit, e.g. Sencha Touch or jQuery Mobile to mimic native controls<br />
  43. 43.
  44. 44.
  45. 45. And more…<br />Titanium desktop<br />Mac Widgets<br />Yahoo Widgets – work on TVs too<br />Adobe Air<br />PhoneGap (+Sencha Touch)<br />Next Windows OS<br />…<br />
  46. 46. JavaScript everywhere<br />If you're on a deserted island with virtually any device (and infinite battery life) you can still write code and be creative<br />
  47. 47. Just type this URL:<br />javascript:alert(eval(prompt('What?')))<br />
  48. 48. Stoyan Stefanov@stoyanstefanovhttp://phpied.com/files/jseverywhere.zipThank you!<br />

×