Главная » Будущее CSS

Будущее CSS

В связи с участившимися сообщениями о том, что в CSS хотят добавить переменные, анимацию, трансформацию и прочая, хотелось бы немного отстраненно порассуждать на эту тему.

CSS, которому уже 12 лет, изначально был задуман и разрабатывался как средство для описания внешнего вида документа. С тех пор утекло много воды и технология претерпела значительные изменения и дополнения. На данный момент, рабочая версия по стандарту W3C, принятая в 2006 году - Уровень 2.1. Уровень 3 находится в состоянии разработки (есть черновик), и ожидается с нетерпением многими разработчиками.

Вокруг будущего CSS ходит много слухов и предположений, коротые муссируются и множатся, выливаются в дискуссии и споры. Ведь по сути, если хотя бы половина предлагаемых изменений будет осуществлена, то CSS превратится в (полноценный?) язык программирования визуальной составляющей веб-документов.
И все бы хорошо, если бы это не вносило смуту в ряды разработчиков, часть которых небезосновательно утверждает что использование переменных на уровне документа это благо, так как позволяет с большей легкостью изменять значения тех или иных свойств, да и сами свойства. Другая часть разработчиков не согласна с этими утверждениями и твердит о том, что переменные - зло, так как толка от них мало, они только путают и тд.

И те и другие утверждения имеют право на существование в определенных ситуациях, так как ситация неоднозначна. Но переменные - это еще ничего. Как на счет анимации элементов? До сих пор анимация является прерогативой Javascript’a, который может быть потеснен с этой должности, по крайней мере частично.

Такие моменты, как вращение элементов вокруг своей оси, смещение по плоскости и сжатие с растягиванием, могут быть подхвачены берсерками CSS и внедрены по-самое-не-балуйся. Причем любой, более-менее разбирающийся в CSS, но не разбирающийся в Javascript, скажет что был бы этому рад. В данной ситуации, Javascript, как основное средство создания динамики в веб-документах, отходит на второй план, если не дальше.

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

Может быть я сгущаю краски и все не так сложно. Давайте рассмотрим такую ситуацию. Предположим, в теории, что Эра CSS наступила и все самые смелые планы по расширению и выделению CSS в новый язык сбылись. Как я вижу это?

Использование переменных на уровне файла стилей вырастет в желание использовать глобальные переменные. В каждом проекте, состоящем больше чем из 3/5/10 страниц будет глобальный мастер-файл стилей с переменными, файл стилей, отвечающий за анимацию, файл, отвечающий за типографику и тд. Будет путаница с переменными, так как не ясно каков будет приоритет их применения. Построчно, как чтение CSS-файла сейчас, или нет? Можно ли будет выносить переменные?

Javascript станет транспортом информации от клиента к серверу и абстрагируется от оформления окончательно. Так как возможностей CSS не будет хватать для полного управления элементом (я просто не верю, что этот момент наступит), то часть разработчиков будет продолжать использовать JS для создания динамики страниц. Порядка это не добавит.

Разметка документов упростится до минорной, в любом случае, немалая ее часть будет генерироваться JS и видоизменяться в CSS. div’ы (divisions) станут основными базовыми элементами разметки. С помощью CSS они будут принимать любую форму, от круга до многоугольника. Возможностей станет гораздо больше и у дизайнеров не будут скованы руки.

Веб от всего этого только выиграет. Откроется большой простор для деятельности и креатива. Читая по кофейной гуще о возможных путях развития CSS, у меня уже чешутся руки создать что-нибудь эдакое!

А теперь ушат ледяной воды. Кто-нибудь спросил разработчиков браузеров, в частности MSIE, о их планах на будущее? Или все прогрессивные разработчики будут писать сайты исключительно для альтернативных браузеров (а не для людей)? А остальные по-старинке, будут оформлять контент с помощью CSS2.1(2.9?), где динамика, анимация и прочее останутся вотчиной ECMA Script’a?

