В связи с участившимися сообщениями о том, что в CSS хотят добавить переменные, анимацию, трансформацию и прочая, хотелось бы немного отстраненно порассуждать на эту тему. CSS, которому уже 12 лет, изначально был задуман и разрабатывался как средство для описания внешнего вида документа. С тех пор утекло много воды и технология претерпела значительные изменения и дополнения. На данный момент, рабочая версия по стандарту W3C, принятая в 2006 году - Уровень 2.1. Уровень 3 находится в состоянии разработки (есть черновик), и ожидается с нетерпением многими разработчиками.
Вокруг будущего CSS ходит много слухов и предположений, которые муссируются и множатся, выливаются в дискуссии и споры. Ведь по сути, если хотя бы половина предлагаемых изменений будет осуществлена, то CSS превратится в (полноценный?) язык программирования визуальной составляющей веб-документов. И все бы хорошо, если бы это не вносило смуту в ряды разработчиков, часть которых небезосновательно утверждает что использование переменных на уровне документа это благо, так как позволяет с большей легкостью изменять значения тех или иных свойств, да и сами свойства. Другая часть разработчиков не согласна с этими утверждениями и твердит о том, что переменные - зло, так как толка от них мало, они только путают и тд.
И те и другие утверждения имеют право на существование в определенных ситуациях, так как ситация неоднозначна. Но переменные - это еще ничего. Как на счет анимации элементов? До сих пор анимация является прерогативой ЯваТипа’a, который может быть потеснен с этой должности, по крайней мере частично.
Такие моменты, как вращение элементов вокруг своей оси, смещение по плоскости и сжатие с растягиванием, могут быть подхвачены берсерками CSS и внедрены по-самое-не-балуйся. Причем любой, более-менее разбирающийся в CSS, но не разбирающийся в ЯваТипа, скажет что был бы этому рад. В данной ситуации, ЯваТипа, как основное средство создания динамики в веб-документах, отходит на второй план, если не дальше.
В складывающейся ситуации, в стройных рядах веб-разработчиков может случиться смута, в которой начнут стираться грани между разделением логики, динамики, контента и оформления.
Может быть я сгущаю краски и все не так сложно. Давайте рассмотрим такую ситуацию. Предположим, в теории, что Эра CSS наступила и все самые смелые планы по расширению и выделению CSS в новый язык сбылись. Как я вижу это?
Использование переменных на уровне файла стилей вырастет в желание использовать глобальные переменные. В каждом проекте, состоящем больше чем из 3/5/10 страниц будет глобальный мастер-файл стилей с переменными, файл стилей, отвечающий за анимацию, файл, отвечающий за типографику и тд. Будет путаница с переменными, так как не ясно каков будет приоритет их применения. Построчно, как чтение CSS-файла сейчас, или нет? Можно ли будет выносить переменные?
ЯваТипа станет транспортом информации от клиента к серверу и абстрагируется от оформления окончательно. Так как возможностей CSS не будет хватать для полного управления элементом (я просто не верю, что этот момент наступит), то часть разработчиков будет продолжать использовать JS для создания динамики страниц. Порядка это не добавит.
Разметка документов упростится до минорной, в любом случае, немалая ее часть будет генерироваться JS и видоизменяться в CSS. div’ы (divisions) станут основными базовыми элементами разметки. С помощью CSS они будут принимать любую форму, от круга до многоугольника. Возможностей станет гораздо больше и у дизайнеров не будут скованы руки.
Веб от всего этого только выиграет. Откроется большой простор для деятельности и креатива. Читая по кофейной гуще о возможных путях развития CSS, у меня уже чешутся руки создать что-нибудь эдакое!
А теперь ушат ледяной воды. Кто-нибудь спросил разработчиков браузеров, в частности MSIE, о их планах на будущее? Или все прогрессивные разработчики будут писать сайты исключительно для альтернативных браузеров (а не для людей)? А остальные по-старинке, будут оформлять контент с помощью CSS2.1(2.9?), где динамика, анимация и прочее останутся вотчиной ECMA Script’a?
Любые фундаментальные изменения должны быть четко структурированы и осмыслены; роли ведущих игроков должны быть распределены и расписаны, иначе не избежать неразберихи. А еще хорошо бы, чтобы такие глобальные вещи как языки разметки, программирования и оформления перестали быть Рекомендациями и превратились бы в Стандарты, за спиной которых стоит Организация, требующая их выполнения и соблюдения.
Развитие CSS - несомненное благо. И оно всенепременно затронет другие компоненты Веба. Вопрос только в том, что из фантазий войдет в реальность, а что так и останется нереализоваными мечтами? Время покажет.
live.cnews.ru/neutrino/110048
|