Monday, 21 April 2014

Why Microsoft Internet Explorer 11 - the worst that could happen to us



How many browsers do you support , dear developers ? Not so long ago , five years ago , the list was pretty simple : IE6, IE7, Opera, Firefox, Chrome. Five browsers , plus some minor variations between Firefox 2 and 3 and 9 and Opera 10 .How many browsers do we support now?

Firefox, Chrome and Opera have not gone away . Fayrfoks Chrome and long switched to short a release cycle , the last artifact opt update (Firefox 3.6) not so long ago finally lost with appliances . Opera should go to the same cycle in the near future - and the latest versions of Opera / Presto particular headache was added. Yandeks.Brauzer added that inside the same Chromium , though updated less frequently .And finally , to the question about IE: how many versions of IE , we have to maintain ? In October li.ru share different versions of Internet Explorer in runet were such : IE10 - 4 %, IE8 - 2.3%, IE9 - 1.7%, IE7 - 0.7% plus on devices invisible IE11, that with the release of Windows 8.1 should discourage IE10 a fraction . Ie it seems to us that it is one or two versions of the browser , if you are willing to donate 4.7 % of the audience , or three to five - if not prepared or sudden you 're a product of a country with a higher share of IE.Certainly not ! Listen carefully .Internet Explorer, since , God forgive me , the eighth version comes with a set of engines from the previous versions. IE8 is able to work in IE7 mode and mode Quirks Mode ( actually , IE5.5!). IE9 is able to operate as a 9, 8, 7 and Quirks. IE10 is able to work in both 10 , 9, 8 , 7 ​​and Quirks. IE11 can operate in modes 11, 10 , 9, 8 , 7 ​​and Quirks. And this note different engines ! I do not know what they were uparyvalis when we took this decision , but the mode in IE10 IE11 - not IE10! For example, in IE9- 10 there is a bug with incorrect positioning on canvas z-index, which dared him exhibiting background-color: rgba ( 255, 255 , 255, 0) . In IE11 IE10 mode this bug has been carefully ported excellent developers in Redmond , but the workaround port forgotten and now the canvas with absolute positioning there as BE can not be used . Absolutely.Overall , if you , by chance , write some library or simply want reyuzat code on different domains - you here right now need to support ( how - much? ) TWENTY different versions of Internet Explorer! Twenty versions of the browser , which uses less than 10 % of the audience ! At the moment, Fayrfoks at all time of its existence there were 28 major releases in Chrome - 32.


And this is only the beginning , folks. The spirit of the old school is incredibly strong in Redmond all these versions of Internet Explorer will be supported by Microsoft (how - much? ) 10 years! Interesting Problem on oral account: count how many versions of IE we have to keep in 5 years.Paul Irish wrote an excellent article about it back in 2011 : www.paulirish.com/2011/browser-market-pollution-iex-is-the-new-ie6/. But even he could not predict all uporotyh Microsoft developers .Shaw ? That's not all !
This is not all , my little krasnoglaziki . In IE10- 11 Microsoft has presented a small cart of fresh and revolutionary ideas .Let's start with the fact that IE11 comes here with such a user- agent:Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv: 11.0) like GeckoWhat does it well ? There is no version of the most Internet Explorer- a! Generally the words «MSIE» no more. Do you know why ? Because Microsoft believes that their browser , the attention is not necessary detective user - agent , because it supports all the latest standards and it should not be confused with other new browsers .Let me repeat once again : the developers browser that comes with 6 different engines to emulate bugs of previous versions of the browser , since 1999 , state that it is not necessary to determine the user agent.When this is the same people between the last Developer Preview IE11 and final RTM release take and tear vendorskie prefixes and break a couple of tens of backward compatibility , as kindly reported in his msdn- e : msdn.microsoft.com / en-us / library / ie/dn304886% 28v = vs.85% 29.aspxYes . If your code works fine in Developer Preview, it does not mean that it will work in the release version , which at one time suddenly peals couple dozen million people around the world. But ye shall in no case be not engaged detective version on the user - agent !Figs with him , with Developer Preview. In their beautiful hand-made article should be distinguished axis version under which it works! I'm serious.Here people are sitting. In working with them, surely says something like Senior Software Architect. Come up with a standard PointerEvents, in which the rank of plane trees, all grown-up - a special flag navigator.pointerEventsEnabled shows whether a browser supports pointer events or not. To , you know , no one on the user - agent is not a detective , and just like in a normal browser .And then suddenly it turns out that the same people handling gestures falls IE10/Win7. That's right in the msdn- e and it is written :

    
Note The APIs we discuss in this section aren't supported in Windows 7 or earlier.
msdn.microsoft.com/en-us/library/ie/dn433243% 28v = vs.85% 29.aspxSo in addition to 20 different versions of IE you have at least two different versions of OSes - Win7 and Win8. In fact, there are more - there's Windows Phone and Windows RT, and Windows 8 still has two modes browser - Metro and desktop . They are all different . We're lucky we did not find direct noticeable bugs to keep separate branches of code and even under these axes - not the fact that you will be as lucky . Well, how many versions of IE work? I'm confused , but probably under a hundred .And now - dessert! Let's say you just write web pages, you do not care about the browser mode and you generally wondering what soared - 's because he can not go in any compatibility mode , right?I have bad news for you guys . Come right here:iecvlist.microsoft.com/ie10/201206/iecompatviewlist.xmlAnd look where your website .You know what this is? This is a global Compatibility List, which records the sites which, according to Microsoft , you need to show in any of the compatibility modes .No, seriously, they has watched the entire Internet and entered into the register of sites that misbehave !Know how to get sites to this list ? Microsoft releases preview versions of their browsers. They have a special a button in the address bar - show this site in compatibility mode. Microsoft collects anonymous statistics - if this button is often poke site in the registry.Seriously, they do not even hide . It seems even a little bit proud .msdn.microsoft.com/ru-ru/library/gg699485% 28v = vs.85% 29.aspxGet out of this list is very simple - to write our support Microsoft , yeah.Well, the cherry on the cake : I assume you are convinced and you adjust the mode in which to display the page using a special meta in order to avoid unnecessary problems . So, in IE11 ( at least in the RTM- version , too lazy to check now ) it does not work - the fact of being in the compatibility list given priority over webmaster X-UA-Compatible!




No comments:

Post a Comment