5 причин, почему разработчики не используют новый функционал CSS

Перевод статьи «5 reasons why people aren’t using new CSS features».

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

А это большая проблема, потому что CSS Working Group — команда разработчиков, занимающихся поддержкой и улучшением CSS-спецификаций, — измеряют успех нового функционала степенью его применения на практике.

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

Мы все согласны, что обновлять код, созданный при помощи JavaScript и React, очень важно. Так почему мы склонны считать, что обновление CSS не стоит усилий? Давайте рассмотрим несколько возможных причин того, почему люди не используют новые функции CSS.

1. Применение новых функций CSS связано с расходами

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

2. CSS-код должен быть кратким, без излишеств. К тому же, он вообще не в приоритете

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

Разработчики большинства сайтов вообще не утруждают себя работой с CSS на ранних стадиях. Они могут просто использовать Bootstrap, да и дело с концом. И только когда проект достигнет определенной степени популярности, стейкхолдеры начинают обдумывать разработку стиля, соответствующего бренду. Но даже тогда могут возникать задачи более насущные, чем обновление CSS.

3. Не сломано — не трожь

Главная цель написания CSS-кода — сделать так, чтобы сайт был приятным глазу и достаточно легким для восприятия. CSS помогает разработчикам достигнуть этих целей путем работы по двум направлениям: с макетом и дизайном. Макет описывает колонки и ряды, а дизайн это все, что касается цветов, шрифтов, расстояний, анимаций и границ.

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

4. Уследить за всеми новшествами в CSS довольно сложно

React и Vue проводят регулярные конференции в сообществе. Такие конференции бывают даже у JavaScript. Но как насчет CSS? Как вам узнавать о его развитии и новом функционале?

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

В отличие от фреймворков и языков программирования, в CSS нет патчей для исправления проблем безопасности. А что касается дизайна как такового, для большинства клиентов главное, чтобы сайт просто выглядел так, как они задумали. Так что разработчики, собственно, не имеют стимула следить за изменениями в CSS.

5. CSS не кажется разработчикам навыком, привлекательным для инвестиций

Скажем, вы проделали много работы и освоили новый функционал CSS. Как это продемонстрировать работодателю или потенциальны клиентам? Вы даже не можете написать в своем резюме «CSS версии CSS3 и выше».

CSS3 был большим достижением в мире CSS-разработки, потому что его появление заставило:

  • разработчиков браузеров — реализовать поддержку нового функционала,
  • всех остальных разработчиков — обновить свои навыки,
  • лидеров отрасли — обновить технический стек.

Большой спрос рождает большие возможности. Чтобы помочь людям освоить CSS3, были выпущены книги, курсы, обучающие видео. А еще ж есть модели макетов, такие как Flexbox and Grid, хотя они и не являются частью CSS3.

Некоторые разработчики выступают за выпуск всех новых функций под вывеской CSS4. Но как определить CSS4? Какие модули нужно включить в него, а какие — исключить? Если нет никаких разительных отличий от CSS3, то сообществу и нет смысла переходить на CSS4. И каждому отдельному разработчику тоже будет казаться более целесообразным потратить свое время на более заметные навыки, которые больше помогут ему «продать» себя на рынке труда.

Заключение

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

Если вам интересно копнуть глубже, можете принять участие в обсуждении перспектив CSS4 на GitHub.

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]

2 комментария к “5 причин, почему разработчики не используют новый функционал CSS”

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх