[Перевод] Может, хватит уже поливать грязью CSS на конференциях разработчиков?
На почти каждой конференции разработчиков вот-вот будет доклад, в котором будет вот эта «смешная гифка»:
Питер Гриффин из одноименного мультсериала пытается закрыть жалюзи и запутывает их напрочь, дергая за веревки как попало, пока не выходит из себя и срывает их с окна. Надпись на картинке: «CSS».
Публика всегда такое любит, и отсюда можно удачно перейти к рассказу о проблемах CSS и примерам их решения. Но в большинстве случаев — и чем более «технарская» это конференция, тем вероятнее — это начало тирады о том, какая гадость этот CSS, до чего ужасна его архитектура и как он нелогичен. И т.д., и т.п…
Вот что: я сыт этим по горло. Это не остроумно, это не соответствует действительности, и мы из-за этого выглядим напыщенными всезнайками, которым лишь бы всё работало как привычнее. Это возводит жесткий барьер между «разработчиками» и «людьми, делающими всякую веб-всячину», они же «ненастоящие разработчики». А это чушь. Наглая, опасная чушь, не помогающая нам — ни капельки — развивать наше сообщество разработчиков, чтобы в него хотелось влиться новым людям, самым разным.
Есть факт: мы делаем невероятно сложные, впечатляющие и красивые штуки в вебе. В самой демократичной системе распространения информации и — на сегодняшний день — на высокотехнологичной и потрясающей программной платформе. Если вы думаете, что знаете каждую ее грань и справитесь со всем этим без помощи других коллег-знатоков — вы ослеплены собственной самоуверенностью. И я не стал бы тратить время на работу с таким выпендрёжником.
Да, стебаться над CSS и его «франкенштейнистым» синтаксисом легко. Также легко показать, что все его задачи можно решить и другими технологиями. Но это не дает права — вообще — принижать и игнорировать людей, которым нравится CSS и для которых он — любимое орудие для создания великолепных пользовательских интерфейсов.
Другими словами: не нравится — не пользуйтесь. Работайте с кем-то, кому нравится. К гадалке не ходи, что если использовать технологию, которую вы не принимаете всерьез и не любите, то на выходе получится лажа. Это потеря времени. Когда вы жалуетесь на трудности из-за того, что вам хотелось, чтобы технология прогнулась под правила вашей зоны комфорта, вы на самом деле жалуетесь на то, что не осилили ее. У тех, кому повезло полюбить технологию и овладеть ее сильными сторонами, нет таких трудностей.
Еще то и дело всплывает вот эта кружка с надписью «CSS потрясающий»:
Это шутка про то, что CSS не годится для решения этой проблемы с вылезающим текстом. Что ж, скажите мне, а как тут надо было поступить? Добавить прокрутку? В CSS это возможно. Просто обрезать текст? Тоже можно. Обрезать и добавить в конце многоточие? Можно и так. Будет ли хоть одно из этих решений хорошим? Нет. Главное здесь то, что текст не влез в контейнер. А фиксированный контейнер в вебе — это ошибка. Нельзя фиксировать что-либо в среде, которая по определению может быть какого угодно размера и форм-фактора. Так что ошибка здесь в мышлении фиксированными контейнерами, а вовсе не в том, что CSS не делает чего-то по волшебству с неподконтрольным вам текстом. Оно наверняка наделало бы вам бед в интерфейсах.
Слабо вам взглянуть на те умопомрачительные штуки, что делает на CSS Ана Тюдор, и сказать мне в лицо, что это «ненастоящее программирование» и сделано на «тупом языке»?
Пример на CodePen
Только попробуйте не увидеть преимуществ флексбоксов и той возможности создавать динамические интерфейсы, подстраивающиеся к количеству контента и к потребностям экранов любого размера, которую они нам дают, как рассказывает о них Зои Микли Гилленуотер:
А сможете ли вы не прийти в восторг от могущества грид-раскладки, о которой рассказывает Рейчел Эндрю?
Попытайтесь не потерять голову от красоты построения сложных раскладок с помощью текста и фигур, не скованных жестко-пиксельным мышлением, как это объясняет Джен Симмонс.
И попробуйте только не поразиться мощи CSS-фильтров с режимами наложения и тому простору для художественного творчества, что они открывают, как объясняет Юна Кравец:
Видео на Vimeo
Так что в следующий раз, когда захотите «смешно пошутить про CSS», имейте в виду, пожалуйста, что разбирающиеся в нем люди отнюдь не буковки перекрашивают. CSS — очень выразительный язык для создания сложных интерфейсов, покрывающий множество разнообразных потребностей пользователей. Если вы не в силах всё это осознать — и я сам признаю, что больше уже не в силах — имейте совесть не принижать тех, кто осознаёт. Лучше поблагодарите их за этот труд и работайте с ними вместе.
Комментарии (6)
6 октября 2016 в 15:06
0↑
↓
Ладно.6 октября 2016 в 15:07
0↑
↓
Хм… Но ведь css действительно ущербный, хоть и достаточно мощный. Примерно как php. Поэтому его всегда будут ругать, это нормально.6 октября 2016 в 15:09 (комментарий был изменён)
0↑
↓
Согласен в том плане, что CSS по сравнению с другими web-технологиями (HTML5, node, и т.п.) еще вполне себе ок и логичнее поливать грязью их.Об ущербности же CSS говорит хотябы сам факт существования вещей вроде less или sass.
В нем даже констант нету, зато каждый год добавляют всякую ерунду типа 3d-transform.6 октября 2016 в 15:12
0↑
↓
Бесполезное (кроме как для показать «какие мы крутые») 3d завезли, а центрирование без костылей — нет :(
6 октября 2016 в 15:13 (комментарий был изменён)
0↑
↓
Хотя, пожалуй, del.6 октября 2016 в 15:17
0↑
↓
Чего действительно не хватает в CSS, это препроцессора, регулярных выражений и функционального подхода. И тогда JSON-библиотеку, адаптированную к CSS, каждый сам себе напишет.