Все опять обозлились на CSS. Я даже не стану перечислять причины. В общей сложности всё сводится к тому, что CSS достаточно прост, но одновременно с этим и достаточно сложен. До такой степени, что, во избежание волнений общественности, проще завернуть его в JavaScript. Вы можете прочитать более осмысленный взгляд Криса Койера «The Great Divide».
Подобные споры об инструментах, фреймворках и технологиях возникают повсеместно. Я постоянно наблюдаю их те 20 лет, что работаю в вебе. Стандартные технологии де-факто имеют свои ограничения, мы сталкиваемся с проблемами и хотим их решить. Частенько мы решаем эти проблемы просто выбрасывая всё. Старые вещи ужасны и были изобретены когда не было лучших альтернатив! Теперь, имея все свои знания, мы можем сделать лучше. Давайте переизобретём колесо!
Мы можем наблюдать подобное в мире хранилищ данных, где люди всячески избегают реляционных баз данных, хотя чаще всего именно они им и нужны.
Мы видим это в стремлении к статическим сайтам. Всё начинается под предлогом экономии скорости отрисовки при отсутствии базы данных и заканчивается воссозданием баз данных в файловой системе или использованием сторонних сервисов в попытках заткнуть дыры, с которыми отлично справилась бы традиционная CMS.
В обоих описанных сценариях есть исключения, когда альтернатива в виде РСУБД (Реляционная СУБД) является правильным решением. Статические сайты отлично подходят для некоторых типов контента. Это хорошее решение определённой части проблем. Однако я видела много ситуаций, в которых попытка использовать новейшие технологии приводила проект в упадок и в конечном итоге требовался дорогостоящий рефакторинг или полная переделка.
Это постоянное переосмысление колеса — наша Ахиллесова пята. Мы всегда оптимистичны и надеемся, что из этого выйдет что-то хорошее, но чаще всего это просто приводит к беспорядку. Команды раз за разом сталкиваются с проектами, которые никто не в силах исправить, потому что они, эти проекты, основаны на цепочке малоизвестных технологий. Компании часто получают сайты, разработанные подрядчиками на технологиях, которые быстро канули в лету. И когда бизнес хочет что-то обновить, то новый подрядчик предлагает ему переделать всё заново.
Однако, когда дело доходит до фреймворков и подходов, которые усложняют написание HTML и CSS, проблема становится чуть более существенной, чем бизнес, теряющий пару лет работы и попадающий на полную переделку по причине того, что не может поддерживать опрометчиво выбранный фреймворк.
Все обсуждения HTML и CSS напрямую сказываются на точке входа в профессию разработчика. Не важно, фронтендер ты или бэкендер, большинство из нас с вами, не имеющих за плечами высшего технического образования, начали своё знакомство с профессией с простых в изучении HTML и CSS. Волшебное чувство видеть, как твой код работает на реальной странице! Мы уже потеряли большинство точек входе, которые у нас были. Исчезли родительские форумы, где люди учат друг друга HTML и CSS в попытках создать семейный альбом. Эти люди теперь использую Facebook или, возможно, завели блог со стандартной темой оформления на Wordpress.com или SquareSpace. Пропали люди, кастомизирующие свои странички на MySpace или изучающие HTML на Neopets. Больше нет людей, в основном женщин, попадавших в индустрию потому что были вынуждены изучить HTML, ведь ведение сайта организации являлось частью рабочих обязанностей администратора.
Как подчёркивает этот классный тред, входной точкой для большинства людей без традиционного образования стали буткемпы. Как правило там преподаётся стиль разработки, основанный на фреймворке, который позволит учащимся как можно быстрее получить работу. Однако, на основании вопросов от людей, прошедших подобное обучение, я вижу, что основы часто пропускаются и откладываются до лучших времён. Мы оказываем этим людям «медвежью услугу», если они впоследствии попадают в среду, где до основ дело никогда не дойдёт или, что ещё хуже, где HTML и CSS полностью обесценены. Из-за своих знаний HTML и CSS я спокойно реагирую на любые изменения в вебе. Я по опыту знаю, что эти знания позволят мне легко переключится и быстро освоить любые, построенные вокруг этих технологий, новинки.
Есть что-то удивительное в том, что, несмотря на всё, что мы насоздавали за последние 20 лет, я могу за день научить любого новичка создавать страничку на HTML и CSS. Нам не потребуется говорить об инструментах и фреймворках, изучать как создавать пулреквест или как перед стартом перетащить на компьютер кучу кода с помощью npm. Нам понадобится только текстовый редактор и пара часов. И на нашей страничке уже что-то появится.
Это реальная точка входа и да, если работа является их целью, то в 2019 году им придётся быстро переключиться на инструменты и технологии, которые востребованы у работодателей. Но так или иначе, все эти инструменты в конце выдают HTML и CSS. Это основа всего, что мы делаем. И это делает маловероятным обесценивание тех, кто обладает действительно глубокими знаниями.
Если у вас есть практические знания проблем, с которыми вы сталкивались при работе с CSS, то вы сможете создать действительно классное решение этих проблем на JavaScript. Многие из нас, кто работает с CSS, хотят услышать ваши идеи. Однако, если вы начнёте наш разговор с признания, что на самом деле не изучали CSS до того, как предложить ему замену или если я увижу, что вы унижаете меня (или других людей) за незнание выбранного вами фреймворка, то я буду более скептически относится к вашим предложениям. Я не буду помогать вам строить мир, в который такой человек как я никогда не смог бы попасть.
Когда вы делаете навыки программирования ключевым компонентом роли каждого веб-разработчика, вы превращаете веб в песочницу для программистов. Это когда вы начинаете мыслить фабриками объектов и, жаловаться «почему пользователь не может обновиться» и обесценивать такие «мягкие и женственные» навыки, как дизайн.
Задаёте потрясающий вопрос «а как ещё мы должны строить сложные приложения», когда вообще никто не говорит об этом. По сути, спорите о том, как повысить базовый уровень создания всего до такого, который полностью исключается человек. Чарли Оуэн @sonniesedge
Возможно я из «старой гвардии», но если вы думаете, что я не способна изучить React и потому так яростно отстаиваю свой путь, то, прошу вас, остановитесь. Посмотри я на всё это, будучи 22 лет отроду, я бы развернулась и убежала прочь. Если мы сделаем так, что для старта потребуется понимание программирования, то мы передадим всю власть тем, кто уже находится в привилегированной группе. У меня ещё много сил для борьбы с этим.