Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Microsoft Edge and Web Components (windows.com)
107 points by jarek-foksa on July 16, 2015 | hide | past | favorite | 56 comments


I'm pretty impressed with Edge. Browsing HN with it now, and it's definitely the best browser Microsoft ever made, by far. I really really hope they'll backport it to Win8 and Win7 like they didn't do with IE10/11, otherwise we're all going to be in the same shit again.

The list of supported tech is getting pretty real as well [1]. Not everything yet (wot, still no desktop notifications? do you even want people to use your browser for real work?), but a lot - e.g. very much of ES6 is in there and usable right now from the devtools console.

[1] http://dev.modern.ie/platform/status/?filter=c3e0000bf


If I had to guess, I would guess they won't backport it, at least not before the end of the free Windows 10 upgrade offer. And if that goes as well as they hope, probably never.



html5test has some problems:

1) The set of functionality it tests is pretty arbitrary. Some of the things it tests are basically single-browser-vendor with other browsers having clearly said they have no plans to implement them.

2) The point values it assigns to the things it tests are totally arbitrary. So you can implement various useful things but have fewer points than one less useful thing.

3) Its tests are easily gameable (and commonly gamed by various mobile browsers, though less often by IE/Chrome/Firefox/Safari).

4) Some of its tests are just buggy. E.g. it claims that a Firefox nightly doesn't support "script execution events", whereas in fact Firefox supports them just fine. It's just that the way the test runs its test script is relying on a browser bug that got fixed, so the script doesn't run at all.

So I would take any claims based on its summary score as pretty much meaningless. Results for specific things one cares about can still be meaningful, as long as you keep #3 and #4 in mind.


In the 11 years I've been a web developer, there is not a test where someone disses it for all the reasons you give, no matter who created it, including caniuse.com.

However, I would never take anything you say, Boris, with a grain of salt. Especially since, about 8 years ago, you tried to recruit me to work on Firefox ;)


Oh, sure. These are not problems unique to html5test.com. Pretty much anything that claims to boil down the quality of a browser or rendering engine to a single number will suffer from problems #1 and #2. As for #3 and #4, writing a test not susceptible to gaming is _hard_, and bugs happen.

It's just that people like to forget all this and treat the numbers they get as revelation from on high. Sort of cargo-cult quality measurement.


It's objectively the best they've ever made, as GP stated. Here's a comparison https://html5test.com/compare/browser/ie-Edge/firefox-38/chr...


Microsoft could have added this years ago if they wanted to prioritize it.

I remember several years ago as a Microsoft dev when my boss thought Silverlight mattered and he had me trying to make the styles work exactly the same as WPF.

We were working on military software and they wanted browser-based apps, so we were building WPF hosted in a browser mixed with some ActiveX map component. About 5% of the software was _actually_ web based. The rest was just "let's jam MS-exclusive shit in IE".

Why isn't it done yet? Same story as the last decade of HTML 5 stalling and lies: a powerful compatible web conflicts with their business model.

If it made business sense then some of those resources used to build the numerous MS component technologies that have been developed and extremely successful over the last 20 years, from VB, OLE/ActiveX, to various .NET/WPF/XAML, Silverlight, etc. would have been applied to something like web components.

The engineers may not be stalling, but the business priorities direct the engineering.

Its like people asking Palmer Lucky about VR standards. Of course he is going to give you a load of bullshit about how it is really hard or whatever. They have absolute market dominance in VR headgear, like MS has in component technology. SteamVR is to Oculus as MS component systems are to Web Components.

If MS or Oculus actually tried to embrace standards, it could literally result in billions of dollars going to competitors instead of them.

Note that this comment will turn invisible as Microsoft shills and religious fanatics downvote it.


Unless there is new info I do not know about, this leaves safari as the last holdout? New IE indeed!


