Safari Technology Preview supports 100% of the ES2015/16/17 features
kangax.github.io
kangax.github.io
Most development will be happening on modern browsers, so being able to reduce compilation requirements improves your iteration cycle and it makes it much easier to debug.
Source maps have lots of issues. Compare debugging async/await usage between the compiled and native version.
If you're working on a larger project, compilation times start becoming a huge pain. Cutting down on the number of transformations reduces development latency.
Either way, WebRTC and Service Workers would allow us to expose totally new functionality to users. Huge difference.
WebRTC 1.0: Real-time Communication Between Browsers https://w3c.github.io/webrtc-pc/
Identifiers for WebRTC's Statistics API (Draft) https://w3c.github.io/webrtc-stats/
Media Capture and Streams (Draft) https://w3c.github.io/mediacapture-main/
On the other hand, WebRTC and Service Workers would make Safari meaningfully better, since these cannot be polyfilled.
http://stackoverflow.com/questions/30233302/promise-is-it-po...
I don't really know Safari. I used Chrome on Windows and iOS, and when I moved to OSX I naturally continued with Chrome. And the dev tools are really great.
I used Chrome on Mac for years. Then Safari became better, and then it kept getting better with the addition of the Safari Developer Preview[1]. It's not even funny anymore how far behind Chrome is compared to Safari when it comes to UI and UX.
From the energy impact tab on the Activity Monitor:
Chrome: 43
Safari: 0.3
Can you point to battery benchmarks or is this an off the cuff personal test?
Are you talking about an old version of Chrome? You're aware they've been making progress recently?
https://9to5mac.com/2016/09/06/google-chrome-mac-battery-per...
My experience is the same. I have a 2011 MBA. With Safari, the battery lasts 4 hours. With Chrome, about 90 minutes. My browsing habits are the same between browsers.
What was your test methodology, or was this ad-hoc?
If there were reliable sources reporting similar numbers it would be easier to swallow, but I can't find a single source that claims it's this bad.
I'm just skeptical about such a massive difference that I've never seen written about, and where only commenters report it, with no methodology, process, or repro steps.
I have a 2012 MacBook Pro with Chrome and anecdotally I don't notice a 3x battery difference with Safari, but I wouldn't make a strong claim about it without some rigor as I mention above.
Already other people here are posting different ratios. Its just a loose claim.
* It's a lot more power-efficient than any other browser.
* In my experience, it's often faster than Chrome.
* It follows platform conventions. I still get weirded out by Chrome cramming everything into that ⋮ button.
* It syncs history, favorites, and open tabs over iCloud to Safari on my phone. It also supports Handoff.
* It's not made by Google, a company that I prefer to give as little personal information as possible to.
And more generally, it's just more enjoyable to use.
Chrome shows wrong, washed out or desaturated colors everywhere (not just embedded images without color profiles or wrong gamma, but css hex colors), it's a big difference from Safari, Firefox and specially from browsers on Windows machines and phones.
I found during development that Safari will start retrieving suggested URLs even before you finish typing them, so if I'm going to 'news.ycombinator.com', it makes the request when I hit 'n', and by the time I hit a few more characters and enter a few hundred milliseconds later, the request is already complete.
If you hunt around you'll find that chrome is even doing things like speculative DNS queries, opening TCP channels to endpoints that are often opened on pages that you might be trying to load, in some very limited cases even pre-downloading and executing a page "hidden" only to swap it in like you changed tabs once you "hit enter". [0][1]
If you tend to be pretty "habitual" when using chrome, fire up something like wireshark before opening it and watch what it does when you first start it. A year or 2 ago I did this and noticed it would instantly fire off DNS queries for gmail and start a TCP channel before i've even typed anything! (as at the time the first thing i'd do when opening chrome was check my email).
It's really cool shit, and I'm sure chrome and safari aren't the only ones doing it. I mean the gains can be substantial (especially for mobile devices! getting the DNS query and TCP handshake out of the way on a shitty 3g network before the user stops typing means it will load a few hundred ms sooner) and for many of the smaller changes there are very few downsides.
[0] This goes over the bit ones that many browsers have: https://css-tricks.com/prefetching-preloading-prebrowsing/
[1] Here is a somewhat-technical article about chrome from 2012 that goes over the DNS and TCP-preconnect stuff: https://www.igvita.com/2012/06/04/chrome-networking-dns-pref...
It's nonetheless a neat feature.
* Properly hyphenates
https://bugs.chromium.org/p/chromium/issues/detail?id=605840
What that practically means is if I'm on ycombinator.com, iOS won't let Chrome, a 3rd-party app, claim to be representative of any page on that domain without proof hosted on the domain.
https://developer.apple.com/library/content/documentation/Us...
For example, initially Chrome and Firefox didn't even support text services in their rendering areas — stuff like the system-wide dictionary lookup. That the developers of these browsers ignored what made macOS unique really put me off. (As did hitting the dictionary shortcut on my keyboard when reading and not getting a result.)
One feature I use a lot in Safari is the reader view. Pressing a button turns a page into a consistently rendered and better-typeset version which focuses on the content only. It even collates multi-page content into a single page. I'm sure there are extensions on Chrome which do this (perhaps it even does it natively now?). But Apple's treatment of this feature makes me feel that they prioritise the same things about the web that I do: text and links. Everything else is just noise because I spend 95% of my time on the web reading.
Chrome still does not feel like a first class citizen of macOS. I'm not sure it even saved website passwords in your Keychain, though maybe this has changed.
Edit: oh I also like Safari's gesture based controls better when browsing with a trackpad. For example when you swipe to go back to the previous page, the entire page slides over and you can peek at the previous page underneath the "stack." You don't even need to trigger the actual back action to read content from the previous page if you naturally let your fingers rest mid-gesture. Last time I tried Chrome the "go back" gesture displayed a large, ugly arrow overlay on the left edge of the page. It did not correlate 1:1 with the position of my fingers. It did not show me the previous page's content until I completed the gesture, then it reloaded the previous page. I really did not like this.
This is one of the primary reasons why I used Safari when on Mac. Reader view is instantaneous and works really well on almost every site. You can also customize fonts/colors etc which means you can always read article in distraction-free mode and read them that best suits your eyes.
I am now using Linux most of the time (MBP got stolen, didn't buy a new one yet) and I miss Reader view the most. It's a HUGE timesaver.
No Keychain integration is an issue for me as well.
My main reason for switching is efficiency. Safari is blazing fast, and reasonably memory efficient as far as browsers go even with 100+ tabs. Chrome would deplete my memory even with only a moderate amount of tabs open.
Also Safari seems much more power efficient.
Safari looks like it belongs here. Chrome does not. Also:
• The resources thing. I often use Safari windows with 100+ open tabs.
• I like Safari's tabs implementation better: new tabs go to the far right. In the past all browsers with tabs did that, now Safari seems to be the last holdout while the others seem to put new tabs to the right of the opening tab. I can understand the logic there but I find it unusable without a tree-like visualization like some Firefox extensions. If there is a browser which had this natively I'd be tempted. I still miss OmniWeb.
Safari's ⌘W-behavior for the new tab now jumps back to the tab which opened the newly closed tab. I really hope that isn't a hint of bad days to come.
Why this heavy focus on tabs? I basically use my default browser window as a LIFO stack of tabs to read. It works great for me, thirteen years and counting. I don't want that to change.
• When Safari went through its bad time, the WebKit2 area, I was tempted. Another detail which held me at the time: Safaris Pinch to Zoom on the trackpad was superior to everything else elsewhere. It still is but Firefox and Chrome at least but a little bit work into it.
edit: this is the same reason I have for hating Electron apps so much.
The only thing Chrome seems to offer is a big plugin ecosystem (which I've never cared about, the one or two I care about exist for Safari) and the fact it's the same browser on other OSes which doesn't matter to me.
It's often the little things. I like being able to use AirDrop and Handoff with my phone/iPad. I like having a native print dialog (who the hell thought THAT was a good idea?). I like my laptop not trying to melt it's self when I open a few pages.
If you were stuck on Windows when FF was nearly dead and Chrome and IE were your only choices I get why people chose it.
If you were on a Mac at the time I've never seen the appeal.
I've found Chrome to be fairly unstable. We had a case last year with our corporate website relaunch, where a single user reported that our site was crashing Chrome for them and we probably had 60 or 70 people try to unsuccessfully recreate the bug, we tried Browserstack and Sauce to try and had no luck.
Another time we had a few users report incorrect fonts and traced that to a bad build of Chrome that was out for a week or so and the users that updated that week had broken fonts until they updated again.
Then there was the time one of our analytics suites broke when tracking certain links on our site since the request body to their service contained 'cgi-bin' in it, they blackholed the tracking request, and their (rather poor quality) script blocked the page until the request returned - no timeout set at all. This would completely lock Chrome for 10+ minutes when Safari would force a timeout after 20 seconds or so.
All those stories make it clear to me that the most stable option is Safari.
p.s. Not to mention the number of sites I run into now that only work in Chrome because the developers can't be bothered to do cross browser testing. Chrome is like the new Internet Explorer at this point.
Safari gives me at least three hours of autonomy on my laptop. Chrome burns CPU like crazy. Not to mention that on Youtube (a Google site) 1080p video uses 1% CPU in Safari while 720p video in Chrome (a Google browser) manages to use 80% CPU.
Safari is the only browser that can do ad blocking without javascript extensions.
Why not Safari?
This is one of those things that I almost never noticed until I was working with a site that was using one specific color of orange that was dramatically different from what I had in photoshop. It usually isn't something that concerns me too much, but I was adding the ability for content editors to select primary colors of pages (think a super advanced, easy to use CMS), and with the images selected it was painfully obvious. Took me hours of tweaking settings in photoshop and comparing it to various browsers to finally give up and accept that color management in browsers is broken.
This is because Google/YouTube is pushing VP9 streams when they detect that you're using Chrome. It saves them few megs on bandwidth (over H.264) but you suffer for it because VP9 is not hardware accelerated so it chews through your CPU and makes your system less responsive. YouTube/Google also doesn't allow you to set your preference for H.264.
It's irresponsible for Google to waste so much electricity for everyone who uses Chrome.
VP9 can be hardware accelerated, and AFAIK current Chrome supports hardware acceleration for VP9 with hardware that supports it.
Which means that Google is wasting tons of electricity by pushing their own codec. That's not good for the environment and for global warming. Extremely irresponsible.
I'd be amazed if anything other than Chromebooks and Android had it.
From what I've been able to find:
NVidia Pascal has full hardware decoding for VP9, as does the NVidia GM206.
And Intel's (now shipping, but not in consumer hands yet until probably next month, IIRC) Kaby Lake has full hardware decoding support, too.
(A lot more existing GPUs have hybrid support, but that's still got a CPU cost.)
Well, YouTube alone is something like 1/6 of internet traffic, and probably a sizable amount of the time people spend on the internet.
And everyone besides Google isn't happy with H.264, either. While it's true that Google is the main source of VP9, Netflix 4K is, IIRC, H.265-only (for which hardware acceleration is becoming more common just as it is for VP9).
I just got the new tMBP 13" and have been making it a habit to use Safari over Chrome on it. It's a pretty noticeable different so far. I'm going to try and record some usage information over the next few weeks and see how much of a difference it really makes. In general though it appears that with Safari and general browsing I can get the advertised 10 hours or so. If I start using chrome (even just browsing) it turns to 7 or so hours.
And if you start youtube (even 480p), it drops to 3 hours with Chrome, while still getting the 10 hours with Safari.
- Battery life
- Bookmark syncing and continuity (opening tabs from any of your other devices)
- Content blocker API (so that ad blocker extension doesn't see all of the content)
- Not having browsing history sent to Google
I use Chrome for Flash content and Facebook.Is it not the same with Chrome?
I use Chrome every day because all of my work stuff on my work laptop goes in Chrome, and all of my personal stuff goes in Safari, because that's what I like the best and use at home. Separate browsers mean separate session tokens for work vs personal gmail.
I agree that the dev tools are poor. But I've gotten into the habit of running a "dev" browser and a "user" browser, so Safari works out great - I do dev work in Chrome, and when it (infrequently) crashes, I don't lose my personal stuff.
Chrome is extremely bloated and resource intense on macOS. Each subsequent tab you open linearly increase your CPU and memory Usage. I need CPU cycles to build code, not load gifs from a website that I have in the background. Safari has way better memory and CPU management than any other browser on macOS. The only thing I use Chrome for are websites that require Flash since it's built in.
I just had my friend who uses Chrome take a screenshot of his Activity monitor - He has one "Google Chrome Helper" that's using more resources than my entire Safari browsing experience - http://imgur.com/pMHkKsz
I still use Chrome for development, because Safari's development tools are next to completely useless. I don't even know why they bother.
Funny enough, I had to use Windows 10 for a short time, and Edge was actually not that bad. I remember IE being the terrible product and everyone used some other browser. Now Edge is usable and there's no much reason to install Chrome there as well.
It's fast.
I don't use plugins (for ads I use GasMask).
Bookmarks and tabs sync with my iPhone.
Firefox sucks because it still doesn't support the smooth "pinch to zoom", which Safari and Chromium have had for years. To me zooming seems such a basic functionality which is used so often, it feels like driving a car without rear mirrors or something...
Chromium/Chrome = Google, which i avoid due to lack of privacy.
One of the things i dislike in Safari is the lack of many extensions/addons which Chromium/Firefox do have. I wonder why this functionality is missing ?
Chrome on IOS is really Safari under the covers.
EDIT: Forgot the reading mode. That one is really important.
Why exactly do so many people care?
Personally I'm heavy in the native app camp instead of trying to turn everything into webpages, so I guess that explains why I don't really know what this feature is and haven't been waiting for it.
Thanks
What are you talking about? The linked resource is a JS feature matrix that shows how each browser does against those 2015/16/17 features, and it shows exactly what Safari tip passes.
[0]: https://web.archive.org/web/20161208203812/http://kangax.git...
[1]: https://github.com/kangax/compat-table/blob/559825d41e7b8773...
[1]: https://github.com/kangax/compat-table/issues/316#issuecomme...
I'd be curious if a JavaScript guru could give a little more context about the significance of that last 1%: namely, for Safari, "enumerable properties can be shadowed by non-enumerables," and for Chrome, "Array.prototype.sort: compareFn must be function or undefined."