…похоже, что мы застряли в последнем десятилетии

Все еще между работами, я случайно просматриваю объявления. Я не знаю, мое ли это мазохистское побуждение или тревога из-за того, что у меня нет работы на полный рабочий день (в которой я не нуждаюсь срочно), но я все равно это делаю. Одна вещь, которая бросилась мне в глаза, это использование фразы «современная технология» для обозначения нескольких технологий, которые, насколько я помню, далеки от современных… на самом деле они появились вскоре после или даже до того, как я получил в веб-разработку.

Взгляните на эту картинку.

Я серьезно сомневаюсь, что кто-то назовет Nokia 230 (на фото выше) «современным телефоном». Ведь он вышел в 2015 году. Давным-давно!

Это «давным-давно» на самом деле произошло через два года послеReact. Это было также девятьлет послеSASS и шесть лет послеLESS. Если кто-то не спал под камнем, это древний. А знаете ли вы, что TypeScript на самом деле старше, чем React, и на момент написания этой статьи ему более десяти лет?

Наша отрасль движется так же медленно, как и проекты, над которыми мы работаем, отягощенная бюрократией, страхом и религией. Мы все еще застряли в 2010-х, утверждая, что делаем что-то новое и «современное». Что ж, «современная» часть на самом деле даже не ошибочна. Поскольку мы застряли в старых временах, мы просто копируем 2010-е в 2020-е, и это снова делает его современным…

Конечно, за эти годы произошли постепенные улучшения во всех этих вещах, но ничего на уровне внедрения совершенно новых парадигм. Некоторые фреймворки стали немного быстрее. Некоторые получили подсказки шрифта. У некоторых появились дополнительные способы делать то же самое, но не было реального решения ни одной из проблем, которые на самом деле их мучили. Технологии браузера претерпели множество косметических изменений (извините, я не могу назвать стрелочную функцию улучшением, так как это просто еще один способ сказать function, а классы далеко не так совершенны, как я надеялся), и части, которые, как мне кажется, могут правомерно классифицировать как улучшения, такие как IntersectionObserver, position: sticky, API перетаскивания, переменные CSS, flexbox, пользовательские элементы…

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

Довольно иронично, что когда кто-то делает ваниль, люди говорят, что «это старая технология, и есть веская причина, по которой ее заменили современными фреймворками». Ну, во-первых, его так и не «подменили» для начала, во-вторых, современная техника даже не современная. Шутка на них, я думаю. И это тоже не шутка ха-ха.

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

Если вы не можете сказать, насколько устарел ваш стек — и, что еще хуже, выбираете его, потому что считаете его новым, — как вы можете принимать обоснованные решения о более важных аспектах веб-разработки? Такие как стоимость, эффективность, производительность, знание того, какие углы нужно срезать и когда…