Email or username:

Password:

Forgot your password?
Андрей Ситник

Вот есть популярная шутка, что во фронтенде якобы каждый день новый фреймворк.

Но проблема в том, что в реальности всё наоборот. На 95% проектах Реакт уже лет 10 (при том, что новое поколение фреймворков ушло далеко вперёд).

А в бэкенде есть реальное разнообразие.

21 comments
Roman

@sitnik_ru в бэкенде точно так же, если взять не стартапы, а долгоживущие конторы.

labria

@sitnik_ru разнообразие рельс? :)

Andrey Sitnik

@labria @sitnik_ru Go есть, несколько решений Node.js, серверные функции и много чего ещё.

Remult.js например крутой.

Andrey Sitnik

Давайте честно:

1. Использовать SPA для всех типов сайтов — было ошибкой (даже команда Реакта признает это с RSC)
2. RSC — неудобный хак, который был бы не нужен, если бы мы не пытались сохранить API Реакта (Qwik делает это лучше)
3. Хуки — были ошибкой.
4. Со стилями беда

Всего этого не было бы, если бы у нас была реальная конкуренция фреймворков.

Но по факту во фронтенде мы выбираем фреймворк не по качеству, а по популярности — создавая dead lock возможности смены фреймворка.

Давайте честно:

1. Использовать SPA для всех типов сайтов — было ошибкой (даже команда Реакта признает это с RSC)
2. RSC — неудобный хак, который был бы не нужен, если бы мы не пытались сохранить API Реакта (Qwik делает это лучше)
3. Хуки — были ошибкой.
4. Со стилями беда

Всего этого не было бы, если бы у нас была реальная конкуренция фреймворков.

gleb.zhulik

@sitnik_ru а с системами сборки что? Сколько раз вебпак в этом году переизобрели?

gleb.zhulik

@sitnik_ru вот именно, вчера вебпак, сегодня vite, завтра что? Реакт, может, и победил, но весь тулинг в экосистеме - все ещё катастрофа.

Андрей Ситник

@zhulik так это и есть эволюция и конкуренция.

В сборщиках она более или менее есть.

А в фреймворках нет — поэтому мы 10 лет на Реакте.

Андрей Ситник

@zhulik ну и за 10 лет 1-2 раза сменить сборщик — нормальное развитие.

Остальные инструменты (вне разбработки) точно так же меняются с такой же скоростью.

gleb.zhulik

@sitnik_ru я что-то не припомню чтобы я за 10 лет менял компилятор в го или линтер в руби, или пакетный менеджер, или таск раннер. Они, почему-то, сразу хорошие получились, и проходили путь нормальной эволюции, при котором вчерашние знания не пропадают. Они не проходили путь переизобретения каждые 5 лет, где все заново учить надо.

Андрей Ситник

@zhulik В Rails мире постоянно идут смены. Тот же переезд на Rails Assets Pipeline с другого сборщика был ещё до вебпака.

Сейчас вроде очереди хотят заменить.

Андрей Ситник

@zhulik смена вебпака на Vite не требует учить всё заново, это просто эволюция инструмента.

В любой индустрии инструменты обычно меняются раз в 5 лет, даже вне ИТ (из-за научно-технического прогресса).

gleb.zhulik

@sitnik_ru разработка webpack не была остановлена в пользу vite, насколько я вижу. Вместо одного инструмента или 2х по очереди, у нас 2 одновременно. Почему vite просто не стал следующей версией вебпака, если он лучше во всем и "учить его не надо"(понимаю это как обратную совместимость с вебпаком или zero config)? Зачем тысячам разработчиков тратить хоть на секунду больше времени на переезд, чем требуется на npm update? Почему сборщик вообще не часть платформы node? Это же очевидно вообще

Андрей Ситник

@zhulik потому что именно так выглядит конкуренция. Появление AMD не означает что процессоры Intel убираются с полок. Появление литий-йонных аккумуляторов не убрала другие аккумуляторы с рынка.

gleb.zhulik replied to Андрей

@sitnik_ru так выглядит растрата огромного количества ресурсов на решение одних и тех же задач в проектах, которую решают буквально одну и ту же проблему. А пользователям надо не только думать, что им нужен какой-то отдельный билдер, но еще и следить чтоб тот каким-нибудь другим не был заменен внезапно. Мне, например, не нужен "лучший" тулинг, выигравший конкурентную борьбу, но нужен "достаточно хороший", который я один раз настроил и забыл про его существование. Есть такое? В руби и го - есть

Андрей Ситник replied to gleb.zhulik

@zhulik есть, Vite. Его обычно даже настраивать не надо.

До этого был Parcel.

Зачем тогда вообще пошёл в Вебпак если у него ровно наоборот задача всегда была.

gleb.zhulik

@sitnik_ru так это фронтовый тулинг🤷. Те, кто пишут на руби/рельсах исключительно бек ничего не заметили и ничего не меняли.

Андрей Ситник

@zhulik не заметили смену очередей?

gleb.zhulik

@sitnik_ru честно говоря не понимаю о какой системе речь. ActiveJob? Так это новый апи, и, в общем-то, не обязательный

Андрей Ситник replied to gleb.zhulik

@zhulik ну vite тоже не обязательный, обычное развитие.

Просто наши мысли привязаны к мемам. Про фронт ты видишь мемы и твой разум по другому видит то же развитие, что и в Рельсе, но в другом смысл.

Или переход с металлический труб на пластиковых (там тоже пришлось изменить весь стек) в сантехнике — это такой же бессмысленный процесс?

top.ofthe.top
> Вот есть популярная шутка, что во фронтенде якобы каждый день новый фреймворк. Но проблема в том, что в реальности всё наоборот. На 95% проектах Реакт уже лет 10 (при том, что новое поколение фреймворков ушло далеко вперёд). А в бэкенде есть реальное разнообразие.

Но есть нюанс. Бэкендщику достаточно знать язык, а фреймворк всё равно какой. Поэтому в вакансиях на уже работающий проект нередко встречается условие "опыт работы с любым современным фреймворком", т.к. если разработчик уже работал с Symfony, Laravel не будет для него проблемой, или аналогично перейти с Django на Flask или FastApi.

С фронтенд фреймворками же знание JS/TS мало, там любят каждый свой декларативный язык изобретать.

> Вот есть популярная шутка, что во фронтенде якобы каждый день новый фреймворк. Но проблема в том, что в реальности всё наоборот. На 95% проектах Реакт уже лет 10 (при том, что новое поколение фреймворков ушло далеко вперёд). А в бэкенде есть реальное разнообразие.

Но есть нюанс. Бэкендщику достаточно знать язык, а фреймворк всё равно какой. Поэтому в вакансиях на уже работающий проект нередко встречается условие "опыт работы с любым современным фреймворком", т.к. если разработчик уже работал с...

Go Up