P.RСтатья большая, и не всем захочеться читать. Я раньше тоже так думал, но прочитав полностью, понял, что не пожалел о полном чтении статьи. Так уж сложилось, что в Сети практически каждый имеет не только своё мнение, но и возможность его высказать и чего-то этим добиться. Поэтому не ... Так уж сложилось, что в Сети практически каждый имеет не только своё мнение, но и возможность его высказать и чего-то этим добиться. Поэтому не приходится удивляться, что инструментов для работы в вебе великое множество, и число их с каждым днем растёт. Рассматривая только браузеры, необходимо отметить один момент: их не просто много разных – есть несколько семейств, и почти в каждом несколько представителей. Здесь представлена едва ли четверть существующих в мире браузеров. А если вы сможете угадать по иконкам хотя бы половину, то вас можно назвать весьма эрудированным человеком. Количество параметров, по которым оценивают браузеры, много, и чем больше появляется объектов сравнения, тем больше появляется параметров, поэтому прежде чем выбирать браузер для себя или тем более менять браузер на тот, который вроде бы лучше всех по количеству плюсиков, подумайте – а для вас-то эти плюсики важны? Впрочем, в этом материале мы совершенно не собираемся навязывать вам какой-то выбор – просто хотим предложить ознакомиться с некоторыми не всем известными и не вполне очевидными фактами, связанными с браузерами. Итак, начнём. А в начале, как известно, было слово. И если говорить о вебе, то не просто слово, а целый язык... Историческая справка: 1986. Принят ISO-8879-стандарт, получивший название SGML (Standard Generalized Markup Language), послуживший основой для создания HTML. 1991 CERN (Европейский институт физики частиц) создает HTML 1.0 в рамках проекта WWW, ведущий проекта – Тим Бернерс-Ли. Стандарт быстро дорастает до версии 1.2. CERN создает первый браузер – WWW, текстовый, бесплатный, в рамках проекта WWW. 1993 NCSA (Национальный центр суперкомпьютерных приложений) создаёт первый графический браузер Mosaic, бесплатный. Руководитель проекта – Марк Андрисен. Рекорд по популярности программы: за год – 2 млн установленных копий. 1994 Создан W3C (World-Wide-Web Consortium), ставший стандартизатором веба и унаследовавший эту обязанность от CERN. Начинается утверждение HTML 2.0 и разработка HTML 3.0. Группа разработчиков Mosaic покидает NCSA и основывает Netscape Communications. В конце года создан браузер Netscape 1.0, платный. Написана первая версия Opera, однако официально выпущена не была. 1995 Утверждён стандарт HTML 2.0. Создан браузер Microsoft Internet Explorer 1.0, в конце года выпущена версия 2.0, обе созданы на базе браузера Mosaic. 1996 Первое представление спецификации XML. Создан JavaScript 1.0 в рамках Netscape, вскоре дополнен до 1.1 и JScript 1.0 в рамках IE. Выпущен браузер Microsoft Internet Explorer 3.0, входящий в состав Windows 95 OSR 2. Полностью переделано ядро, теперь получившее название Trident. Выпущен MacIE 2.0 – первый релиз IE для Macintosh. Состоялся официальный релиз Opera 2.0. Вышел Netscape Navigator 2.0, в конце года – 3.0. 1997 Утверждён HTML 3.02 и создан стандарт CSS 1.0. Созданы JavaScript 1.2 для Netscape и Jscript 2.0 для IE, в конце года – 3.0. Выпущен IE 4.0. Начало «Войны браузеров». Выпущен MacIE 3.0. Вышла Opera 3.0. Вышел Netscape Communicator 4.0. 1998 Утверждён стандарт HTML 4.0 и вскоре дополнен до 4.1. Созданы JavaScript 1.3 для Netscape и Jscript 4.0 для IE. Утверждён стандарт CSS 2.0. Выпущен MacIE 4.0. 1999 Дополнен стандарт CSS 1. Вышел IE 5.0, впервые поддерживавший значительную часть стандартов W3C. В Netscape Communications создано ядро Gecko, на базе которого начинается разработка новой версии браузера. Группа разработчиков ядра Gecko начинает разработку собственного браузера – Mozilla. 2000 На базе XML создан и утверждён новый стандарт XHTML 1.0. Созданы JavaScript 1.5 для Netscape и Gecko и Jscript 5.5 для IE. Вышла Opera 4.0, написано новое ядро, получившее название Electra. В составе KDE 2.0 вышел Konqueror. Выпущен MacIE 5.0. Вышел Netscape 6.0, основанный на ядре Gecko. «Война браузеров» фактически заканчивается, IE занимает 80% пользователей Сети. 2001 Утверждён XHTML 1.1. Вышел IE 6.0. Вышла Opera 5.0 – первая условно-бесплатная (с рекламой) версия. 2002 Откорректирован XHTML 1.0. Вышла Opera 6.0. Начата разработка браузера Maxthon. Вышла Mozilla 1.0. Вышел Netscape 7.0, основанный на Mozilla Suite. 2003 Основана Mozilla Foundation, начавшая разработку FireFox. Вышла Opera 7.0, написано новое ядро, получившее название Presto. Вышел Safari 1.0, включён в состав MacOS. 2004 9 ноября вышел FireFox 1.0, бесплатный браузер, побивший рекорд популярности программ: 100 млн скачиваний за год. Год максимальной популярности IE – около 95% пользователей веба. Вышел Maxthon 1.0. По мнению некоторых аналитиков, начинается новая эпоха в конкуренции браузеров. 2005 Вышла Opera 8.0. Opera становится бесплатной с версии 8.50. Вышел Netscape 8.0, основанный на FireFox. Вышел Safari 2.0. 2006 Утверждён стандарт CSS 2.1. Созданы JavaScript 1.7 для Gecko и Jscript.NET для IE. Вышел IE 7.0. Вышла Opera 9.0, написано новое ядро, получившее название Merlin. Вышел FireFox 2.0. Вышел Konqueror 3.5. Вышла Mozilla 1.7.13 – работа над проектом прекращена. Вышел SeaMonkey 1.0 – наследник Mozilla Suite. Некоторые комментарии и дополнения: Год окончания «Войны браузеров» весьма условный, так как каждый имеет своё мнение. Многие считают, что война кончилась в 1999-м, когда IE преодолел отметку в 50%, другие считают, что она продолжается до сих пор: «Идея Netscape живёт и побеждает!» – то есть и Mozilla, и FireFox ведут свою «родословную» от Netscape. Отсутствие упоминаний о новых ядрах IE и Gecko не говорит о том, что ядра не менялись, – они менялись, и очень существенно. К примеру, для IE 4.0, 5.0, 7.0 было очень сильно изменено ядро, но оно сохранило название. Gecko обновляется регулярно, но меняет только версию – с 1.0 до 1.8.1 (последнее). В истории браузеров и html есть немало интересных и занимательных моментов. Например, корпорация Netscape поставила рекорд по скорости повышения цен на акции для «новых» компаний – за один день цена достигла $58,25, что более чем в два раза превысило максимальные прогнозы. А первый взлом компьютера через веб состоялся в 1992 году, всего через год после старта проекта. Забавно, что очередной виток «Войны браузеров» начался именно тогда, когда, казалось бы, страсти уже улеглись и определился явный лидер. А самое интересное, что теперь конкуренция ведётся между бесплатными программами. Генеалогия браузеров Можно утверждать, что сейчас популярны четыре ядра, или семейства. Кроме Merlin и Presto у всех есть несколько популярных детищ. -а основе Gecko: FireFox, Mozilla, Netscape, SeaMonkey. -а основе Trident: Internet Explorer, Maxthon (MyIE). -а основе KHTML или WebKit: Konqueror, Safari, браузер телефонов Nokia 60 Series. -а основе Presto и Merlin: Opera. Рассмотрим основные характеристики ядер, ибо именно от них зависят возможности, безопасность и скорость работы браузера. Обычно рассматривают большую таблицу различных параметров и ставят плюсы и минусы для каждого ядра. Проблема в том, что практически каждый плюсик сопровождается комментариями об ограничении поддержки, поэтому мы будем рассматривать только те параметры, которые по-разному поддерживаются разными ядрами, и комментировать по ходу. CSS – 1.0 поддерживается всеми, а вот 2.0 и 2.1 пока не поддерживаются полностью ни одним браузером. Ближе всех к полной поддержке ядро KHTML; следующей, почти не отставая, идет Opera; чуть позади (ещё на пару параметров) – Gecko; и последним, отставая очень существенно, – Trident. XHTML – поддерживается Trident, остальные поддерживают версию 1.0, а версию 1.1 только формально – распознают, но ничего не делают. MathML – поддерживается Gecko, не поддерживается больше ни одним ядром, однако для Opera есть возможность частичной поддержки через CSS или JavaScript, а для IE – плагин, обеспечивающий поддержку. XForms – поддерживаются только Gecko. Web Forms 2– поддерживаются только Opera. DOM – версии 1 и 2 поддерживаются всеми, кроме Trident, у которого своя модель стилей и событий, что не мешает ему правильно интерпретировать обращения к DOM примерно в двух случаях из трёх. Версия 3 пока ещё в разработке, но уже частично поддерживается KHTML, Opera и последним Gecko. JPG – Trident не поддерживает прогрессивный показ прогрессивных jpg. Мелочь, конечно, но всё-таки поддержка не полная. Остальные поддерживают полностью. PNG – Trident не поддерживает прозрачность, коррекцию гаммы и цвета, в версии 7.0 обещана полная поддержка прозрачности. Остальные поддерживают полностью. SVG – частично поддерживаются Gecko и Opera, не поддерживаются другими. Для KHTML есть модули поддержки и плагины. 2D Canvas – не поддерживаются Trident, поддерживаются всеми остальными. Вот такая картинка по соответствию стандартам. Суммировать вышеизложенное можно так: Opera, KHTML и Gecko разные вещи считают основными, их и развивают в первую очередь. До идеала не добрался ещё никто, однако все три ядра определённо к нему стремятся. В защиту Trident можно сказать следующее: несмотря на явно наплевательское отношение к стандартам и чужим форматам, он хорошо поддерживает свои собственные стандарты, если можно так сказать. Его создатели, то есть корпорация Microsoft, предпочитают диктовать правила, а не следовать установленным кем-то другим. До последнего времени, да и сейчас тоже, им это хорошо удавалось – подавляющее большинство веб-страниц написано с учётом особенностей Trident, что позволяет ему и дальше не поддерживать ничьи стандарты, кроме собственных.