За Internet Explorer 8

30 януари 2008, 01:26 ч  •  Уеб дизайн и програмиране  •  коментари: 4

Избягвам да блогвам по теми, по които са се изказали вече сума си народ, за да не бъда поредното досадно заглавие във вашите RSS агрегатори, но за Internet Explorer 8 и неговите 3 режима на рендване, които взривиха уеб девелоперските среди, бих искал да кажа няколко неща, тъй като смея да твърдя, че в случая моята гледна точка е доста близка с тази на Microsoft.

Новината, че Internet Explorer 8 успешно минава Acid2 теста, я приех много позитивно, но и с едно наум - придържането към стандартите е нещо страхотно, обаче какво ли може да се очаква от браузър, чиято нова версия е толкова различна от предишната:

IE7 Acid2 тест

IE7 Acid2 тест

IE8 Acid2 тест

IE8 Acid2 тест

С други думи, зачудих се дали IE8 няма да последва примера на IE7, който с излизането си счупи доста сайтове, правени и тествани основно с IE6.

Отговорът на тези чуденки дойде скоро, а именно - Internet Explorer 8 по подразбиране ще се държи като IE7, т.е. няма да счупи нищо. Това явно беше доста подценено и криворазбрано от евангелистите на уеб стандартите, ако се съди по реакциите им. И моята реакция беше нещо средно между "WTF?!", "пак ни го натаковаха" и "ха-ха". Но после се замислих и вече не бях толкова сигурен в позицията си, а като попрочетох мненията на хора като Peter-Paul Koch, Eric Meyer (и още една статия от него) и Jeffrey Zeldman, се убедих, че нищо страшно няма.

Основните критики към решението на Microsoft са няколко:

  • С поведението си IE8 няма да стимулира, а напротив, ще забави, по-нататъшното усвояване на прилагане на CSS стандартите в интернет, защото посредствените уеб програмисти ще видят, че сайтовете им работят по същия начин в IE8, както в IE7 и няма да си дадат зор да ги правят по-добре.
  • Решението IE8 да се държи като IE7 е назадничаво и акцентира върху старото (backward compatibility), а не върху новото (forward compatibility).
  • От Microsoft пак си измислиха нещо нестандартно и уникално (новият meta таг и трети рендеринг режим) за техните си цели.

Като цяло тези обвинения са резонни, но за съжаление реалността е такава, че те не могат да важат с голяма сила за повечето уеб програмисти и уеб сайтове:

  • IE8 няма да забави усвояването на стандартите, тъй като той ще се държи като IE7 за вече съществуващите сайтове, които така или иначе са били направени за по-стари версии браузъри, които не са поддържали новите CSS properties и selectors, и съответно тези сайтове не се възползват от тях. Т.е. - нищо не печелим, но и нищо не губим. За сметка на това, нищо не пречи на един програмист да започне да използва новите възможности на IE8 за сайтовете, които ще прави оттук нататък.
  • Хубаво ли е или лошо, че IE8 ще се държи по подразбиране като IE7? Ами на тоя въпрос мога да отговоря от позицията на служител в софтуерна компания, която има десетки хиляди клиенти програмисти и чиито сайтове пък се гледат от милиони хора. На 1-2 пъти съм виждал какво става, когато въведем някаква напредничава новост без да сме я премислили много добре - подуват ни от support и ни псуват по форумите. Не е хич приятно. Microsoft се опариха много с IE7, макар и да го пуснаха с добри намерения, и напълно ги разбирам, че този път искат да си спестят негативите. Backward compatibility-то е много важно в интернет среда, където таблиците и HTML бозата все още властват, а web 2.0 и уеб стандартите за много хора са тепърва утвърждаваща се мода. То си личи по новите сайтове, които се пръкват всеки ден - болшинството уеб програмисти все още не искат да прилагат стандартите, не могат или просто не хаят. Трябва ли IE8 да им отнема от времето и енергията и да ги кара да оправят нови проблеми в стари сайтове? Това ще помогне ли за по-бързото усвояване на стандартите и положителното отношение към тях? Надали.
  • Новият meta таг и трети рендеринг режим е поредното ново двайсе в уеб програмирането - да така е, това не може да се отрече. Тоя нов meta таг абсолютно никой не го харесва, но това е цената, които всички плащаме, за да се възползваме от нещата, описани в предишните две точки. Това е най-ниската цена в краткосрочен план, с която много хора ще си спестят главоболията. Лошото е, че тоя мета таг ще има още дълго да се ползва, освен ако не измислят по някое време някакъв негов заместител, по който IE8 да се ориентира как да се държи.

В заключение мога да цитирам общото мнение на горецитираните гурута, а именно - който разбира от работата си, ще ползва новия meta таг и ще бъде на гребена на вълната, възползвайки се от CSS поддръжката на IE8. Който не разбира, не знае и не му дреме - ще бъде щастлив, че всичко си работи, както досега и на практика нов браузър за поддържане няма.

И накрая, ето и разсъжденията на Molly Holzschlag по темата. Тя от доста време работи в тясно сътрудничество с Microsoft и е участвала в обсъжданията как да се подходи с новия IE8.

Мерси за вниманието. Ще ми е интересно да науча и вашето мнение.

Коментари

Можеш да следиш коментарите към този сайт и чрез RSS.

Васил Тошков gravatar

Васил Тошков  •  30 януари 2008, 18:06 ч

Страхотна статия. Само не разбрах какъв е този нов метатаг, въведен от Microsoft? И ако до сега си правя всичките сайтове по стандартите, то значили, че ако въведа въпросния метатаг всичко ще си върви добре на IE8?

Димо gravatar

Димо  •  30 януари 2008, 18:16 ч

Ами мета тагът е този:

meta http-equiv="X-UA-Compatible" content="IE=8"

(знаците по-голямо и по-малко се филтрират)

Идеята му е, че ако не го сложиш, IE8 се държи като IE7 в standards mode. Ако го сложиш, IE8 се държи като IE8 в новия супер-дупер standards mode :)

Всъщност ето още една много важна статия по въпроса, която пропуснах да линкна:

http://alistapart.com/articles/beyonddoctype

А по втория ти въпрос - да, би трябвало да нямаш проблеми, иначе цялата идея на стандартите и тяхното обещание за forward compatibility отива на кино :)))

georgivar gravatar

georgivar  •  05 февруари 2008, 16:01 ч

Аз само да измрънкам, че повечето сайтове върху, които имам наблюдения и като разработчик нямаха проблеми с идването на IE7. Според мен нормално направените сайтове няма каквто толкова да се чупят от по-добра поддръжка на стандартите. Има си утвърдени добри практики, които спомагат за уеднакваване на дизайна в различните браузъри. Дори IE6 не е толкова голям проблем и по-скоро ме дразни, че не поддържа някои по-завъртяни трикове от сорта на :hover псевдо класове за всички елементи, а не че чупи нещо чак толкова зловещо.

Димо gravatar

Димо  •  05 февруари 2008, 22:41 ч

Жоро - ами да, съгласен съм с теб, че нормално направените сайтове не трябва да се чупят, единственият проблем е, че повечето сайтове не са нормално направени :) И на мен ми беше трудно да си го представя, но просто виждам какви куриози пристигат в съпорт системата ни - "гледам и не вярвам на ушите си" :))))))

сайтът е обновен на

(cc) dimodi web.

dimodi web : уебсайт на Димо Димов