Я 💛 Фронтенд. Node.js фреймворки, или Туда и обратно - Андрей Мелихов

Поделиться
HTML-код
  • Опубликовано: 29 сен 2024
  • За годы разработок enterprise-приложений на Node.js я использовал Express, Nest.js и AWS-лямбды. У каждого подхода есть свои плюсы и минусы, и все они остаются актуальными, но ни одно из этих решений не стало золотым стандартом, и каждый раз, стартуя разработку нового приложения, мы сталкиваемся с выбором - на чём же нам писать. Пора ли забыть навсегда Express? Так ли хорош Nest.js, как рекламирует его автор, и не пора ли уйти на FaaS-решения?
    Больше подробностей на сайте ilovefrontend.ru
    Присоединяйтесь к нашему сообществу в TG t.me/yalovefro...

Комментарии • 73

  • @koresh-it
    @koresh-it 2 года назад +18

    Андрей, где девшахта?

  • @ilnuribat
    @ilnuribat Год назад

    ахренеть
    круто рассказал про фастифай, всегда считал его каким-то странным
    второе - про knex. Мне он нравится, но боялся его тащить в прод)
    круто)

  • @waldemarkunz9173
    @waldemarkunz9173 2 года назад +31

    Андрей, спасибо за доклад! Девшахты не хватает! Кружек верстальщиков "Веб стандарты" совсем не замена, но выпуски с Вами слушаю.

    • @ilyakushlianski6519
      @ilyakushlianski6519 2 года назад +3

      Да, хотелось бы тоже побольше про бэкэнд в "Веб стандартах"

  • @rudinandrey
    @rudinandrey 2 года назад +5

    конец прям порадовал ) ОРМ гавно! сколько ни пытаюсь что-то придумать, не ложится он, реально. Нет, положить то конечно можно, но ты видишь на это, насколько при этом пострадает производительность, ужасаешься, и пишешь SQL запрос. нахер, просто нахер )

    • @KonstantinTarasov-q7q
      @KonstantinTarasov-q7q 24 дня назад

      Когда вижу код и запросы без орм, то с большой вероятностью понимаю, что придется по локоть лезть в говно.
      Если искать компромисс, то скорее всего я выберу призму.

    • @rudinandrey
      @rudinandrey 24 дня назад

      @@KonstantinTarasov-q7q надо всего лишь подучить SQL и гавно предстанет перед тобой ограненным алмазом!

  • @Изи-ю6г
    @Изи-ю6г 2 года назад +20

    Хотелось бы, конечно, комментарии Тимура Шемсединова...

    • @vancheloChanel
      @vancheloChanel 2 года назад

      😂

    • @waldemarkunz9173
      @waldemarkunz9173 2 года назад

      Думаю он тут с основным полностью согласен будет

    • @vladcid3938
      @vladcid3938 2 года назад +4

      Он говорил тоже самое лет 5-7 назад

    • @TimurSevimli
      @TimurSevimli Месяц назад

      @@waldemarkunz9173 и кажется что он предложить бизнес логику тоже писать на JS, только покрывать его типами с помощью .d.ts файликами))

  • @K2_PS
    @K2_PS 2 года назад +4

    Дзякую з Минску! Дужа добра!

  • @Roman-of9pl
    @Roman-of9pl 2 года назад +4

    Где девшахта?

  • @promax866
    @promax866 2 года назад +3

    А я думал девшахта ща будет

  • @СергейРодин-ю3ъ
    @СергейРодин-ю3ъ 2 года назад +8

    Фронтэндщики в 2022 внезапно обнаружили, что изначальной грамотной архитектуры почти любое приложение превращается в тяжелоподдерживаемый монолит!
    Сверхтонкий экспресс - самый популярный фреймворк. В результате каждый пилит свой велосипед, большинство пилят плохо, ибо вообще не понимают теории. И абсолютно все мучаются тащить это все в будущее)

  • @VanyaMate
    @VanyaMate 10 дней назад

    12:09 самая важная часть доклада

  • @Алексей-ъ2ч8э
    @Алексей-ъ2ч8э 3 месяца назад

    Изменилось что-то за два года?

  • @alexandrkositsky7698
    @alexandrkositsky7698 Год назад +1

    Спасибо за доклад. Когда-то слушал ваше обьяснение про dependency injection на примере nest, ничего не понял, кроме того что не люблю классы и все что с ними связанно)
    Как неожиданно видеть что сейчас вы пришли к противоположным вещам типа fastify и knex :)

  • @PutlerXLO
    @PutlerXLO Год назад +1

    бредятина. Уже и до миделварей криворукие хейтеры добрались.

  • @natashkinsasha
    @natashkinsasha 5 месяцев назад

    Привет, спасибо за доклад. Прям описал весть мой путь в выборе технологий и рассказал про все боли с которыми и я сталкивался. Когда слушаешь такие доклады понимаешь что это не ты что-то не понимаешь, а все сталкиваются с такими проблемами. Но после лямб я все таки вернулся к несту. Пока надо делать монолит с командой в 4 человека, лучше решения нет.

  • @me29_hi8
    @me29_hi8 Год назад

    Большое спасибо за труд. Конечно, за один присест такой объем осилить было немного сложно, но в этом и ценность, что вся информация собрана неким экстрактом в одном месте. Лучшая информация, лучшие ролики, без воды, отлично структурирована. Теперь у меня просто нет опции не выучить это. Спасибо!

  • @andreysakharov6210
    @andreysakharov6210 Год назад

    Кажется я слишком давно не смотрел Андрея. Вот к примеру классный ioc пропустил.

  • @andreyyastrebtsov4367
    @andreyyastrebtsov4367 Год назад

    А слайд "делай проще" подходит для полного новичка в бекенде на ноде? Вообще ниче знаю, но очень хочется начать

  • @327Spike
    @327Spike Год назад

    Спасибо большое, Андрей. Возвращаетесь с вашими видео 😊

  • @armenchik_dzhan
    @armenchik_dzhan 2 года назад

    ахахахаххахахаахахахаххахахаахахахаххахахаахахахаххахахаахахахаххахаха

  • @Nikita-hy8vt
    @Nikita-hy8vt 2 года назад +2

    Про передачу dto фронтам решил так - создаю интерфейс dto, передаю его фронтам. Этот же dto имплэментирует класс валидатор

  • @vladislavderzhavin2065
    @vladislavderzhavin2065 Год назад

    Отличный доклад!

  • @cdeblog
    @cdeblog Год назад

    Обо всём и ни о чем

  • @s9219871110
    @s9219871110 2 года назад

    Вот прям очень мне понравился доклад и особенно вопросы и ответы на них!

  • @aliday9968
    @aliday9968 2 года назад

    Вернулся в разнорабочие 🤣

  • @ВалентинаСахарова-ь3б

    Отличный план!

  • @aleksandr2245
    @aleksandr2245 2 года назад

    крутой чел)

  • @ВалентинКоваль-н4п
    @ВалентинКоваль-н4п 2 года назад

    Хороший доклад)

  • @temoncher
    @temoncher 2 года назад

    Аминь

  • @vadimburavlev4773
    @vadimburavlev4773 Год назад

    Что будете делать на несте, когда Js декораторы придут? Придется забыть про нест )))

    • @bukanaka
      @bukanaka Год назад

      Они, разве, уже не пришли?

    • @vadimburavlev4773
      @vadimburavlev4773 Год назад

      @@bukanaka нет

    • @KonstantinTarasov-q7q
      @KonstantinTarasov-q7q 24 дня назад

      Размечтался, обернем и все будет работать как раньше

  • @cyberblogru
    @cyberblogru 2 года назад

    Это как так в fastify нет typescript? о_О

    • @AndreyMelikhov
      @AndreyMelikhov 2 года назад +2

      Ну вот так, он написан на чистом js, писать высокопроизводительные низкоуровневые вещи на ts сложно, он не до конца покрывает весь js, да и опасно, можно порушить все оптимизации.

    • @cyberblogru
      @cyberblogru 2 года назад

      @@AndreyMelikhov а, ну да, typescript же позже .d.ts-ками наложен

    • @KonstantinTarasov-q7q
      @KonstantinTarasov-q7q 24 дня назад

      То, что нельзя на тайпскрипте, пишется прям js. Тайпскрипт не запрещает.

  • @sergeydev8273
    @sergeydev8273 2 года назад +3

    Да Господи тот же class-validator позволяет описывать в формате схемы, и замечу, с достаточно удобной структурой

    • @AndreyMelikhov
      @AndreyMelikhov 2 года назад +2

      Можно, но зачем писать на фантазийном формате для мёртвой библиотеки если можно взять стандарт и готовые решения?

    • @edmand46
      @edmand46 2 года назад

      @@AndreyMelikhov основная библиотека мертвая, но авторы nestjs сделали форк и поддерживают все фиксы в них, так что эти либы поддерживаемые

    • @AndreyMelikhov
      @AndreyMelikhov 2 года назад

      @@edmand46 о каком форке речь? В зависимостях неста только оригинал

    • @edmand46
      @edmand46 2 года назад

      @@AndreyMelikhov nestjs/class-validator и такой же для трансформера

    • @edmand46
      @edmand46 2 года назад

      @@AndreyMelikhov они еще не включили их в официальную доку, но у них был ишшьюс о проблеме с данными библиотеками

  • @sergeydev8273
    @sergeydev8273 2 года назад

    Самое интересное комплексное решение из существующих - это loopback-next, там во многом они ушли значительно вперед по сравнению с остальными

    • @erkinaltai
      @erkinaltai 2 года назад

      Там вроде поддержка платная? Если приплюсовать жесткость его архитектуры то как то боязно его брать.
      Мне кажется еще не время "жестких" фреймворков на node.

  • @rudinandrey
    @rudinandrey 2 года назад

    про уволился. скажу что сделали все не так, уволят, поэтому сам уволился. :))) я интервью кажется у Дудя, но не помню про инвесторов в силиконовой долине видел. И они там относятся более серьезно к бизнесменам, у которых уже были фейлы в бизнесе, т.е. те, которые уже разорялись, типа у них УЖЕ есть опыт, и они ошиблись уже в этом, и скорее всего сделали выводы и в этом же месте ошибаться не будут. Понятно, что может быть дальше ошибки, но другие. Все эти ошибки, которые еще не открыты, их еще предстоит открыть. Но суть та же. В IT тоже самое, ты что-то делаешь, сделал одну ошибку, делаешь другим способом, и так пока на найдешь наилучший способ. Хорошо, когда это происходит в большой компании, понятно что это как бы стоит денег, но бизнес идет, деньги на разработку выделяются, понятно что не пилятся новые фичи, но так или иначе часть финансов идет на обслуживание. И на эти же деньги можно делать по другому. В общем зря уволился я хочу сказать :) ты бы наоборот усилил команду своими новыми знаниями. В нашем деле ресерч все таки важная часть работы.

    • @AndreyMelikhov
      @AndreyMelikhov 2 года назад +3

      Да это же шутка была, просто так совпало, что захотелось погулять, посмотреть как в других компаниях решают схожие задачи. Сидя на одном месте развиваться гораздо сложнее.

  • @edmand46
    @edmand46 2 года назад +2

    В итоге, мы получаем - чтобы было проще надо отказаться от фреймворков и написать свой нест только с другим DI, валидатором, чтобы было проще новым людям, звучит логично

    • @AndreyMelikhov
      @AndreyMelikhov 2 года назад +2

      Нет, взять более простой и быстрый фреймворк (который уже лежит под капотом у nest), валидатор у него ajv из коробки, а в DI можно класть только то, что требует инициализации (а это довольно небольшой пласт). И мы получим простой и понятный код, без магии и неожиданностей.

    • @erkinaltai
      @erkinaltai 2 года назад

      Андрей вроде не предлагает отказаться от фреймворков, а использовать fastify.
      Ну а уже над ним пилить свой IoC контейнер или взять готовый.

    • @AndreyMelikhov
      @AndreyMelikhov 2 года назад +2

      Я не предлагаю пилить, я предлагаю взять самый простой, без декораторов но с хорошей типизацией. Или даже отказаться от контейнера, если нет ясного понимания выигрыша от его наличия.

    • @edmand46
      @edmand46 2 года назад

      @@erkinaltai он предлагает отказаться от неста, в пользу фастифай

    • @edmand46
      @edmand46 2 года назад

      @@AndreyMelikhov более простой и быстрый это фастифай вместо экспресса или о чем речь?

  • @artyomsultanov5204
    @artyomsultanov5204 2 года назад +1

    Обосрали express >:(

    • @waldemarkunz9173
      @waldemarkunz9173 2 года назад +7

      Нагажено в самом express, а тут объяснили откуда воняет

    • @jetsker6388
      @jetsker6388 2 года назад

      @Станислав Морозов ну а как еще, не в сервисах же все описывать) Иногда можно их использовать. По сути эти гарды, фильтры тот же миделвар