4 ms·
The technical description: Each toplevel window is mapped to a canvas element, and the content in the windows is updated by streaming commands over a multipart
by albertzeyer 16y ago
The technical description:
Each toplevel window is mapped to a canvas element, and the content in the windows is updated by streaming commands over a multipart/x-mixed-replace XMLHttpRequest that uses gzip Content-Encoding to compress the data. Window data is pushed as region copies (for scrolling) and image diffs. Images are sent as data: uris of uncompressed png data.
Input is gathered via dom events and sent to the server using websockets.
This doesn't really sound that impressive. It's kind of cool and you could also do the same and port some RDP or VNC client over which would be even cooler. But I don't really feel that this is the way to go. It would be much nicer if the native HTML widgets would be used.
- tjpick 16y agoI personally don't give much of a crap about native HTML. That's just a transport, and let's face it, for doing apps it's shit. What I would want it to have is deep linking, back button behaviour and the other nice bits of HTTP.
- pyre 16y agoThere is not a 1-to-1 mapping between all Gtk+ widgets and all HTML widgets.
- aberkowitz 16y agoThere doesn't have to be an exact one-to-one mapping. I doubt there are many Gtk+ widgets that cannot be reasonably emulated in the latest browsers.
- pornel 16y agoHTML5 allows making any element focusable and supports ARIA that exposes custom elements to accessibility API, so you can make pretty good custom widgets using DHTML.