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

แชร์
ฝัง
  • เผยแพร่เมื่อ 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 и гавно предстанет перед тобой ограненным алмазом!

  • @K2_PS
    @K2_PS 2 ปีที่แล้ว +4

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

  • @Roman-of9pl
    @Roman-of9pl 2 ปีที่แล้ว +4

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

  • @VanyaMate
    @VanyaMate 10 วันที่ผ่านมา

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

  • @Алексей-ъ2ч8э
    @Алексей-ъ2ч8э 3 หลายเดือนก่อน

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

  • @promax866
    @promax866 2 ปีที่แล้ว +3

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

  • @alexandrkositsky7698
    @alexandrkositsky7698 ปีที่แล้ว +1

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

  • @СергейРодин-ю3ъ
    @СергейРодин-ю3ъ 2 ปีที่แล้ว +8

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

  • @Изи-ю6г
    @Изи-ю6г 2 ปีที่แล้ว +20

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

    • @vancheloChanel
      @vancheloChanel 2 ปีที่แล้ว

      😂

    • @waldemarkunz9173
      @waldemarkunz9173 2 ปีที่แล้ว

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

    • @vladcid3938
      @vladcid3938 2 ปีที่แล้ว +4

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

    • @TimurSevimli
      @TimurSevimli หลายเดือนก่อน

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

  • @natashkinsasha
    @natashkinsasha 5 หลายเดือนก่อน

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

  • @me29_hi8
    @me29_hi8 ปีที่แล้ว

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

  • @PutlerXLO
    @PutlerXLO ปีที่แล้ว +1

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

  • @andreysakharov6210
    @andreysakharov6210 ปีที่แล้ว

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

  • @andreyyastrebtsov4367
    @andreyyastrebtsov4367 ปีที่แล้ว

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

  • @armenchik_dzhan
    @armenchik_dzhan 2 ปีที่แล้ว

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

  • @327Spike
    @327Spike ปีที่แล้ว

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

  • @s9219871110
    @s9219871110 2 ปีที่แล้ว

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

  • @Nikita-hy8vt
    @Nikita-hy8vt 2 ปีที่แล้ว +2

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

  • @vladislavderzhavin2065
    @vladislavderzhavin2065 ปีที่แล้ว

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

  • @cdeblog
    @cdeblog ปีที่แล้ว

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

  • @aliday9968
    @aliday9968 2 ปีที่แล้ว

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

  • @ВалентинаСахарова-ь3б
    @ВалентинаСахарова-ь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. Тайпскрипт не запрещает.

  • @rudinandrey
    @rudinandrey 2 ปีที่แล้ว

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

    • @AndreyMelikhov
      @AndreyMelikhov 2 ปีที่แล้ว +3

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

  • @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.

  • @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 ปีที่แล้ว

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