depends on what part you mean - edge is announcing work on HTML templates, which safari already supports (http://caniuse.com/#search=templates)


Am I remembering incorrectly in saying that other than templates they have not specified intentions for shadow dom or any of the other specs?

http://caniuse.com/#search=Web%20components

Looks like they are still better off than I-Edge but these intentions at least sound promising.


Will Safari take over the infamy of IE6 in 3 years?


I dislike the comparison to IE6 because it's easily shot down with the many ways in which the situation is different. But Safari absolutely is falling behind other browsers in API support and could well end up holding the web back. Particularly on mobile, given that iPhone users are not able to install a different browser runtime.


    I dislike the comparison to IE6 because it's easily shot down with
    the many ways in which the situation is different.
Inseparable from an OS version and falling behind the state of the art.

What else is there?


Being pretty disingenuous to compare IE6 with WebKit in terms of implemented features. Many websites had to be specifically coded for IE as it wouldn't render correctly many basic parts of HTML/CSS. WebKit is deficient mainly in the newer, less popular features.

Also Microsoft would unilaterally add proprietary features and tie their software to it e.g. Outlook/Sharepoint which then encouraged corporations to do the same as well. Apple actively participates in standards organisations eg. one for Web Components:

http://www.w3.org/2015/04/24-webapps-minutes.html


Legitimate questions:

    Many websites had to be specifically coded for IE as it wouldn't render correctly many basic parts of HTML/CSS.
Was IE6 demonstrably less compliant than other contemporary browsers? I recall - similarly - sites that were "Best viewed in Netscape Navigator at foo x bar resolution."

    Also Microsoft would unilaterally add proprietary features
IIRC, IE6 added XmlHttpRequest, which - though there were other workarounds to accomplish the same thing - enabled AJAX.

Do not other browsers even today add their own features (e.g. browser-prefixed CSS properties) prior to standardization?

    ...and tie their software to it e.g. Outlook/Sharepoint
Okay, that's definitely bad.


Falling behind was never IEs worst 'feature'. Standards compliance, security and speed were much bigger issues.


    Standards compliance, security and speed were much bigger issues.
In these respects, how did it compare to other contemporary browsers?


When it was released? It was the best (ok IE5 on Mac may disagree). Seven years later (when IE7 finally appeared) it was worst.


Initially well, but soon very poorly, because IE6 remained a contemporary browser for an unusually long time.

Distilled down to the core, the fundamental problem with IE6 was the five year chasm where development was completely stalled. When the version was finally bumped in 2006, so much time had elapsed that the solution was unsatisfying for everyone: changes so major that compatibility was problematic, but still insufficient to bring it up to speed with its competitors.

Safari may not be implementing bleeding-edge features at the same rate, but at least the engine is being continually developed and improved.


  > But Safari absolutely is falling behind other browsers in
  > API support and could well end up holding the web back
I am afraid that hastily releasing half-baked APIs and moving on to the new shiny things will do web more harm in the long run. IMHO web is suffering a huge identity crisis right now.


IMHO the problem is their yearly release cycle. Right now the feature might be too incomplete to include, which is fair. But in a few months it would be, but its still 10 months at minimum before Safari adds support for it.


Can you cite some examples?


That would be a very distant possibility. Chrome is indeed being used by a lot of Apple users however, the loyalty and fan base of any and all Apple products is too big and, pardon me, egoistic. They would not let it go that easy


Curious where this is coming from.

Safari doesn't lag that far behind WebKit and iOS/OSX both have very frequent update cycles. And has WebKit really been that bad at adopting internet standards ?


Sadly yes. While it's not really as horrible as many people (myself included) have said, the problem is their release cycle, and iOS's lock in.

One a year means that it will probably be 2 years before any new features are "stable". (for example IndexedDB support came out and it was so buggy that it was unusable, it wasn't until ios8 that it was even somewhat usable, and it still has several game-breaking bugs)

So you run into problems like this where in 6 months every other major browser will have stable shadow DOM support, and safari will still be at least 6 months away from its first (possibly buggy) release, meaning there could be another 12 month wait after that to get a good implementation. And while any other platform can install an alternative iOS users are stuck with safari, and there is literally no way around it.


Nope. Smartphones get replaced more regularly, and with less compatibility headaches than Desktops.

XP reigned for over a decade. No iOS version will be widely used for nearly that long.


You could also argue that Safari on desktop is more likely to be updated as well since it is generally accepted that Mac OS X has a higher adoption rate of new versions since:

1. enterprise use of Mac OS X is pretty small, and its generally enterprises that are slow to upgrade OS/browser, etc (albeit for generally valid reasons) 2. OS X upgrades have been free for some time now.


no


Based on this post from a few months ago (which was on HN at the time), I wouldn't call Safari a holdout, though I don't know what's happened since then.

https://lists.w3.org/Archives/Public/public-webapps/2015AprJ...


Looks like a big win for Polymer. Polyfills make more sense if you can see a path to a day they won't be needed.


And for Facebook React. This reminds me of VB and Delphi components.


Can't see how is React winning here - FLUX won already but in new HTML's web component era React will be even less relevant. There will be no need for big frameworks since apps could be build from high level components.


React's breakthrough was "pure render function", given a set state and props.

Polymer still needs a higher level framework like react. Many projects use polymer and react together.


I wonder if it would be possible to develop standard tests first on an open source non profit basis, and then somehow boycott non-compliant vendors.

But this might be the same age-old fundamental conflict between information technology knowledge management and business.

How can we effectively work together and yet still compete and evolve freely? Which words go in the dictionary? Whose language? Whose dictionary? Which words are so new no one acknowledges them?

With natural language this is a very hard problem, but I think with information systems eventually we will solve it. We could create and widely adopt something like a fully machine-processable specification source code for all protocols and languages etc. This would require building everything off of a common metalanguage with flexible representations that constantly evolves.


Safari is the new IE 6.


Apple is the new Microsoft.


It is kind of true. In terms of vendor lock-in Apple is worse, than Microsoft ever was...


Define worse. There's an advantage to "vendor lock-in" in that having control over the whole product gives you advantages others won't have. It allows you to make guarantees others won't, too. Apple can warrant the hardware and software but Microsoft never will, for example.


I consider beeing coerced to use a limited set of services (for some functionalities) a huge disadvantage. It is a question of control and autonomy over your systems. Do you have control over your machine, or is it the other way around?

> having control over the whole product gives you advantages others won't have

And that is exactly what you abandon, as a user of locked-in software.

I concur infsofar, as there is a set of real world applications, where the advantage you describe really counts. Industrial control systems or hardware for medical applications for example.


You are ignoring the vast majority of users, most of whom aren't on HN or reddit, who don't want such control over their systems and just want them to do what they want and reliably so. Apple fulfills that need and does an excellent job of it.

Note: I own no Apple products except for an original iPad given to me on my birthday. I built my own systems from scratch, as a former electronic engineer, and create web sites on FreeBSD.


Android is the new Windows.


Because of the swiss cheese security?



So, without knowing anything about how those scores are calculated, I'll point out that currently, desktop Safari (which is much less problematic than iOS Safari) is just behind Edge, a browser that isn't even at v1.0 yet.

Even the most literal "new Internet Explorer" -- Edge -- is a more standards-compliant browser than Safari, which has stagnated far behind every other competitor in the list.

So yeah, I don't mind saying it again: Safari is the new IE6.

Oh, and while you're on that page you linked, click over to "mobiles" and observe that even Blackberry scored higher than iOS (i.e. Safari, since you can't really get any other browser there).


No longer thought leaders, but doing homework well.


Does anyone have a simple definition/explanation of Web Components? The only descriptions I find online call them "reusable widgets or components in web documents," which is kind of meaningless since all code could be considered reusable.


Disclaimer: I am not a web dev.

The simplest explanation I've come across is that web components lets you create pockets of html, css, and JavaScript that are self-contained and, importantly, not affected by the actions of external css and JavaScript.

The browser vendors originally created it for themselves so that they could do things like build a standardized html5 video player interface using html but without worrying about you iterating over the internal elements in js or screwing up the buttons with css.


So it's a new way for the "Flash after the death of Flash"?


No. It's a reincarnation of what we should be using all along: XML


The simplest and most straightforward explanation of Web Components is that they are a way for web developers to create new html tags instead of relying on the browser vendors to do so. For example, you're probably familiar with the <video> tag; it requires no additional dependencies to use, provided your using a browser that supports it, and its styling and internal logic is neatly encapsulated and hidden from the consumer. Web Components will enable you to create such tags and easily share them with the world.


It lets you bundle up the html, css and javascript in one place. Imagine a video player with css buttons and a video section. you include the component source then put in a <my-player/> tag somewhere. That's the gist anyway. kinda sorta like client side taglibs like you'd see in jsp pages.


So it's like an ASP.NET MVC partial view, with css and javascript defined in the view cshtml file instead of in external files?


not so familiar with ASP.NET, but yeah that sounds about right. The key is it runs in the browser itself, rather than being a bundle that's compiled and moved around at build or run time.

you take all your standard html5 stuff, bundle it in one file, and serve that to any client that wants a video player. You can, of course, play minification games or whatever to reduce the number of files - but the pure form is, one include == one component.


I was just going to write it's like ASP.NET Web Forms User Controls. Only that was server-driven.


Basically a way to package a set of HTML, CSS and JavaScript into a reusable table that can appear as if it was natively supported by the browser.

A new generation of web developers gets to rediscover desktop native widgets, 20 years later.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: