Some things that have caught my eye over the past weeks:
ECMAScript 6 Compatibility Table (via Sylvain Galineau on Twitter)
Upcoming Safari Features
Something I and others have speculated about is how the departure of Google from the Webkit would affect the project’s forward momentum and that of Safari. Google engineers were working on a lot of new features, such as web components, that are now orphaned and the desire to avoid bit rot in the codebase has seen things like Shadow DOM removed. A sensible step in engineering terms, but a disappointing one for developers excited about web components.
However, as part of WWDC, Apple have apparently published a video ((Which I haven’t watched yet, as it requires Quicktime and will not run in anything other than Safari on OS X, not exactly a shining example of cross-platform web compatibility.)) about what’s new in Safari, an interesting slide from which was published on Twitter. It lists various features, one of which in particular caught my eye: CSS Grid Layout. I’ve written about Grid Layout before, as alongside Flexbox (also listed on the slide) it promises to make UI layout in web apps much easier.
The reason it caught my attention is that I knew it had, until Google’s departure, been implemented within Webkit by a Google engineer, Julien Chaffraix (Webkit Bug #60731). I wasn’t aware of any sign from Apple or the other Webkit contributors that they were preparing to adopt this feature, particularly since it is unfinished and its listing on the Webkit Feature Flags page says it has no contributors. The last WK commit related to it is by Chaffraix, three months ago. So what’s going on?
Sylvain Galineau pointed out that Apple aren’t promising to ship it right away, and there’s likely a few months of development ahead. He also speculated that Apple engineers may do their development in a private branch before merging the finished feature, but Webkit and Safari engineer Timothy Hatcher denied that, so unless it’s a mistake, it appears Apple are planning to ship it as is, or restart its development some time in the future, either by picking up where Chaffraix left off, or starting again from scratch.
The Extensible Web Manifesto
A bunch of movers and shakers from the world of web standards and browser development launched the Extensible Web Manifesto. It’s proposal to guide how standards groups develop the platform. It calls on them to focus on providing low-level capabilities that expose the underlying platform and also that explain the “magic” behind things like parsing. The idea being that web developers can then build on these low-level capabilities to create high-level features through libraries and components. These high-level features could then be easily distributed and iterated upon and, when matured, the best could be adopted back into the platform.
This all seems to tie in Alex Russell’s (and others) ideas about trying to develop a consistent view of the web as a platform, rather than just a grab bag of high level features tailored to the particular use cases envisioned by spec authors and browser vendors. The idea is that advanced frameworks and libraries won’t need to create their own parallel universe, complete with a bespoke component model, encapsulation and parsing, because the platform already has these, and will expose them in a way that allows them to be reused and extended in a flexible way.
It’s a good philosophy (I’ve signed it), and I see the same way of thinking gradually infecting a lot of other people who think about and develop the future of the web platform. Tab Atkin’s thoughts on making CSS more easily extendable seems to tie directly into it.
My only worry is that, scanning through the list of signatories, Google, Mozilla, TC39 and JS framework engineers are well represented, but I don’t see anyone from Apple or Microsoft. Google, in particular, seem very keen to drive forward this vision of the web platform, but without co-operation across the industry, will it become a reality? Time will, as ever, tell.