Я давно занимаюсь веб-разработкой и помню IE3 и NN4.xx. Многое изменилось с тех пор, много воды утекло.
Пришло понимание всех технологий, но не на уровне «HTML — это текстовый файл, в котором есть какие-то слова в скобках», а понимание логики построения самого языка разметки, его абстракций.
Начало разработки спецификаций HTML5 и CSS3 уже не вызывало у меня щенячьего восторга и дикой радости, а воспринималось как вполне эволюционное событие.
Рабочие проекты я просматривал время от времени, отмечая для себя основные направления развития.
Но чем больше спецификации приближаются к завершению, тем больше мне становится страшно.
Это не то направление развития, которого требует рынок! Возникает резонный вопрос: куда делись все те люди, которые разрабатывали стандарты 10 лет назад? Куда делись инновации? Почему w3c создает стандарт, который по некоторым стандартам уже устарел? Давайте разберемся.
HTML5
Некоторые из самых запутанных тегов для меня: дель И входы .Они использовали грязный хак, чтобы перебрать всю структуру языка, получив при этом весьма сомнительную пользу.
Попытки перенести логику офисных документов на веб-страницу закончатся полным фиаско.
Почему? Да, очень просто! Если вам необходимо получить историю изменений документа, это можно сделать с помощью внешних программ, не перенося этот функционал внутрь языка.
История правок нужна менее чем одной сотой процента пользователей; все остальные спокойно довольствуются актуальной версией данных на момент поиска информации.
Парсинг кода с учетом этих двух «замечательных» тегов будет полностью отрицательным, поскольку нарушается стройность и логика языка, его предсказуемость.
Вторая шутка — это попытка поместить в HTML то, что не следовало туда добавлять ни при каких обстоятельствах.
Это атрибуты довольный и редактируемый , перетаскиваемый и другие интерактивы.
Это следует поместить в CSS, DOM, где угодно, но только не в HTML. Это интерактивы, а не разметка.
Интерактивностью необходимо управлять, и для этого есть отличный JS и отличный CSS. Написание этих атрибутов непосредственно в HTML действительно напоминает образец HTML 3.2. Третья шутка — жалкие попытки структурировать документ, вводя дополнительные структурные элементы.
Это просто какой-то цирк.
За эти слова в меня закидают тапками, но я надеюсь, что многие поймут, почему я это говорю.
Давайте отойдем от этой темы и поговорим о том, зачем нужен HTML. А нужен он для того, чтобы разметить какую-то информацию.
На данный момент разметка включает в себя не только контент, но и дизайнерские изыски.
Итак, у нас есть отдельно мухи (конструкции, которые нужны для дизайнерских целей), и отдельно котлеты (сам контент).
HTML отлично подходит для контента, но с доработкой дизайна возникают большие проблемы.
А еще есть проблемы с логическими структурами страницы.
У одного меню, сайдбар и контент на сайте, а у второго шапка с главным меню, дополнительным меню, двумя сайдбарами слева и справа, рекламным блоком, списком товаров и т.д. Как их сделать друзья? Да Легко! Вам просто нужно позволить нам придумать ваши собственные теги! XML для дизайна страниц, HTML для дизайна контента.
Почему бы сразу не использовать XML? Это усложнит работу поисковым системам.
На рынке есть успешное решение проблем поиска с такой структурой документов – микроформаты.
Создав, например, атрибут поведения, который будет содержать описание поведения элемента, вы можете смело сообщать поисковым системам, где и что вы организовали.
Мы создали всевозможные формы ввода.
Просто забыли придумать, как стилизовать все это богатство.
Я понимаю, что единообразие интерфейса — вещь важная, но стилизация может быть как положительным, так и отрицательным фактором в разработке веб-интерфейсов.
Этого требует рынок, поэтому мы должны это сделать.
Здесь мы плавно подошли к теме CSS3.
CSS3
Продолжим тему веб-форм.Рынок веб-интерфейсов ожидает контролируемого оформления полей ввода.
На практике это означает, что я хочу сделать любое поле ввода из любого элемента.
Я хочу создать флажок со своим собственным дизайном, я хочу создать поле выбора со своим собственным дизайном, я хочу создать каждый параметр из своей собственной структуры XML и так далее.
Что мы видим в рабочей версии спецификации? Ничего.
Шаблоны отображения (Template Layout) меня сначала вдохновили, потом, смоделировав реальные ситуации, я понял, что это вообще не сработает. Если контент статический, то этот подход будет работать.
Но как только появится динамика.
Возьмем вполне нормальную ситуацию: у нас есть четыре блока, которые в зависимости от ширины контента или окна браузера должны выстраиваться друг за другом и занимать либо одну строку, либо две, три, четыре строки.
Обычные поплавки.
Всё, свернуть, потому что шаблон не описывает поведение блока и его перемещение, если он не умещается в определённое пространство.
Положение блока в шаблоне четко фиксировано, сделать адаптивную верстку будет крайне сложно.
И этого требует рынок, и это сейчас делается с помощью костылей.
Кроме того, не совсем понятно, как при изменении DOM-дерева поведет себя блок, имеющий четкое положение в шаблоне на странице.
Но это никого не волнует, мы делаем макеты журналов из веб-страниц.
Я писал об этом Д.
Барону, но эффекта было ноль.
Вернемся еще к одной очень важной вещи, называемой точкой отсчета.
На данный момент есть только одна отправная точка – левый верхний угол.
Положение того же фона рассчитывается исходя из этого точного местоположения.
Но в мире есть не только те, кто читает слева направо, но и те, кто читает справа налево, сверху вниз и так далее.
Теперь попробуйте сделать мультиязычный дизайн без костылей.
А решение проблемы у всех под носом - нужно просто сменить точку отсчета, и положение фона для жителей Саудовской Аравии чудом останется неизменным, например 10px 10px, и окажется в правом верхнем углу, именно по этому смещению.
Развивая идею с точкой отсчета, можно найти более контролируемое управление положением абсолютных элементов, управление трансформацией объектов и много полезных вещей.
Но в спецификации я этого не нашел.
Список несоответствий можно продолжать долго.
Не подумайте, что моя задача — очернить работу w3c, там работают очень умные люди.
Просто при создании новой спецификации некоторые первоначальные цели перестали быть актуальными.
Рынок развивается очень быстрыми темпами, и от w3c требуется более активное взаимодействие с разработчиками.
Моя главная цель — заставить людей задуматься о том, что они делают и как они думают. УПД: Огромное спасибо всем за положительную и отрицательную карму! УПД2: Изменен параграф о шаблонах отображения.
Теги: #html5 #css3 #reflections #спецификации #ИТ-стандарты
-
Как Настроить Новое Эхо-Шоу Amazon
19 Oct, 24 -
Что Под Капотом «Умного Ташкента»?
19 Oct, 24 -
У Kodak Был Секретный Ядерный Реактор
19 Oct, 24