Menu

React, etc. Tech Stack

React, Flux, GraphQL, Hack, HHVM...? All of this and more!

ECMAScript 6 / ES2015 and Shadow DOM in Safari / WebKit

Safari on the original iPhone revolutionised the mobile web back in 2007. Applications such as Opera Mini made feature phone browsing possible on feature phones, but the experiences were subpar compared to even the first mobile Safari. Since that a lot of cash has flowed through Cupertino and Safari has accused of lagging.

In June 2015 Safari was highlighted to be the new Internet Explorer. In other words a browser that is very popular but is lagging behind in feature and standards adoption. We're not talking about the millions of iPhone 4 still in use (RIP), but even the latest and greatest versions of Safari were lagging.

Add the fact that Apple does not allow alternative browser engines for it's devices by their policy: "Apps that browse the web must use the iOS WebKit framework and WebKit Javascript". This meant that hundreds of millions of mobile web users were being held back. Though Apple hardware allow for superior JavaScript performance.

Since that it seems that Apple is investing more in WebKit again. iOS9 comes with HTTP/2 support, which immediately drives forward the adoption of the new protocol forward - along with soon to be available free SSL certificates from Let's Encrypt.

Also the age-old Surfin' Safari blog has activated in October on the standards front. They now discuss the ECMAScript 6 / ES2015 features in Safari 9 as well as the introduction of Shadow DOM into nightly builds of WebKit.

This investment has obviously come a while back as these things don't happen overnight. Maybe the workload on iOS9 was easier and allowed more resources for this?

This is great news for all developers and mobile device users around the world!

Written by Jorgé on Monday October 26, 2015

Permalink - Tags: safari, webkit, javascript, http2, dom

« Graph Query Languages: GraphQL, OpenCypher, Gremlin and SPARQL - Elasticsearch 2.0 offers new features, increased performance and reliability »