Любые фундаментальные изменения должны быть четко структурированы и осмыслены; роли ведущих игроков должны быть распределены и расписаны, иначе не избежать неразберихи. А еще хорошо бы, чтобы такие глобальные вещи как языки разметки, программирования и оформления перестали быть Рекомендациями и превратились бы в Стандарты, за спиной которых стоит Организация, требующая их выполнения и соблюдения.

Развитие CSS - несомненное благо. И оно всенепременно затронет другие компоненты Веба. Вопрос только в том, что из фантазий войдет в реальность, а что так и останется нереализоваными мечтами? Время покажет.



7 Комментариев »

  1. 1  Плюс Минус  0

    Вообще, тенденция интересная и задумка глобальная. Надо посмотреть во что все выльется на практике ))

    Комментарий by Ацтек — Апрель 25, 2008 @ 4:20 am | Цитировать

  2. 2  Плюс Минус  +1

    Вообще идея переменных мне нравится, а вот динамика в стилях совершенно нет.

    Спрашивал у Алекса Могилевского РИТе об этих предложениях в CSS, он сказал, что это слишком сложные вещи, чтобы их сразу вот так внедрить. Как я понял нужны год разработки спецификаций.

    По поводу перехода рекомендаций в статус стандартов я как-то писал у себя в блоге. Однако отказался от озвученной идеи после того, как MS раскрыла планы по поводу IE8.

    Комментарий by Zigzag — Апрель 26, 2008 @ 6:25 pm | Цитировать

  3. 3  Плюс Минус  0

    Почему-то нет ссылки на оригинал основного текста…

    Комментарий by Виктор — Апрель 27, 2008 @ 8:13 pm | Цитировать

  4. 4  Плюс Минус  0

    даже если то, что Вы (или не Вы :-) ) предсказываете и вправду будет иметь место, то произойдёт это только через пару лет, потом еще годик, чтобы производители тройки браузеров поработали над совместимостью, годик на исправление всякой лабуды, а там уже компьютеры будут хранить данные на апельсиновых корках…

    Комментарий by donkix — Май 11, 2008 @ 2:15 am | Цитировать

  5. 5  Плюс Минус  0

    Почему-то нет ссылки на оригинал основного текста…

    Вы о чем?

    даже если то, что Вы (или не Вы :-) ) предсказываете и вправду будет иметь место, то произойдёт это только через пару лет, потом еще годик, чтобы производители тройки браузеров поработали над совместимостью, годик на исправление всякой лабуды, а там уже компьютеры будут хранить данные на апельсиновых корках…

    Как знать, как знать, уже сейчас есть браузеры, которые поддерживают свойства из CSS3, который пока не является стандартом.

    Комментарий by Curly Brace — Май 11, 2008 @ 9:51 am | Цитировать

  6. 6  Плюс Минус  0

    поддерживают свойства из CSS3, который пока не является стандартом.

    Ну и 2.1 тоже не является стандартом (со слов Алекса Могилевского), а планируется к принятию только через год-полтора. Таже ситуация похоже и с тройкой будет - браузеры и стандарт будут друг под друга подгонять.

    Комментарий by Олег Лобач — Май 11, 2008 @ 5:13 pm | Цитировать

  7. 7  Плюс Минус  0

    Олег Лобач, вы путаете теплое с мягким. Во-первых CSS2.1 уже кандидат в рекомендацию. А CSS3 построен на модульности, в которой часть модулей имеет такой же статус кандидата в рекомендацию.

    Комментарий by Zigzag — Май 11, 2008 @ 5:32 pm | Цитировать

Оставить комментарий

XHTML (Разрешенные теги): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> .

Если вы хотите вставить в комментарий код, то жмите на кнопку "HTML" в редакторе и используйте теги <pre><code> и </pre></code> для вставки.

Не забывайте о том, что теги, вставленые без использования &lt;/&gt; будут автоматически трансформироваться.

Цитировать отмеченый текст