Со временем я стал все чаще обозначать свое уже длительное присутствие в веб-разработке. Со скромным, по моим меркам, но все равно большому опыту я достаточно часто ностальгирую, хотя не могу не признать того факта, что сейчас скорее всего лучше, чем было раньше.
Как все начиналось
На самом деле я уже и не особенно-то и помню, воспоминания достаточно расплывчатые и рывками, эпизодически. Но в целом я начал работать в вебе на уровне фрилансера примерно спустя год, как поступил в университет. До этого были курсы, какие-то увлечения, даже проскочили мимолетные занятия, где товарищ энтузиаст рассказывал и, более того, показывал нам, неофитам, как можно создавать пошаговые логические игры в Excel.
К слову, я считаю, что мне повезло войти в ойти именно тогда, когда интерфейсы стали более менее нормальными (XP, Windows 7), а Linux-системы уже можно было ставить без лишних заморочек.
Четко помню начальную школу и как друг родителей принеся блок дискет устанавливал 95-ую винду, если я правильно помню.
В целом ковыряться в старом софте было интересно и чем-то на моем опыте смахивало на текущую работу на уровне консоли, но сейчас все-таки лучше:
- Установка и переустановка софта доступное явление каждому.
- Диски в Ubuntu монтируются САМИ.
Ну да в целом не суть, работать я уже работал на XP и семерке, с более менее современным инструментом и весьма кривыми инструментами Adobe и т.д.
Признаки времени
В целом да, софт тогда был гавеный, в ходу были не только Adobe inDesign, как основной инструмент верстал, но и всякие Кварки. Тогда состояние JavaScript было настолько удручающим, что пришедший в наш мир jQuery был просто божественной библиотекой, которая заставляла сайты круто работать.
До jQuery анимацию, например, создавали практически покадровую, расчитывалась анимация каждый N-промежуток времени и переписывались стили. jQuery же дал нам функцию animation. Просто введи точку значения, которые должны быть в точке Б, задай время и радуйся жизни.
Хотя на уровне HTML было проще. Были таблицы, мучения с Float-ами для блочных элементов и... Ну все, таблицы, спаны, дивы, параграфы и заголовки. Вот основной инструментарий. Семантики не было вообще, тегов было меньше.
Но и философия была другая. Сейчас браузеры имеют более менее приличные виды нативных элементов взаимодействий, поля ввода, скроллбар, и сейчас является хорошим тоном сохранять нативное поведение таких элементов. А тогда была простая тяга к прекрасному и все это дело переписывалось, что создавало в конечном счете множество проблем.
Да, я не сказал самого главного, несмотря на то, что jQuery был таким охуенным, это просто прослойка между ним и обычным JS. После 2015-го года и с последующими обновления стандарта EcmaScript в нем [jQuery] необходимость отпала напрочь. А сегодня, когда браузер Internet Explorer окончательно и бесповоротно похоронен, открывается великое множество возможностей.
Проектирование интерфейсов
Для меня всегда оставалось загадкой, почему люди проектируют интерфейсы в Photoshop-е, который вообще для этого не предназначен. Как по мне ближайшим инструментом был inDesign или Illustrator. Сам я всегда работал в иллюстраторе и жутко плевался и плююсь до сих пор, если вижу макет в PSD.
Сейчас есть XD, Figma.
На самом деле никогда не понимал причин использовать фотошоп в качестве инструмента прототипирования и разработки интерфейса, но современные инструменты, абсолютно без проблем вытеснили его и хорошо.
Что же сейчас?
Сейчас у нас есть множество инструментов, задача которых — упростить веб-разработку, разработку проектов в области ойти в принципе. Нужно проектировать интерфейсы — пожалуйста, прототип на коленке собрать — держи, удобный редактор кода хочешь, а не всякие Vim-ы — лови на выбор.
Шок-контент: IE умер!
А это значит... Что вся индустрия, все конфигурации по приведению кода из новых стандартов в старые больше не нужна. Хочешь писать на ES6? Пиши. Главное смотреть в поддержку и не являются ли стандарты и методы утилизированными по причине устаревшести или какими-то специфичными для какого-то конкретного браузера.
Обратная сторона медали
Конечно же есть и минусы в таком подходе. А именно — скорость появления технологий и подходов, классово верных методологий, благо те, что культивировались долгие годы являются основными и надежными, например БЭМ.
Именно поэтому я использую максимально актуальные технологии, но только те, что уже зарекомендовали себя не первый день. Этот сайт, к примеру построен в том числе на Vue.
JS-фреймворки
Да, это важная тема, этот сайт построен и все такое. Достаточно давно меня сильно смутил Angular и лично я его воспринимал, как отличный инструмент для создания прототипов, в том числе возможности реинтегрировать единожды написанные решения. Например шапку сайта можно использовать несколько раз и при этом не обязательно запускать проект на сервере, который поддерживает какой-либо бэк, например PHP, который так умеет делать из коробки.
Даже немного жаль, что та версия быстро сменилась следующей, а та дальше и так далее. Это действительно отпугнуло меня, пока я не пришел к Vue. Сейчас я пишу на нем полезные блоки для автоопределение приводной верстки для заголовков, многие решения на этом и других сайтах.
Но об этом, пожалуй, в другой раз.