пятница, 4 марта 2011 г.

HTML5 - куда смотрят разработчики браузеров?

HTML5 уже давно не новое веяние, и его все активно ждут, ждут когда им можно будет нормально пользоваться.

На самом деле, его использовать можно уже и сейчас. Легко и просто, без всяких причин. Но как всегда есть НО.

Для начала стоит посмотреть на поддержку стандарта на HTML5 Test. Я посмотрел свой Chromium 10.0.602.0 (68214) и Opera 11.01 (1190). Хром еще как то, Опера - слабо. Откровенно слабо по баллам.

Но, радоваться было рано. На сайт с тестами, я зашел уже после W3 Schools. Там есть хороший учебник и описание нового стандарта, а также возможность опробовать все это на месте.

В первую очередь, меня интересовали возможности верстки, и построения форм. Мне до лампочки на всякие анимации, на видео и аудио (очень мало сайтов, и вообще web-приложений, которым это позарез нужно). Я смотрел прагматически.

Одним из самых лакомых кусочков нового стандарта - это новые контролы форм, возможности встроенной валидации, для многих типов полей, различные меню, и прочие вкусные вещи.

Что оказалось на деле. Казалось бы, передовой Chromium, казалось бы вроде уже простые такие вещи, а делать должен - но нет. Половина новых контролов просто не поддерживается, валидация к примеру required не работает, <output> не работает.

Тег <menu> меня просто убил на корню. Казалось бы все логично, понятно и должно работать. Взял блокнот, набросал скелет страницы, и вставил это пресловутое меню, с одним элементом, которое по клику должно было выдавать alert-сообщение. Также добавил label в меню. Что вы думаете? Заголовка меню - нет. JS не сработал при клике. И это и в Opera, и в Chromium.

Поехали дальше. Критика в огород Opera. По тесту. Опера не умеет парсить html5, не поддерживает основные секции документа согласно стандарту, не строит html5 дерево. Зато умеет LocalStorage, видео и аудио. Я конечно людей уважаю, и любителей Опера, но факты - вот они факты. Парсинг конечно может прокатить, и CSS будет работать - в конце концов я в Chromium совершенно свои теги оформлял, и CSS работал, благодаря тому, что CSS для SGML создан, и подходит к примеру для оформления XML страниц. Но извините. Это ни разу не HTML5.

Каковы тенденции современного развития браузера в отношении новых стандартов. Все больше мне начинает казаться, что это фарс. Да да. Именно один большой фарс.

Я думаю с уверенность скажу, что 95% дизайнеров, разработчиков сайтов просто не нужны эти canvas, audio, video, не нужны настолько, насколько нужны им нормальные средства для построения форм, валидации их, работы со страницей. Не все разрабатывают игры, не все хранят видео и аудио на своем сервере или хосте. Для этого уже есть внешние сервисы, подобно YouTube.

Но разработчики браузеров активно продолжают клепать различные поделки типа WebGL, canvas, audio, video. А самые главные и нужные вещи - они никому не нужны. На кого работают разработчики браузеров? На кого, черт побери? Кому они нужны, если большинству эти нововведения до одного места.

Почему нельзя сначала довести до ума нормальные, главные вещи, которые истинно нужны, а потом клепать всякие разные мультимедиа финты. Если бы они начали с простых вещей, которые в первую очередь требуются всем, то получили бы переход очень многих сайтов самых разных размеров на HTML5, а потом уже перетягивали бы крупных вендоров и носителей идей, которым эти media нужны. Так не было бы разброса.

Но сейчас получится так, что крупные сайты, разработчики игр и прочее потянутся на HTML5, сделают свои проекты, и разработчика браузеров придется плясать уже точно под их дудку. А остальные просто дальше будут клепать на XHTML и HTML 4.

А CSS3 - такие грандиозные вещи, но сколько до сих пор находится в разработке. Вы посмотрите на градиенты, на долбанные скругленные углы элементов. Chromium никак не удосужится сделать нормальные рендеринг скругления углов, так, чтобы они не выглядели как гуано. Но вместо этого они пилят WebGL.

В общем, кучу ненависти разработчикам браузеров, за то, что они смотрят не понятно куда. Увы и ах, но очень жаль =(