On Twitter yesterday, Alex Sexton surfaced Apple’s fact sheet on what’s new with Safari 9:
https://t.co/fVg9U9dEq4 Some ES6 and lots of unprefixed CSS (flexbox!), but I really want Intl, ServiceWorkers, PointerEvents, HTTP2, CSP2…— Alex Sexton (@SlexAxton) June 8, 2015
Safari 9 is still in developer preview and won’t ship till September or so, so this all could change, but Apple’s changelog is underwhelming to say the least. The developer facing changes in Safari 9 consist of only standardized versions of CSS properties (that were already supported with a prefix), and a handful of ES6 features.
The following ECMAScript 6 content is now supported by Safari:
- Computed Properties
- Weak Set
- Number Object
- Octal and Binary Literals
- Symbol Objects
- Template Literals
While it’s great to see ES6 support, the truth is that by the time Safari is released in the fall, Microsoft Edge will have been released, and Safari 9 will release as (at best) the 3rd most ES6-compliant browser among the 4 major desktop browsers. And due to its yearly schedule, it’s basically guaranteed to be in last by the end of the year. At the same time Safari has neglected other APIs like Internationalization, Pointer Events, Web Components, CSS Variables, Service Workers, or ASM.js optimizations, all of which are supported or in progress by each of the other browsers 1. In addition, Safari’s developer tools, which were once best in class, have been slowly falling behind Chrome and Firefox, especially in more advanced performance features.
Safari is not going away. Its monopoly status on iOS more or less guarantees that, and on the desktop I’ve talked to plenty of people who like its simple UI, and others who feel that it’s faster or consumes less memory than Chrome and Firefox. But it will be a sad sight if it gets left behind. Here’s hoping that the final release contains more surprises, and that going forward Apple chooses to embrace the web browser as a platform worthy of the respect and effort its competitors have lavished on it.
Ok, CSS Variables, Service Workers and Web Components are "under consideration" by IE. ↩