Date post: | 19-Jun-2015 |
Category: |
Documents |
Upload: | fabian-jakobs |
View: | 3,591 times |
Download: | 0 times |
Bespin, Skywriter, AceThe Past, Present and Future
of online Code Editing
Fabian JakobsKevin Dangoor
Montag, 2. Mai 2011
Fabian Jakobsajax.org
@fjakobs
Kevin DangoorMozilla
@dangoor
Montag, 2. Mai 2011
Code Editors
Montag, 2. Mai 2011
Code Editors
Montag, 2. Mai 2011
Code Editors
Montag, 2. Mai 2011
Code Editors
Montag, 2. Mai 2011
Code Editors
Montag, 2. Mai 2011
Code Editors
Montag, 2. Mai 2011
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
Ajax.org Cloud9 Editor(Ace)
• Fully featured
• Extensible
• Scalable
• Cross Browser
Montag, 2. Mai 2011
Our Goal Today
Montag, 2. Mai 2011
Ace Building Blocks
Renderer(View)
Editor(Controller)
Edit Session(Model)
LanguageMode
Document
Selection
Montag, 2. Mai 2011
Demo Part 1
Montag, 2. Mai 2011
Montag, 2. Mai 2011
Tech Details
Montag, 2. Mai 2011
Renderer
•DOM is used for drawing only
•no state in the DOM
•never read the DOM
Montag, 2. Mai 2011
Virtual Viewport................. . . ..........
..
.
..
.. ..
.
.. . ..
..
.... . . .
.
Montag, 2. Mai 2011
Virtual Viewport
• rendering a full document in the DOM doesn‘t scale
..
..
....
..
...
.... . . ...
.
..
.
.
..
..
.
..
.. ..
.
.. . ..
..
.... . . .
.
Montag, 2. Mai 2011
Virtual Viewport
• rendering a full document in the DOM doesn‘t scale
• only render visible rows
..
..
....
..
...
.... . . ...
.
..
.
.
..
..
.
..
.. ..
.
.. . ..
..
.... . . .
.
Montag, 2. Mai 2011
Virtual Viewport
• rendering a full document in the DOM doesn‘t scale
• only render visible rows
..
..
....
..
...
.... . . ...
.
..
.
.
..
..
.
..
.. ..
.
.. . ..
..
.... . . .
.
Montag, 2. Mai 2011
Performance• Document size shouldn‘t matter
• Everything in the main thread should scale with the viewport size
Montag, 2. Mai 2011
Performance• Document size shouldn‘t matter
• Everything in the main thread should scale with the viewport size
BUT
Montag, 2. Mai 2011
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
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
Worker
Web WorkersMain JS Thread
Document....
..
.
.. . ..
..
.... . . .
JS ParserEdit Session
Mirror....
..
.
.. . ..
..
.... . . .
Montag, 2. Mai 2011
DemoPart 2
Montag, 2. Mai 2011
Montag, 2. Mai 2011
Montag, 2. Mai 2011
Montag, 2. Mai 2011
Past, Present and Future
Montag, 2. Mai 2011
13.7 billion years ago
1983
MozillaSkywriter
2010
230 million years ago 230,000 years ago
1770
2008 2009
Montag, 2. Mai 2011
Present
Montag, 2. Mai 2011
Present
Montag, 2. Mai 2011
Present
Montag, 2. Mai 2011
Present
Montag, 2. Mai 2011
Present
Montag, 2. Mai 2011
Present
Montag, 2. Mai 2011
Present
• 30+ Contributors
• 677 Watchers, 148 Forks on Github
• 234 Pull Requests
• 17 Language modes
Montag, 2. Mai 2011
Future
• Code completion
• Code Navigation
• Code Folding
• Outline View
• Documentation
Montag, 2. Mai 2011
Happy Coding!
@cloud9_editorhttp://ace.ajax.org
https://github.com/fjakobs/coffeepreview
Montag, 2. Mai 2011
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