I recently saw a demo of a pure HTML5 Facebook app, and something odd stood out. It seems that on modern browsers, especially mobile ones, the bottleneck isn't JavaScript performance anymore, but modifying the DOM tree.
After years of feature bloat in CSS, it seems like layout and rendering all those DOM elements became a complex mess. Raw JavaScript computation is now extremely fast, but the moment you significantly modify a Paige's structure, be ready to take a performance hit.
Sencha's solution is then to recycle as much as possible existing DOM objects, and do so with some clever proxying of DOM events to the JavaScript code. It is a significant effort, but I suspect that their solution cleverly avoids the glaring bottleneck.
At any rate, it feels like more and more serious HTML5 development approaches the complexity of what traditional desktop GUI development was 20 years ago. That means that eventually we'll badly have to depend on higher-level frameworks to simplify HTML5 development, like Sencha just did.
Published on December 19, 2012 at 21:13 EST
Older post: The Business of Photos
Newer post: Humble Bundles