Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Сколько браузеров нужно, чтобы вкрутить лампочку

Мне кажется, скоро нас ждёт браузерная олигополия. Посудите сами, хороший браузер, чем дальше, тем больше всего должен уметь. CSS1, 2, 3, HTML5, Geolocation API, различные Storage, Web Workers, Web Socket, Drag’n’Drop, SVG, XML, XSLT, WebGL и так далее и тому подобное.

Ведь правда же, вряд ли наступит момент, когда консорциум W3 вдруг скажет «мы всё придумали» и разойдётся по домам. Там финансирование, серьёзные люди, у них дети и дома в кредит. Я не знаю шутка или нет, но на сайте W3 есть документ «CSS Backgrounds and Borders Module Level 4» (от 1 апреля 2010), а ведь CSS3 ещё далёк от завершения.

Браузер уже похож на небольшую операционную систему, скоро станет похож на большую. А в мире операционных систем успешных новичков я что-то не вижу уже много лет. В браузерах уже так же. Четыре основных движка и всё остальное построено на них.

Десять лет назад, если тебе не нравилась такая ситуация, ты шёл и писал свой движок, теперь — плагин, да и то, VRML помер, Google бросил свой Gears, Java отступает и Флешу многие уже готовы показать где вырыта для него могила. Да-да, есть ещё «Сервелат», но его пока всерьёз никто не принимает.

Если CSS4 шутка, то это блестящая самоирония W3. Что предлагает консорциум? Да, там много интересного, но вот что касается всех этих прозрачностей, тенёчков и прочей визуальщины, какое-то лишнее и негибкое. Раз уж всё равно переизобретаем то, что прозорливый Microsoft реализовал много лет назад, то почему бы не принять то, что уже реализовано, за стандарт и не разойтись по домам?

Масса же нерешённых проблем, куча недописанных стандартов. Всё самое интересное в черновиках, нет, давайте забахаем очередную прозрачность. Где продолжение HTTP Basic/Digest в современных реалиях? Почему так долго тянем с Drag’n’Drop, это же разрушает опыт пользователя? Где модульность в HTML? Где sandbox, чтобы вставлять код других сайтов на свой? Форматам изображений, используемых в браузерах по 15 лет более, что ничего современнее так и нет? Нормальная реализация защиты от кражи кук? Более человеческие способы делать layout? И так далее.

Мне кажется, что производители браузеров и W3 слишком увлекаются Инновациями, а хорошо бы выделить больше сил на приведение в порядок того, что уже сделано. Я даже знаю, чем это обусловлено — чем больше добавлено в браузер Нового и Интересного, тем богаче пресс-релиз. С другой стороны, «Опера» старается придумать что-то своё, выходящее за рамки, «Гугл» делает отличные информационные события из любого велосипеда, а «Эпл» умеет эти велосипеды продавать по цене Кадиллака. В этой весёлой компании, буду надеятся, кто-то обратит внимание на уже сделанное и протолкнёт какие-то изменения в стандарт.

15 комментариев
Азат Разетдинов (razetdinov.ya.ru) 2010

В мире JavaScript нашёлся человек, который предложил прекратить бесконечный евроремонт и для начала заткнуть дыры в окнах. В итоге Дуглас Крокфорд с большим трудом продавил лаконичный ECMAScript 5, а раздутый и обратно не совместимый ECMAScript 4 был заброшен.

HTML5 ждёт своего Крокфорда.

baka.name 2010

увлекаются Инновациями, а хорошо бы выделить больше сил на приведение в порядок

Им это не нужно — вспомните «Огонь и движение» Дж. Спольски.

Евгений Степанищев (bolknote.ru) 2010

Комментарий для baka.name:

вспомните «Огонь и движение» Дж. Спольски.

Я не читаю Спольски :)

Алик Кириллович (www.alik.su) 2010

Комментарий для baka.name:

увлекаются Инновациями, а хорошо бы выделить больше сил на приведение в порядок

Им это не нужно — вспомните «Огонь и движение» Дж. Спольски.

