Чуть менее 4 лет назад я написал
статью под названием «
HTML 5: не событие ». Это было до группового перемещения HTML5, группирования HTML 5, CSS 3, WebSockets и т. Д. И до логотипа HTML5. В то время вокруг HTML 5 шел шум, чтобы избавить разработчиков от надоедливых ограничений HTML 4. В конце статьи я сомневался в реальной ценности HTML 5 в краткосрочной перспективе и предсказывал выход окончательной спецификации в лучшем случае через 2 года после (2010).
Вот и мы, 4 года спустя, и (болезненное) состояние HTML 5 не сильно изменилось.
Что еще применяется
HTML 5 все еще рабочий проект
HTML 5 и все связанные с ним технологии являются техническими стандартами, поддерживаемыми Консорциумом World Wide Web . Организация разбила свои спецификации на 4 логических и последовательных этапа жизненного цикла:
- Рабочий проект (WD). Ссылаясь на документацию W3C, касающуюся процессов спецификации:
Рабочий проект — это документ, который W3C опубликовал для рассмотрения сообществом, включая членов W3C, общественность и другие технические организации. Некоторые, но не все, рабочие проекты предназначены для продвижения к Рекомендации; […]
- Рекомендация кандидата (CR)
- Предлагаемая рекомендация (PR)
- Рекомендация W3C (REC)
Если вы читаете между строк, WD в основном находится в стадии разработки, что означает, что он может резко измениться между версиями. Угадай, что? После всех этих лет спецификация все еще является WD, и последняя дата обновления — 25 мая 2011 года. Конечно, они работали над ней со времени моей предыдущей статьи, но в качестве спецификации ничего не было выпущено.
Заметки:
- Честно говоря, черновая версия редактора намного новее (7 марта 2012 года), но я нигде не смог найти состояние черновика редактора, касающегося вышеуказанного жизненного цикла документа.
- При просмотре самой спецификации большое сообщение предупреждает о том, что она находится в стадии разработки.
Редакторы строят на песке
Этот пункт является логическим завершением предыдущего. Google, Adobe, Mozilla и другие реализуют функции, которые по определению не установлены: они в основном тратят время и ресурсы на песок.
Конечно, маловероятно, что произойдут серьезные изменения, но тогда почему бы не повысить зрелость спецификации, чтобы послать ясное сообщение сообществу? Положение вещей только увеличивает вероятность того, что редактор пойдет своим путем.
Гетерогенные особенности
Вы думали, что кросс-браузерная совместимость сложна с HTML 4, CSS 2 и JavaScript? HTML5 выводит концепцию на совершенно новый уровень: для развлечения проверьте на этом сайте список всех функций и выберите нужную функцию. Возвращайся, когда закончишь плакать.
Хорошие люди из Modernizr подумали (довольно умно), что есть, к чему обратиться: как мы, разработчики, можем адаптироваться к каждому браузеру и изящно деградировать? Библиотека позволяет нам проверить функцию и посмотреть, доступна ли она. Что еще более важно, некоторые библиотеки доступны для поддержки неподдерживаемых функций с помощью волшебного сценария JS. Реализация сантехники остается за вами. Удачи, JavaScript ниндзя!
Гетерогенные реализации
Принимая во внимание, что разнородные функции являются частью HTML с момента его появления — сложность HTML5, обусловленная многочисленными функциями, мы полагались на одну и ту же реализацию во всех браузерах. Теперь, когда один пример более громкий, чем слова, как мы, разработчики, можем обеспечить отображение закругленных углов в CSS3 сегодня? Ответ заставляет мое сердце упасть:
. rounded { -moz-border-radius: 10px; /* Firefox */ -webkit-border-radius: 10px; /* Webkit usd in Safari and Chrome */ border-radius: 10px; /* True CSS3 */ }
Кто может назвать это прогрессом?
Мы точно не в Сказочной стране
Эта статья берет свое начало в высокоуровневой презентации на HTML5, где докладчик загромождал свой разговор «все просто» и продавал мечты аудитории. Пожалуйста, мы работаем в реальной жизни, а не в концептуальных PowerPoints. Я не сантехник, но думаю, что вполне способен нарисовать схему сантехники. Горе бедному сантехнику, который должен воплотить это в реальность, однако.
Не принимайте все примеры HTML5 в Интернете за чистую монету, они являются прототипами (даже если они работают в вашем современном браузере). Если вам интересно, посмотрите на источники: неужели это так просто? Это изящно деградирует?
Жужжание, жужжание, жужжание и еще немного жужжания
Технические люди, как правило, плохие маркетологи. В случае с HTML5 есть целый сайт, посвященный продвижению HTML5. Если бы за этим стояла четкая спецификация, я был бы горячим сторонником «проекта, который может общаться». Учитывая все предыдущие вопросы, я спрашиваю себя, лучше ли потратить время и деньги на фундамент, чем на приличия.
Разное, но серьезное
Вы когда-нибудь слышали о миграции Slideshare с Flash на HTML5? Во время объявления я проверил и обнаружил, что шрифты, показанные в большом размере, не были сглажены. Презентации были нечитаемыми, так как они были настолько безобразны, что вы не могли сосредоточиться на контенте. Кажется, они уже исправили проблему, но некоторые презентации все еще выглядят немного хуже, чем их предшественники Flash.
Во время написания этой статьи я также обнаружил некоторые другие ошибки реализации, касающиеся значений свойств CSS . Я уверен, что есть еще много доступных для тех, кто ищет их.
И еще…
Несмотря на все эти черные моменты, есть определенные успехи в достижении HTML5.
Некоторые редакторы отказались от своих патентованных продуктов, чтобы идти по пути HTML5: Adobe предоставила Flex Apache Foundation (который некоторые понимали, включая меня, как нечто хладнокровное убийство), а Microsoft перенаправила основную технологию Silverlight на HTML5. Больше редакторов, приходящих в HTML5, означает больше импульса и больше драйва. Справедливости ради, это также означает, что нужно учитывать больше мелких интересов … Облака и их серебряные накладки поменялись местами.
Вывод
ИМХО, корень всего Зла определенно — уровень зрелости спецификации. Когда спецификация будет выпущена на последовательном уровне, будут браузеры, которые следуют ей (частично или глобально), и браузеры, которые не будут. Затем конечные пользователи и разработчики смогут выбирать, какие браузеры поддерживать, в соответствии с их соответствующей стратегией: в Zeigeist я относительно уверен, что браузеры, соблюдающие стандарты, станут победителями.
В настоящее время HTML5 — это мечта, безусловно, прекрасная мечта, но, тем не менее, мечта.