Итак, Microsoft собирается вскоре выпускать IE8. Само по себе это безусловно очень хорошо, но мне хочется поспекулировать по поводу очень интересующего меня вопроса: будет ли IE8 в какой-то ощутимой мере поддерживать новые фичи HTML5.
HTML5 очень большой упор делает на обратную совместимость. Поэтому такие вещи, как например элемент <dialog>
, можно использовать прямо сейчас: они добавляют новую семантику, и новые браузеры могут делать с ними что-то интересное, но и старые браузеры будут показывать что-то вменяемое. Но есть и другие элементы — например новые виды разделов, среди которых <footer>
, <header>
, <aside>
— которые просто тянет использовать, но не получается. В IE6 и IE7 эти элементы неизвестны, браузер их игнорирует. Причем игнорирует настолько, что даже не дает назначить им в CSS ни одного свойства. А это значит, что <header>
не получится даже заставить отображаться как блок, он будет вести себя как строчный элемент. Другими словами, использовать этот элемент сейчас можно, только если автору не интересно показывать страницу пользователям IE.
Плюс есть еще более интересные фичи типа <canvas>
, которые в IE сейчас имитируются javascript'ом и VML'ом, но только частично, а значит по-крупному на них полагаться тоже не получается.
И вот, собственно, теперь вопрос: будут ли разработчики IE8 работать в сторону поддержки HTML5?
Пессимист-прагматик во мне говорит, что вряд ли. Потому что HTML5 — это не просто следующая версия HTML. HTML5 изначально называется Web Applications 1.0 и является развитием документоориентированного языка разметки в сторону платформы для веб-приложений. А раз так, то он вступает в прямое противоборство с Microsoft Silverlight. При этом на примере IE6 нетрудно видеть, что политика сдерживания развития самого распространенного продукта на рынке приводит и к сдерживанию развития самого рынка: если фича не работает в IE, то никто не будет строить сайты с ее использованием. Единственный мне понятный вариант, в котором IE8 будет стараться поддерживать HTML5, это если Microsoft опасается потери рынка в пользу Firefox, Opera и Safari. Если их будет достаточно много, то придется поддерживать то, что умеют они.
Но в целом я думаю, что IE8 обойдет HTML5 стороной. А вы что думаете?
Комментарии: 41
Я думаю, что путинский режим падет, а ИЕ начнет уважать стандарты :-)
Согласен. WebApps1.0 это детище Google, Opera и прочих конкурентов MS. Думаю не только ничего из HTML5 никогда не появится в IE, но еще и проблемы с обратной совместимостью будут странным образом всплывать от версии к версии. Нормальная позиция монополиста.
А насколько хорошо поддерживают HTML5 FF2.0, Opera 9.5a? header, article, aside - не работают. Точнее элементы как-бы появляются, но вне DOM'а всего документа.
Я боюсь, что в какой-то момент набор фреймворков и костылей для IE, Fx, Opera, которые позволяют сделать то, что нужно будет больше самого кода, который эту нужность делает.
IE8 породит еще больше костылей. Мало того, что теперь верстальщики держат по три версии одного браузера, так теперь еще одна появится. А новая "мажорная" (кавычки во всех смыслах) версия обычно только усугубляет положения.
В общем, я оптимист :) Путинский режим может действительно падет
Silverlight - это только часть картины. Не забывайте ещё и про XAML. Т.е. практически всё, и CSS, и JavaScript и SVG и много чего ещё - для них просто враги! Нет, Microsoft и пальцем не пошевелит для расширения поддержки стандартов. Баги кое-какие может и поправит. А в остальном, все останется тем же, кроме, естественно, расширенной поддержки технологий самого Microsoft. Ну и интерфейс перекрасят :)
Все же Google там был ни причем. Все это движение начали Mozilla и Opera, а потом к ним примкнула Apple, когда сделала тот самый canvas. Google сейчас в этом участвует только тем, что там работает Йен Хиксон, который это все и начал, собственно.
Ну тут они сами себе злобные буратины. Очень многие путают причину со следствием: браузер становится мажорным, если верстальщики бросаются его поддерживать. Не наоборот.
Я думаю, что ничего нового с точки зрения web стандартов нас не ждет. Также как с выходом IE7
Денис, странный комментарий... В IE7 очень много багов несоответствия стандартам исправили: http://blogs.msdn.com/ie/archive/2006/08/22/712830.aspx
Вы знаете, Иван, необходимость поддержки альтернативных браузеров: FF, Opera, Safari, сейчас является обязательной по причине роста их популярности. Никто не бросается их поддерживать просто от нечего делать, ка вы сами это прекрасно понимаете. Однако вы также прекрасно знаете, что конформный, допустимый документ будет идентично отображаться в этих браузерах процентов на 90%, а то и больше. И никакого труда не составляет их поддержка. Бросаться приходится поддерживать именно весь зоопарк ИЕ. Кстати, боюсь, что IE8 будет работать только в WinVista.
Думаю, вам известна эта ссылка http://www.gtalbot.org/BrowserBugsSection/ Кроме того, по независимым исследованиям, поддержка CSS в IE7 по отношению к IE6 выросла с 50% до 55%. Ну не смех ли это? Это за 5 лет между релизами обеих линеек по 1% в год получается. Цирк, да и только. Хотя очень многое было исправлено конечно.
По сабжу. Мне кажется, что разработчики IE сделают все же упор на доведение до ума того, что есть. Они божились прошлой зимой, что именно IE8 станет по настоящему поддерживать стандарты. Мое мнение, IE7 быстро склепали для того, чтобы хоть что-нибудь всунуть в WinVista, нельзя же было там IE6 оставлять. =) Также придерживаюсь мнения, что в IE8 сделает возможность парсить XHTML, как XML, чего я жду с великим нетерпением.
Вот тут сторонники веб-стандартов беседуют с Билом Гейтсом по поводу ie8
http://www.molly.com/2007/12/05/conversation-with-bill-gates-about-ie8-and-microsoft-transparency
KpoT, как может быть JavaScript врагом для Silverlight если скрипты для него пишутся именно на JavaScript. Правда только для версии 1.0
Иван Сагалаев, ... и не мало добавили
Мелкомягкие скорей всего всё переведут на .NET + XAML, как пример — Silverlight. Не даром же они во всю пиарят Software + Service. В IE8 они будут расширять свой функционал.
Вообще, мне не нравится HTML5, по-моему они совершенно не в ту степь завернули, теперь такая порнуха будет, когда будем пытаться функцианал HTML5 совмещать с JS. Или двойная работа или убивание функций одного другим. Опять же появятся лишние элементы (например, input'ы с иконками), которым фактически нельзя будет настроить CSS, как это есть с элементом select.
Имхо, мухи — отдельно, котлеты — отдельно. Я бы с удовольствием пользовал некий гибрид XML и XHTML + CSS (без XSLT). Ну это так... мечты.
Знаете, почему я написал тогда на Хабре, что Вам не нужно излагать мое мнение о веб-стандартах? Потому что Вы излагаете свое понимание того, что я пишу, которое обычно резко отличается от того, что я хочу донести (я не говорю, что в этом кто-то из нас виноват, это просто факт). Вот и здесь: из каких-таких моих слов можно было заключить, что я подразумеваю ненужность поддержки именно Mozilla, Opera и Safari?
Хотя у меня конечно есть теория... Вы, вероятно, изучая веб-стандарты и все, что к ним относится, очень недавно пришли к той точке зрения, которую сейчас озвучили: что новые браузеры близко соответствуют некому общему поведению, а IE приходится отдельно поддерживать. Вы, однако, упускаете, что многие люди до Вас, к числу которых отношусь и я, тоже когда-то изучали веб-стандарты, и эта точка зрения уже давно является для нас очевидной настолько, что является базисом для рассуждений, а не результатом.
Другими словами, когда я писал, что "браузер становится мажорным, если верстальщики бросаются его поддерживать", я конечно же имел в виду IE7.
У меня смех вызывают попытки оценивать совместимость со стандартами по линейной шкале, цифрами.
А я думаю, что кто-нибудь просто возьмет и напишет стандарто-совместимый браузер на SilverLight и проблема решится сама собой. Шютка.
Между прочим, сама идея "поддержки браузера верстальщикам" ошибочна и порочна. Это из серии: "мыши плакали, кололись, но продолжали жрать кактус". Мазохизм в чистом виде.
Господа верстальщики, вы, конечно, можете продолжать надеяться на то, что новая версия IE будет поддерживать все стандарты и не глючить. Но, на Бога надейся, а сам - не плошай! Отказаться от практики поддержки IE6 сейчас нереально. Но можно отказаться от поддержки будущих браузеров, которые не будут корректно поддерживать стандарты! Просто перестаньте добавлять новые хаки, если в текущей версии любого браузера ваш сайт выглядит нормально, а в новой он глючит.
Если пользователь обновил браузер, и нужные ему сайты начали выглядеть коряво - он откатится на предыдущую версию браузера и ругать будет не вас, дорогие верстальщики, а производителей браузера. Такова психология пользователя, которая в этот раз играет вам на руку. Ибо тот же Microsoft озаботится корректной поддержкой стандартов не раньше, чем пользователи откажутся использовать новые версии IE, потому что "в них интернет не работает". :)
К сожалению, этот путь "отказа от новых хаков и новых браузеров" так же означает отказ он новых классных фич, которые будут появляться в этих браузерах вместе с новыми глюками и новыми отхождениями от стандартов. Но в этом случае просто помните, что вы сами выбрали этот путь, и что вы разменяли возможность использовать новые фичи на необходимость поддерживать кучу кривых браузеров. И не обижайтесь, когда в ответ на очередные жалобы "какой плохой IE9" вам кто-нибудь скажет, что вы сами виноваты и в том, что IE9 - плохой, и в том, что вам необходимо его поддерживать.
А если серьезно, можно сделать приладу на SilverLight или на флеше, которая будет засасывать HTML5-страницу с сервера и транслировать в понятный для IE формат, добавляя в атрибуты информацию об оригинальных тегах. Например
Alex, вы выдели пользователя способного самостоятельно откатить IE с седьмой версии до шестой?
Mike, нет, не выдели. А какое Вам это этого дело? Это будет проблема M$. Если всё произойдёт как я предложил, то поднимется дикий вой - для пользователей это будет выглядеть так, как будто очередное обновление M$ поломало их компьютеры и лишило возможности использовать интернет. В этой ситуации во-первых часть пользователей, даже не знавших что бывают разные браузеры, перейдёт на FF или Opera, а остальные будут выть пока M$ не выпустит следующее обновление - возвращающее IE6. :) И, я Вас уверяю, сделают они это очень оперативно!
Впрочем, это всё фантастика, я абсолютно уверен что господа верстальшики предпочтут новые фичи и старые бесплодные надежды, и будут поддерживать всё то, чем их "порадует" M$.
Верстальщики - это люди которые делают работу которую им заказали. В большинстве случаев. И если заказчик требует поддержку таких-то браузеров - значит так и будет. И пока самые популярные ресурсы поддерживают IE - их будут поддерживать и другие верстальщики, потому что пользователь считает что "интернет сломался" тогда, когда не работают ресурсы которые он использовал ранее. А людям зарабатывающим на ресурсах стандарты по барабану - им чем больше пользователей - тем лучше. По-этому подход "верстать не под IE" - мягко говоря нереальный.
Тем при таком подходе более все верстальщики разделятся на 2 лагеря - те что будут поддерживать новый IE и те что нет. В результате у пользователя часть сайтов будет нормально показывается а часть - нет. И претензии тогда пойдут не к браузеру и MS, а только тем кто сделал "такой кривой сайт".
Нужно искать другой выход.
Моё предложение - реализовывать в вёрстке под не IE "фишки" которые будут работать в браузерах поддерживающих стандарты, тем самым стимулируя пользователей переходить на них.
В переходе на другие браузеры людей обычно стимулируют рекомендации друзей, знакомых и колег, а не "фишки". Если пользователь постоянно пользуется одним и тем же браузером, то он и знать не знает что сайт может быть каким то другим в другом браузере, если конечно об этом не сообщит сам сайт или те же друзья/колеги. Но это не выход.
А почему будут рекомендовать друзья? Не через "фишки"? Дополнения фаерфокса ведь тоже "фишка".
Однозначно, так и будет. Но ведь мы уже не дети, и отлично знаем, что бывают разные средства убеждения. Например, как известно, хороший программист всегда способен убедить заказчика, что абсолютно невозможно сделать то, что ему делать не хочется. :) Но я бы пошёл другим путём: кто мешает начать брать за поддержку кривых браузеров значительные дополнительные деньги? Ведь для верстальщика поддержка этих браузеров - однозначно куча головной боли и море дополнительной работы. Вот пусть заказчики, которые хотя включить в список поддерживаемых браузеров IE7, IE8, etc. платят за работу в 2-4 раза больше, чем платят за поддержку FF2+Opera9+IE6.
Да, экономический способ влияния обычно действенный. Только вот как убедить коллег в бизнесе так сделать... Это же лишний бонус конкурентам. Хотя последствия такого подхода на бизнес предсказать трудно.
я думаю что
WML - пишется как VML.
зря вы так себя заводите, заметьте что время между релизами уменьшается, а раз версии будут выходить чаще, то полюбому будут исправления.
MS наняла нормальных индусов и работа закипела :-)
Спасибо, поправил.
Мне не очень хочется опираться на "статистику". То, что IE стал снова развиваться и то, что, начиная с версии по крайней мере 4, в каждой новой стандарты поддерживаются все лучше (хотя и не так сильно, как всем бы хотелось) — это безусловно хорошо, но это не более, чем забавный факт. Мне хотелось поразмышлять над реальными причинами, без гаданий и веры в добрую или злую волю, зачем сейчас Микрософту конкретно HTML5.
2Alex Efros:
Не соглашусь. Чем лучше браузер поддерживает стандарты, тем меньше головной боли разработчикам. У меня обычно код, написаный для ff, сразу нормально работает в опере и сафари. Немного проблем бывает в IE7 и совсем много правок для IE6. То есть получается, что для поддержки IE7 дополнительных затрат почти никаких. А вот за поддержку IE6 можно брать дополнительно процентов 10-20.
Товарищи, вы говорите о требовании дополнительного финансирования для поддержки большего количества браузеров. Это логично, ведь цена и так напрямую (в самом простом случае) зависит от количества затрачиваемых усилий, нет? Я считаю, что не стоит политизировать какую-то часть нашей работы - мы ведь разработчики, и что нужно клиенту, то и делаем.
(У меня был клиент, которому я разрабатывал инхаус веб-приложение. У них во внутрикорпоративной сети была полная чехарда - куча машин с IE5.5 и 6 машин с IE5.0. Так я просто сообразно моему знанию разнообразных CSS/JS quirks у IE5.0 и 5.5 и решал, сколько потребуется времени на реализацию конкретного функционала, и, соответственно, денег.) Ведь отказом от поддержки чего угодно Вы гарантированно сужаете свою нишу, и, как справедливо заметил Франковский Богдан, создаёте преимущество конкурентам. Joel Spolsky написал замечательную статью (Where there's muck, there's brass) про это.
Ведь если веб-разработчик умеет поддерживать всё это сообщество браузерное, он может грамотнее оценить количество затрачиваемых усилий на реализацию и поддержку того или иного функционала, уведомить заказчика о раскладе по ценам и в соответствии с требованиями, предъявляемыми к продукту, уже заказчик будет решать, что делать. И мнение разработчика о том, что один браузер плохой и слабо поддерживает стандарт, а другой хороший, но отчего-то до сих пор так мало распространённый, тут не важно так же, как мне не важно мнение сантехника о политической позиции производителей труб pixal и том, что сантехник - прирождённый либерал, а производители труб - гады - коммунисты. Я выберу того сантехника, который хорошо сделает свою работу ровно в соответствии с предъявляемыми мною требованиями.
Не согласен совсем... Специалисты обычно больше клиента знают, что можно сделать, что нельзя, куда стоит двигаться, куда нельзя. Именно поэтому они и специалисты. И именно на плечи специалистов обычно ложиться предложение заказчику других путей решения задачи, нежели предлагает тот, чтобы они устроили и заказчика с точки зрения функциональности, и специалиста с точки зрения облегчения разработки и обслуживания.
Иван, судя по всему, я выразил свою мысль несколько неточно, и потому произошла непонятка :)
Я абсолютно согласен с Вами в том, что большинстве случаев, когда специалист знает больше клиента^, специалист решает, как в рамках реализации необходимого функционала какие пути решения задачи использовать. Всё, что я хотел сказать - что не нужно политизировать выбор конкретных решений и придумывать странные решения навроде того, что предложил Alex Efros:
Работайте именно так, Alex! Берите за поддержку не нравящихся Вам браузеров в 4 раза больше. Ведь так просто поддерживать всего один браузер - выучил его quirky bits and bobs и всё! А ещё если заказчик будет рыжим, берите ещё в 3 раза больше и обязательно со 100% предоплатой - ведь как можно доверять рыжим? Убейте свой бизнес. Или почитайте таки статью умного человека Джоэля, ссылку на которую я привёл в предыдущем посте.
^ я говорю в большинстве, потому что у меня есть несколько примеров успешного сотрудничества, когда специалист знал меньше клиента.
Его предложение далеко не такое странное. Я, пожалуй, не соглашусь в деталях, но суть в том, что любой новый браузер стоит в поддержке настолько дорого, насколько он не похож на стандарты. IE7, хоть и большой шаг вперед по сравнению с предыдущей версией, но все же до уровня "поддержки с закрытыми глазами" не дотягивает. Поэтому он обходится дороже, поэтому за него логично требовать больше денег. Хотя и не в 2-4 раза, наверное...
Виталий, я вряд ли ошибусь, если предположу, что тут Спольски регулярно читают практически все, поэтому эта статью уже наверняка читали :-). Правда, единственное, к чему можно его позицию тут применить — это то, что для решения проблем юзера всем верстальщикам до сих пор приходится поддерживать IE6. Но с этим никто и не спорит. А про то, сколько это должно стоить, Спольски писал в других статьях.
В общем, мне кажется, все свои позиции уже высказали, и тема исчерпана.
мы не поняли друг друга...
ACID2 тоже у многих вызывает смех, но какое-то мерило "правильности" все же должно существовать.
Вообще, касательно того же HTML5, я считаю:"А зачем?" Зачем язык разметки так дико перегружать? Да, я понимаю, обратная совместимость, но так мы будем тянуть кота за хвост еще долгие годы. Всегонавсего нужно заставить IE для начала поддерживать XHTML и его развитие, я уверен, пойдет гораздо активнее. В дальнейшем же можно было бы ожидать некую переходную версию браузеров с поддержкой XHTML1.1 и XHTML 2.0, первый стандарт со временем бы отвалился сам по себе. А самым главным плюсом была бы именно модульность XHTML 2.0.
Да это все идеалистические фантазии. Но, имхо, лучше бы WHATWG вложила силы в развитие и продвижение XHTML, чем в пополнение зоопарка стандартов.
Кстати, по поводу ACID2 и IE8:
http://blogs.msdn.com/ie/archive/2007/12/19/internet-explorer-8-and-acid2-a-milestone.aspx
...
В прилагающейся к посту видяшке показывают двух разработчиков, которые конкретно занимаются ACID-тестом. Один из них - Алекс Могилевский, вероятно русский :)
Зачитанная спецификация и рассказы о постоянном ее обновлении конечно подкупают, но к сожалению, врятли это сильно изменит что-то в функционале ИЕ8.
Судя по комбинации имени, фамилии и акцента - точно русский :-)
Не думаю, что с выходом IE8 что-то кардинально поменяется. Правда точку невозврата он пока не прошел, но довольно шустро к ней движется
VML мощнее CANVAS, то, что эмуляция не дописана — вопрос времени.
а есть пример игнорируемого(не понимаемого) элемента, который браузер все-таки будет показывать блоком?
Браузер и не должен показывать неизвестные элементы блоками по умолчанию. Но было бы удобно, чтобы он понимал
newtag {display: block}
, чтобы автор мог сам объяснить, как этот newtag надо отображать.Хм... вопрос очень спорный. Я, например, считаю, что стандарт IE сделан куда логичнее, чем все фоксы и оперы, это не раз осуждалось... а поодежка HTML5... почтиал я про него, знаете это становится похоже на XTML, скажите, какой php программист, по совместимости - верстальщик будет юзать всякие непонятные теги, которые проще записать как div и дать им соотвественные стили? Это примерно таже ситуация, что и со <