Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Berlin Expert Days - Bed Con presentation

Berlin Expert Days - Bed Con presentation

presentation by Jan Jongboom Cloud9 IDE

If we advocate the web, develop for the web, and move more and more of the applications we use every day to the web – then why are we still developing software using desktop IDEs and desktop code editors? Don’t all the advantages of the web apply to IDEs as well? Nothing to install, nothing to configure, seamless software updates, real-time collaboration with other users, offloading computationally expensive tasks (like large compiles) to the cloud. It seems to make perfect sense. Still, nobody seemed to do it. So, we decided to do it ourselves – build an IDE in the browser: Cloud9 IDE.

In this talk I will describe the vision and architecture of Cloud9 IDE and programming “in the cloud” in general. In addition I will describe what the architecture of Cloud9 looks like and the challenges we face.

cloud9ide

April 13, 2012
Tweet

Other Decks in Technology

Transcript

  1. Jan Jongboom • @drbernhard • Dev at Cloud9 since 2011

    • Amsterdam office Friday, April 13, 2012
  2. Javascript • 1995, Brendan Eich ‘Livescript’ • Netscape 2.0 •

    Developed in 10 days • Not like Java, more like Scheme Friday, April 13, 2012
  3. “JS had to 'look like Java' only less so, be

    Java’s dumb kid brother or boy-hostage sidekick” Friday, April 13, 2012
  4. DOM • Never meant to be scripted • Direct mapping

    of C structures • Inconvenient API • http://bit.ly/crockford-dom Friday, April 13, 2012
  5. node.js • Google V8 as an executable • Together with

    LibUV • Not new: LiveWire (1995, Netscape Server) • Event loop Friday, April 13, 2012
  6. Tooling matters • Javascript is cool, fast • But C9

    has 240,000 LOC Friday, April 13, 2012
  7. • Standalone code editor in pure JS • Web based

    • Features, usability, performance • Merged with Bespin / Skywriter (Mozilla) • http://ace.ajax.org Friday, April 13, 2012
  8. Internals • <textarea/> • Render the viewport • Fake cursor!

    • DOM is display only .. .. .... .. ... .... . . ... . .. . . .. .. . .. .. .. . .. . .. .. .... . . . . Friday, April 13, 2012
  9. Internals • <textarea/> • Render the viewport • Fake cursor!

    • DOM is display only .. .. .... .. ... .... . . ... . .. . . .. .. . .. .. .. . .. . .. .. .... . . . . Friday, April 13, 2012
  10. UI • Large frontends are a major challenge • Component

    reuse • Databinding Friday, April 13, 2012
  11. • Realtime collaborative apps in the browser • Skinning, components,

    etc. • Most sophisticated two way databinding model • http://ui.ajax.org Friday, April 13, 2012
  12. Server and client side code is compatible • Use it

    to your advantage • Offload analysis • Server side ACE rendering Friday, April 13, 2012
  13. Extensibility • Plugins for the win • Dependency management •

    Plugins are javascript, but you can mix in APF on the client Friday, April 13, 2012