Не согласен.

Микрософт — коммерческая компания, и применяла тактику «Огонь и движение» для того, чтобы её конкуренты тратили силы не на развитие своих продуктов, а на переписывания их под новые Микрософтовкие технологии.

W3C не выпускает коммерческих продуктов, поэтому тактика «Огонь и движение» ей не нужна.

Евгений Степанищев (bolknote.ru) 2010

…придётся прочитать Спольски, видимо…

0range (0range.ru) 2010

у нас уже был свой Крокфорд в виде whatwg
пока w3c тужилось сколько лет на xhtml 2, ребята быстренька набросали html5, с учетом реальных потребностей
а для цсс, в виде разработчиков движка webkit
а так конечно долго, очень долго разрабатываются стандарты

Евгений Степанищев (bolknote.ru) 2010

Комментарий для 0range.ru:

у нас уже был свой Крокфорд в виде whatwg

Позитивный, хороший пример.

а для цсс, в виде разработчиков движка webkit

Ты про анимацию? Это очередные «тенёчки».

pepelsbey.moikrug.ru 2010

<blockquote>Нормальная реализация защиты от кражи кук?</blockquote>
Куки, ущербные по своей сути, просто заменили на Web Storage и Web SQL Storage.

<blockquote>Более человеческие способы делать layout?</blockquote>
Есть три неплохих черновика (MS, Mozilla и W3C) для создания раскладки, осталось за них только взяться. См. доклад «Будущее механизмов раскладки» с прошедшего РИТ++

0range (0range.ru) 2010

Комментарий для Евгения Степанищева:

да анимации, трасформации :)
по уму всего 5 — 6 свойств из цсс3, нормальная реализация font-face с возможностью использовать платные шрифты, видео, аудио ой как сильно упростили бы мою работу

Хотя для начала смерть ие6 была бы боооольшим подарком )) веб все усложняется, а платформа все та же

Евгений Степанищев (bolknote.ru) 2010

Комментарий для pepelsbey.moikrug.ru:

<blockquote>

Написано же болдом, не HTML :)

Куки, ущербные по своей сути, просто заменили на Web Storage и Web SQL Storage.

А как же session ID?

См. доклад «Будущее механизмов раскладки» с прошедшего РИТ++

О том и речь, реализации-то где? :)

Denis Ibaev (dionys.myopenid.com) 2010

Комментарий для razetdinov.ya.ru:

С ES5 тоже не всё хорошо. Кажется, из него пытаются сделать PHP в смысле семантики. Смотри, например, это обсуждение: https://mail.mozilla.org/pipermail/es-discuss/2010-April/thread.html#10908

pepelsbey.moikrug.ru 2010

А как же session ID?

Есть вроде Web Session Storage, но не уверен в полной ли мере это то, что нужно.

Евгений Степанищев (bolknote.ru) 2010

Комментарий для pepelsbey.moikrug.ru:

Session Storage — это чтобы данные, зависимые от сессии хранить на клиенте. А идентификатора сессии, чтобы два клиента различать? Прочие вещи, которые приходится менять на сервере, но хранить у незарегистрированного клиента? Можно, конечно, воспользоваться хранилищем, но как данные на сервер передавать? Формировать параметр в URL? Куки проще.

Азат Разетдинов (razetdinov.ya.ru) 2010

Комментарий для dionys.myopenid.com:

Не понимаю, причём тут семантика. Создателей ES5 обвиняют в стремлении сохранить обратную совместимость (отсюда обилие статических методов). Неужели судьба обратно несовместимых стандартов для веба (XForms, XHTML, ES4) их ничему не научила?

baka.name 2010

Комментарий для www.alik.su:

W3C не выпускает коммерческих продуктов, поэтому тактика «Огонь и движение» ей не нужна.

Ну, в списке «производители браузеров и W3» они одни.
А им имеет смысл «увлекаться инновациями», чтобы остальные участники использовали что-то одно (и чтобы это «что-то» не принадлежало конкурентам).