Posts Tagged ‘WebKit’

WebKit / Cappuccino / Google

Posted: August 25, 2011 in IT/Dev
Tags: , ,

WebKit framework, derived from KHTML and having initiated many of HTML5 features (thanks to iPhone’s WebKit implementation, that was also allowed by Core Animation), was launched 10 years ago by Apple. The first verison of Safari was released later in 2003, and the project became open source in 2005 (Google contributed, and it has been used by Nokia, Adobe and Palm/HP).

Creator of Cappuccino worked at Apple in the initial development team for iPhone’s WebKit version (the most impressive from 2007 to 2009). Google may then be interested by 280 North, that was bought by Motorola a year ago, and is now owned by Android/GWT editor.

As I had supposed, Google may use Cappuccino to replace Java as Android SDK. Besides solving the licensing problems, this solution could lure iOS developers, easing Cocoa to Android porting.
The new Google mobile OS would just have to be based on WebKit, in the same way Palm/HP’s WebOS does.

Sencha Animator for WebKit

Posted: October 28, 2010 in IT/Dev
Tags: , ,

Sencha (ExtJS) also presented an animation editor based on WebKit’s CSS Effects (animations, transitions, transforms, gradients), that seems more evolved than Adobe’s solution. As with ExtJS, a licence has to be purchased for commercial use (derived framework or application builder tool).

This article provides a brief history of the revolution brought by Webkit in web graphics. There is to note that CSS transforms and transitions, that appeared in WebKit in 2007, only supported GPU accelerating in the iPhone WebKit version (through Core Animation).
Google developed its own compositing engine for Chrome, Skia, inspired from OSX’s CoreGraphics, for Canvas 2D implementation under Windows and Linux (on OSX Google logically uses CoreGraphics). These two implementations do not manage yet GPU accelerating (Google would have to use CoreGraphics’s CGLayer on OSX for that), however Canvas 2D performance on Chrome under OSX is still ways behind Windows and Linux versions (that isn’t the case for CSS transitions/animations, based on CoreAnimation’s CALayer – and then the GPU).

Quartz has been using GPU accelerating for windows moving since first version of OSX, however content redraw (areas selection) was never optimized (for example text reflow when resizing a window) and is still mainly software based. QuartzGL (that was released in Leopard and that was initially available under Tiger under Quartz Extreme name) was intended to solve this problem, however it is still disabled by default (could lead to visual artifacts, and Apple is still working on resolution independance, that is tied).

Cappuccino team published an article about their choice of NativeHost (that they initially developed for Atlas) over Titanium, in order to provide a native execution mode (menus, window, open/save dialogs), through a transparent wrapper around WebKit engine (no code change required for the Cappuccino web application).

Through a recent WebKit nightly build, the Web Inspector provides many new features :

– styles inspection, contextual DOM editing (and display per chunks for nodes that contain many children),
– informations about HTTP redirect,
– global enabling/disabling of breakpoints, contextual popup (hover) for evaluating elements,
– new keyboard shortcuts,
– timeline that displays the duration of operations (loading, script execution, rendering), sorted/nested against event causation, and with syncrhonous operations being displayed as solid parts,
– audit page (reports unused resources, and provides hints about caching, etc.),
– dedicated page for the console.

Firefox will use Nitro

Posted: March 10, 2010 in IT/Dev
Tags: , , ,

Mozilla announced that Firefox will use a new javascript engine, JagerMonkey, based on WebKit/Safari’s Nitro engine. Recently they stated that Firefox will implement 2D accelerating through Direct2D on Windows, and OpenGL 2.1 on MacOSX and Linux (Safari on iPhone has been providing hadware accelerated graphics through CoreAnimation for years, and it was added to MacOSX desktop WebKit recently).