Старший аспирант «Нетологии» Алёна Батицкая перевела колонку Кристиана Хельманна «Can we stop bad-mouthing CSS in developer talks, please?»
Сейчас почти на каждой конференции разработчиков будет выступление, в котором встречаются подобные «смешные гифки»:
Питер Гриффин из мультсериала Family Guy пытается закрыть жалюзи и ломает их, рандомно дергая за шнуры. Все заканчивается тем, что он сдается и срывает жалюзи с окна. С подписью CSS
Это всегда нравится публике и является неплохим введением к части с описанием некой проблемы CSS и способам ее решения. В большинстве случаев и их число увеличивается пропорционально «техничности» конференции — все начинается со слов, как же плох CSS, как страшна и непоследовательна его иерархия. И так далее, и тому подобное.
Вот в чем дело: я устал от этого. Это не умно, это не основано на фактах и характеризует нас как высокомерных всезнаек, которые хотят, чтобы все работало привычным образом. Это четко разграничивает «разработчиков» и «людей, которые делают веб-штучки» (равно «ненастоящий разработчик»). Какой бред. Высокомерный, опасный бред, не помогающий нам — совсем не помогающий — развивать наше сообщество разработчиком и становится более привлекательными для новичков.
Вот вам факт: мы создаем невероятно сложные, восхитительные и красивые вещи в вебе. Веб является самой демократичной системой распространения информации и — на данный момент — высокоточной и захватывающей платформой для софта. Вы думаете, что вы знаете каждый из этих аспектов? Можете работать без поддержки других специалистов? Использовать одну приятную вам технологию? Вы ослеплены собственными амбициями. И вы — высокомерный человек, с которым я точно не хотел бы работать.
Да, легко издеваться над CSS и его синтаксисом, похожим на Франкенштейна. Кроме того, легко показать, что вы можете делать все то же самое при помощи других технологий. Но это не дает вам никакого права — совершенно никакого — принижать и игнорировать людей, которые любят CSS и выбрали его в качестве технологии для создания крутых интерфейсов.
Другими словами: если вам это не нравится — не пользуйтесь этим. Работайте с теми, кому это нравится. С гарантией в 100% могу сказать, что если вы используете технологию, к которой не относитесь всерьез и не любите, то конечный результат будет плачевным. Это пустая трата времени.
Когда вы жалуетесь на проблемы, с которыми столкнулись, потому что ожидали от технологии поведения, вписывающегося в рамки вашей зоны комфорта, вы на самом деле заявляете о собственном провале. Это не относится к тем, кому технология нравится и он намеренно проверяет ее на прочность.
Еще один мем, который периодически всплывает — кружка с надписью «CSS is awesome»:
Шутка в том, что CSS неспособен решить проблему переполнения текстового элемента.
У меня встречный вопрос: а как это должно решаться? Полосы прокрутки? Это возможно в CSS. Обрезанием текста? Тоже возможно. Скрытием избытка текста за многоточием? И это возможно. Хорошие ли это решения? Нет. Главное здесь то, что текст слишком большой для контейнера. И фиксированный контейнер в вебе является ошибкой. Вы не должны фиксировать что-то намертво в среде, которая по определению может быть любого размера и формы. Так что ошибкой здесь будет “мышление фиксированными контейнерами”, а не невозможность CSS магическим образом решать вопрос с текстом, который вы не можете контролировать. Именно это приведет к неприятностям при разработке интерфейсов.
Я призываю всех посмотреть на головоломные штуки, которые Ана Тьюдор создает при помощи CSS и сказать мне, что это не «настоящее программирование» и написано на «тупом языке».
Я призываю не обращать внимания на удобство флексбоксов и на то, какие в нем кроются преимущества при построении динамичных интерфейсов, способных адаптироваться под разный контент. Именно с этой точки зрения рассказывает доклад Зои Майкл Джилленвотер:
Zoe Mickley Gillenwater | Flexbox | CSS Day from Web Conferences Amsterdam
Призываю не восхищаться возможностями грид-раскладки, о которых рассказывает Рейчел Эндрю:
Призываю не вестись на красоту использования типа и формы при создании сложных раскладок, которые не ограничены пиксельным мышлением, продемонстрированных в докладе Джен Симмонс.
Сможете не удивляться силе CSS-фильтров и режимов наложения и тому, на что они способны в руках творческого человека? Об этом рассказывает Уна Кравец.
В следующий раз подумайте перед тем, как использовать «шутку про CSS». Пожалуйста, поймите, что люди, которым не все равно, не пытаются просто раскрасить какой-то текст. CSS — это очень выразительный язык, который используется для построения сложных интерфейсов, учитывающих множество пользовательских потребностей. Если у вас от этого голова кругом —не стоит умалять заслуги тех, кому это по силам. Вместо этого поаплодируйте им за их усилия и работу в этом направлении.