Successfully reported this slideshow.
Your SlideShare is downloading. ×

Bespin, Skywriter, Ace The Past, Present and Future of online Code Editing

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 41 Ad

Bespin, Skywriter, Ace The Past, Present and Future of online Code Editing

Download to read offline

More and more sites allow code to be edited in the browser... anything from simple templates all the way up to complete applications integrating both client and server code. The most popular editor for this purpose is probably still <textarea>, which is a terrible code editor (just hit the tab key to see what I mean!)

There's no excuse for just using <textarea> any more. The Ajax.org Cloud9 Editor (Ace) project was born out of Ajax.org's Cloud9 IDE cloud-based coding environment and Mozilla's Bespin/Skywriter project. With this project, we're creating an easily embeddable, "no compromises" editor.

In our talk, we'll show off how you can:

Use Ace in your own projects by adding just a couple of lines to your page
Configure Ace to your tastes
Extend Ace with custom features
Along the way, you'll see a number of Ace's features that go beyond just syntax highlighting: live syntax checking, highlight uses of variables, easy keyboard navigation (even for vim users!) and more.

More and more sites allow code to be edited in the browser... anything from simple templates all the way up to complete applications integrating both client and server code. The most popular editor for this purpose is probably still <textarea>, which is a terrible code editor (just hit the tab key to see what I mean!)

There's no excuse for just using <textarea> any more. The Ajax.org Cloud9 Editor (Ace) project was born out of Ajax.org's Cloud9 IDE cloud-based coding environment and Mozilla's Bespin/Skywriter project. With this project, we're creating an easily embeddable, "no compromises" editor.

In our talk, we'll show off how you can:

Use Ace in your own projects by adding just a couple of lines to your page
Configure Ace to your tastes
Extend Ace with custom features
Along the way, you'll see a number of Ace's features that go beyond just syntax highlighting: live syntax checking, highlight uses of variables, easy keyboard navigation (even for vim users!) and more.

Advertisement
Advertisement

More Related Content

Advertisement

Bespin, Skywriter, Ace The Past, Present and Future of online Code Editing

  1. 1. Bespin, Skywriter, Ace The Past, Present and Future of online Code Editing Fabian Jakobs Kevin Dangoor Montag, 2. Mai 2011
  2. 2. Fabian Jakobs Kevin Dangoor ajax.org Mozilla @fjakobs @dangoor Montag, 2. Mai 2011
  3. 3. Code Editors Montag, 2. Mai 2011
  4. 4. Code Editors Montag, 2. Mai 2011
  5. 5. Code Editors Montag, 2. Mai 2011
  6. 6. Code Editors Montag, 2. Mai 2011
  7. 7. Code Editors Montag, 2. Mai 2011
  8. 8. Code Editors Montag, 2. Mai 2011
  9. 9. No Compromise • we don‘t strive for almost as good • we strive to be at least as good • it‘s time for the web to take over Montag, 2. Mai 2011
  10. 10. Ajax.org Cloud9 Editor (Ace) • Fully featured • Extensible • Scalable • Cross Browser Montag, 2. Mai 2011
  11. 11. Our Goal Today Montag, 2. Mai 2011
  12. 12. Ace Building Blocks Editor Edit Session Document (Controller) (Model) Language Mode Renderer (View) Selection Montag, 2. Mai 2011
  13. 13. Demo Part 1 Montag, 2. Mai 2011
  14. 14. Montag, 2. Mai 2011
  15. 15. Tech Details Montag, 2. Mai 2011
  16. 16. Renderer •DOM is used for drawing only • no state in the DOM • never read the DOM Montag, 2. Mai 2011
  17. 17. Virtual Viewport .. .. .... .. ... .... . . ... . .. . . .. .. . .. .. .. . .. . .. .. .... . . . . Montag, 2. Mai 2011
  18. 18. Virtual Viewport .. .. .... .. ... .... . . ... . • rendering a full document in .. . . the DOM doesn‘t scale .. .. . .. .. .. . .. . .. .. .... . . . . Montag, 2. Mai 2011
  19. 19. Virtual Viewport .. .. .... .. ... .... . . ... . • rendering a full document in .. . . the DOM doesn‘t scale .. .. • only render visible rows . .. .. .. . .. . .. .. .... . . . . Montag, 2. Mai 2011
  20. 20. Virtual Viewport .. .. .... .. ... .... . . ... . • rendering a full document in .. . . the DOM doesn‘t scale .. .. • only render visible rows . .. .. .. . .. . .. .. .... . . . . Montag, 2. Mai 2011
  21. 21. Performance • Document size shouldn‘t matter • Everything in the main thread should scale with the viewport size Montag, 2. Mai 2011
  22. 22. Performance • Document size shouldn‘t matter • Everything in the main thread should scale with the viewport size BUT Montag, 2. Mai 2011
  23. 23. Performance • Document size shouldn‘t matter • Everything in the main thread should scale with the viewport size BUT • not everything does! Montag, 2. Mai 2011
  24. 24. Performance • Document size shouldn‘t matter • Everything in the main thread should scale with the viewport size BUT • not everything does! • We need web workers Montag, 2. Mai 2011
  25. 25. Web Workers Main JS Thread Worker Edit Session JS Parser Document Mirror . . . . .. .. .. .. . . .. . .. .. . .. .. .. .... . . . .... . . . Montag, 2. Mai 2011
  26. 26. Demo Part 2 Montag, 2. Mai 2011
  27. 27. Montag, 2. Mai 2011
  28. 28. Montag, 2. Mai 2011
  29. 29. Montag, 2. Mai 2011
  30. 30. Past, Present and Future Montag, 2. Mai 2011
  31. 31. 13.7 billion years ago 230 million years ago 230,000 years ago 1770 1983 2008 2009 Mozilla Skywriter 2010 Montag, 2. Mai 2011
  32. 32. Present Montag, 2. Mai 2011
  33. 33. Present Montag, 2. Mai 2011
  34. 34. Present Montag, 2. Mai 2011
  35. 35. Present Montag, 2. Mai 2011
  36. 36. Present Montag, 2. Mai 2011
  37. 37. Present Montag, 2. Mai 2011
  38. 38. Present • 30+ Contributors • 677 Watchers, 148 Forks on Github • 234 Pull Requests • 17 Language modes Montag, 2. Mai 2011
  39. 39. Future • Code completion • Code Navigation • Code Folding • Outline View • Documentation Montag, 2. Mai 2011
  40. 40. Happy Coding! @cloud9_editor http://ace.ajax.org https://github.com/fjakobs/coffeepreview Montag, 2. Mai 2011
  41. 41. Photo Credits • Big Bang http://www.flickr.com/photos/neychurluvr/4021590334/ • Mozilla Dinosaur http://www.flickr.com/photos/neychurluvr/4021590334/ • Bacon http://en.wikipedia.org/wiki/File:RawBacon.JPG • Ben and Dion http://www.flickr.com/photos/franksvalli/5163228449/ Montag, 2. Mai 2011

×