All out on the Cloud - PloneConf 2012


Published on

Keynote from PloneConf 2012 about the state of javascript and Cloud9 IDE.

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • \n
  • Hi!\n
  • \n
  • Let’s go to 1995, Altavista major search engine, Ajax winning Champions League, Montell Jordan\n
  • Developed in 10 days, ‘or something worse than Javascript would have happened’\n
  • Brenden Eich. Launched in the same time as Java support.\n
  • Used to replace text in the status bar, but in 1999 things changed. Outlook Web Access launched.\n
  • Launched in IE 5 as an ActiveX control, support added in Firefox in 2000 which gave it the name. In 2004 GMail launched.\n
  • Still not very beloved, Plone tried to avoid it as well. 2005.\n
  • Reasons for this: Implementation differs over browsers (AJAX in IE 6, IE 7, IE 8)\n
  • The best sold book about javascript is called ‘Javascript: the good parts’\n
  • And it’s 8 times smaller than ‘the definitive guide’\n
  • But the reason people REALLY hated javascript wasn’t the language itself. It’s the DOM.\n\nTree structure internally used in the browser.\n
  • This is incredibly tedious! And probably doesn’t work cross browser either.\n
  • In the years after 2006 things started to change with the launch of jQuery.\nOr, more specific, ‘Sizzle’ the selector library that powers jQuery. 52% of most visited sites use it.\n
  • In the years after 2006 things started to change with the launch of jQuery.\nOr, more specific, ‘Sizzle’ the selector library that powers jQuery. 52% of most visited sites use it.\n
  • Google Trends volume, Java is red, JS is blue. Dumb kid’s brother has grown up.\n
  • With the DOM out of the way, people started to care about Javascript.\n
  • And javascript went server side as well\n
  • 1995 LiveWire server. Actual power from the underlying platform\n
  • * Cross platform library\n* Fastest IO / Networking library on this planet\n* Async up blocking platform API calls\n
  • File system API\n
  • However, OS vendors try to abstract that away.\n
  • Example of reading stream in C, nice streaming, low memory usage, but it’s a synchronous flow, Thread blocks. \n
  • In LibUV / Node, you react on events. Don’t block your thread when waiting for a file. Async code flow.\nHas FS, DNS, Networking.\n
  • Non blocking, no threads, massive scale up, 300 long polling connections -> tens of thousands.\n
  • JS bindings to LibUV. Like the DOM.\n
  • \n
  • Not exclusive. Lua, C++, SpiderMonkey. \n\nJS most mature, largest set of 3rd party.\n
  • Twisted with Python, existing eco system\nFast VM\nAsync networking\n
  • The world is all about the web, from viewing information to online banking to editing documents: you won't have to leave your browser. \n
  • Traditionally devs that use Java, .NET, they are completely used to having all the great tools: IDE's, testing suites, continious integration services;\n
  • whereas the javascript developer, or actually anyone who does dynamic languages, well... not so much! They're happy with just syntax highlighting!\n
  • \n
  • Cool IDE features like ‘debugging’\n
  • Context aware code completion\n
  • Run everything you want. Because we give you a free VM, true freedom. Java? MemSQL? Already GIT.\n
  • Fully functional. Real VIM, Telnet, Watch Star Wars ASCII. VM included on every project.\n
  • Real time code collaboration like in google docs\n
  • See each other typing, debug together and be more productive!\n
  • Full lifecycle\n
  • Even worse, part of our architecture is decentralized. Because you get your own VM where all code lives and all processes run. \n
  • \n
  • Not enough power, feel free to use your own machine. We use this system for new hires.\n
  • To prove that it’s the real deal I’ll show you that you can do real plone development in cloud9\n
  • \n
  • \n
  • \n
  • \n
  • All out on the Cloud - PloneConf 2012

    1. 1. ALL OUT IN THE CLOUD Jan Jongboom PloneConf 2012 10 October 2012, Arnhem, NL
    2. 2. @drbernhard#cloud9ide
    3. 3. Program• Javascript, 1995 to 2012• Building Cloud9• Demo
    4. 4. 1995
    5. 5. Javascript• Livescript• Netscape 2.0• Not like Java • More like Scheme
    6. 6. JS had to "look like Java" only less so, [it had to] be Javas dumb kid brother or boy-hostage sidekick.
    7. 7. XMLHttpRequest
    8. 8. Beloved?
    9. 9. Reasons• Implementation differs• Lot of crap • Search for the ‘with’ statement
    10. 10. DOM• Never meant to be scripted• Direct mapping of C structures• Incovenient API
    11. 11. Java vs. Javascript
    12. 12. People started to care • VMs got faster • And embeddable! • EcmaScript 5 • JSConf
    13. 13. Google’s V8 engineas an executable!
    14. 14. LibUV
    15. 15. Asynchronous is cool!
    16. 16. I hateasynchronous!
    17. 17. Javascript LibUV
    18. 18. Javascript bindings to LibUV Standard libraries in JS JS executed in V8
    19. 19. Not exclusive
    20. 20. Program• Javascript, 1995 to 2012• Building Cloud9• Demo
    21. 21. Normal developers
    22. 22. JavaScript Developer
    23. 23. Debugging
    24. 24. (Smart!) Code completion
    25. 25. Free Linux VM!
    26. 26. Real terminal
    27. 27. Collaboration
    28. 28. See each other type Debug together Productivity++
    29. 29. CreateDeploy Run/Debug Share Test
    30. 30. OpenshiftCloud9 datacenter Remote VM IDE server Remote VM Remote VM
    31. 31. Install everything• Python 2.6.6 • But you can compile 2.7 if you like• Run Mongo, Postgres• Plone!
    32. 32. Not enough power?• Free OpenShift machine• 128 / 512 MB Ram• Limited resources• Bring your own server!
    33. 33. Program• Javascript, 1995 to 2012• Building Cloud9• Demo
    34. 34. Prerequisites• Runs on my EC2 machine• Unified installer• Installs in 5 minutes
    35. 35. got ideas?fork cloud9 and contribute or join us, we’re hiring
    36. 36. Happy coding!
    37. 37. Jan Jongboom @drbernhard