Как стартовать новый проект в 2023 году?

Совсем не давно вышел Vite конкурент create-react-app, но он не появился в рекомендациях на сайте React, но так же и create-react-app убрали из рекомендаций. Попробуем вместе разобраться, как стартовать проект в 2023 году!
create-react-app коммиты - github.com/facebook/create-re...
react документация - react.dev/learn/start-a-new-r...
твит от Дэна Абрамова - / 1636886736784457734
gist от Дэна Абрамова - gist.github.com/gaearon/9d6b8...
Поддержать Айти Синяка можно здесь:
KZread: / @it-sin9k
boosty: boosty.to/sin9k
Patreon: / itsin9k
00:00 Анонс темы
00:44 create-react-app и Vite не бест практис
01:24 Что же рекомендует React team?
03:18 А как же SPA?
04:25 Спасательный круг от Дэна Абрамова
05:25 Тестируем спасательный круг
08:30 Итоги
10:10 Подписывайтесь!
Подписаться на канал: / @it-sin9k
Twitter: / it_sin9k
-------------------------
Данный канал создан для инициирования бесед на различные темы IT сферы (социальные / технические), а также для тех кому короткая видео выжимка статьи, выступления на конференции или же просто личных мыслей, являются более удобным форматом

Пікірлер: 281

  • @IT-Svyatoslav
    @IT-Svyatoslav10 ай бұрын

    Супер Синяк👍 Низкий поклон тебе и твоим помощникам❤

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    Спасибо что уже 2 года с нами!)

  • @user-ei6wy1ew9f
    @user-ei6wy1ew9f10 ай бұрын

    Спасибо за разбор, как всегда интересно. Коммент и лайк для продвижения видоса.

  • @dyingroseband
    @dyingroseband10 ай бұрын

    Ещё следует отметить, что у некста есть 2 подхода к разработке: app (RSC) router и page router. На странице документации некста есть выбор нужного варианта. Ещё больше вариантов, ещё больше путаницы.

  • @d3i0

    @d3i0

    10 ай бұрын

    Ну старый подход с pages оставлен скорее для совместимости и миграции я думаю

  • @ooshkapooshkin8048

    @ooshkapooshkin8048

    10 ай бұрын

    да, всего 5 стратегий отрисовки пользовательского интерфейса) не большинство людей будет интересовать CSR (client side rendering - SPA), SSR (server side rendering - с папками pages...) и новый RSC (react server component - с папкой app и стримингом и кешированием запросов - тут будьте аккуратны, можно поймать интересный баг)

  • @eugenemedvedevwebdev219
    @eugenemedvedevwebdev21910 ай бұрын

    Спасибо за контент

  • @xxcrypt234
    @xxcrypt23410 ай бұрын

    ура новый видос geeeet dunked onnn!!

  • @yauhenitsur1708
    @yauhenitsur170810 ай бұрын

    SSR и SPA это не противоположные вещи, это тёлое и мягкое. Приложение может являться SPA как с SSR, так и без SSR. Рекомендую разобраться в терминах SPA/MPA, CSR/SSR.

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    так вроде и не противопостовлял их никто тут)

  • @yauhenitsur1708

    @yauhenitsur1708

    10 ай бұрын

    @@it-sin9k На 02:27: "Получается, реакт-команда перестала рекомедовать SPA, пользуйся SSR". На 03:21 противопоставление снова. На 03:35. И так далее. Собственно, видео кишит "А что же выбрать, SPA или SSR", что является ложной дихотомией.

  • @izzei-1614

    @izzei-1614

    10 ай бұрын

    @@it-sin9k вы в видео и противопоставили, у вас путаница в понятиях, которую вы разносите на вашу аудиторию, теперь каждый второй зритель канала тут пишет SPA vs SSR, что полный бред

  • @dididie158

    @dididie158

    10 ай бұрын

    Ты душнила просто

  • @dididie158

    @dididie158

    10 ай бұрын

    @@yauhenitsur1708там пользуясь, а не прямое указание, глухня

  • @anton-trofimov
    @anton-trofimov10 ай бұрын

    Про динамический роутинг - год назад столкнулся с этим в nuxt, ты просто статику отдаешь и все, ведь видно из файлов, что они создались под конкретный id. Поэтому либо спа, либо сервак поднятый, иначе никак. Для статичных сайтов только пойдет, которые один раз сделали и забыли

  • @arman-6172
    @arman-617210 ай бұрын

    1. Nextjs после первого открытия страницы (любой) ведет себя как spa с динамическими модулями. При переходе страница не перегружается, а перерисовывается. 2.Нужно было дочитать доку про динамический роут, когда можно указать что делать если такого файла в папке нет, вот там можно и указать что любой путь будет открывать основной компонент, а дальше уже делаешь что хочешь в этом компоненте.

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    Спасибо, обязательно перечитаю доку)

  • @d3i0

    @d3i0

    10 ай бұрын

    "будет открывать основной компонент, а дальше уже делаешь что хочешь в этом компоненте" - т.е. вы предлагаете туда другой роутер ещё запихать? смысл тогда от next как-то теряется немного

  • @Infinity-zf8ms
    @Infinity-zf8ms7 ай бұрын

    Спасибо

  • @krypton5204
    @krypton520410 ай бұрын

    Мне лично очень нравится vite. Хотя мое мнение ой какое не экспертное, но всё же :D

  • @StarkElessar

    @StarkElessar

    10 ай бұрын

    чем он тебе нравится, расскажи плиз :)

  • @baileysli6235
    @baileysli623510 ай бұрын

    Попал в телевизор, аж два раза :D Если нужен статический сайт с динамикой поверх, то рекомендую присмотреться к Astro.

  • @mr.zxzxzxz3816
    @mr.zxzxzxz381610 ай бұрын

    спасибо

  • @aspirine17
    @aspirine1710 ай бұрын

    Так динамический роут работает так же как в спа реакте, ты же не генерируешь все страницы сразу для каждого юзера а получаешь параметр с роута и делаешь запрос, если не экспортить то это работает таким же образом. А эта прегенерация роутов нужна немного для другого, например у тебя есть разные языки на сайте которые просто вписаны в путь, это тоже динамический роут, но их ограниченное количество, тогда ты можешь сгенерировать для них статический html уже на этапе билда используя get static path. При этом ты все еще можешь получить параметр с роута в пропсы и сделать запрос за данными так же как это делается в спа. Считаю что ты вводишь в заблуждение в этом моменте upd. Это же прям в гисте Дэна есть

  • @palyanytsia

    @palyanytsia

    10 ай бұрын

    Можно линку на гист?

  • @aspirine17

    @aspirine17

    10 ай бұрын

    @@palyanytsia В обычном спа на реакте без некста как решаются динамические роуты? Ты получаешь с урла userId и делаешь запрос 'backend/user/${userId} и потом рендеришь на странице В некс как спа, как показал синяк в видосе это делается точно так же, тебе не надо мапить все айди в функцию что бы сделать страницу под каждого юзера, в page передается значение динамического роута как параметер автоматически, тебе даже не надо его как то доставать. Потом ты делаешь fetch(userID) или как угодно иначе. Все абсолютно так же как в обычном СПА, ноль разницы и ноль проблем Гист есть в описании видео синяка, я не уверен что могу вставлять ссылки. Там немного старый некст но суть таже ты получаешь с роута айди, делаешь запрос и рендеришь его на странице. Динамически как в СПА. Дэн как раз это и показал своим постом.

  • @AmadeusTwi
    @AmadeusTwi10 ай бұрын

    Насколько я знаю, CRA превратят в Launcher, а Next.js с Pages роутером позволяет по сути имитировать работу SPA при помощи компоненты. 🤔

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    а можно подробнее про Launcher?

  • @valera924
    @valera92410 ай бұрын

    Это же SSR AOT, видится полезным в первую очередь для SEO

  • @timwin47
    @timwin4710 ай бұрын

    в nginx настроить просто что бы читал все файлы html в папке с проектом, вот в 23м начал чисто MPA использовать

  • @TheTexPro
    @TheTexPro10 ай бұрын

    Спасибо большое за новую инфу!

  • @boldureans
    @boldureans10 ай бұрын

    Спасибо за видео! Да, Vite сейчас единственное нормальное решение для SPA)

  • @golden_smiles

    @golden_smiles

    10 ай бұрын

    Vite хорошая штука, но SPA это не только React, а "нормальное" - понятие растяжимое. Next вполне справляется, просто на видео выше это незаметно.

  • @velikorossnationalist4259
    @velikorossnationalist425910 ай бұрын

    У vite постоянно какие-то проблемы. Немогу настроить react-testing-library в нем. Если можете снимите пожалуйста видео о тестировании и настройках этой библиотеки в vite+react

  • @nade3282

    @nade3282

    10 ай бұрын

    это не у vite проблемы, а у тебя

  • @BOCbMOU

    @BOCbMOU

    10 ай бұрын

    А как связаны вит и тесты?

  • @alexeysvetlenko2217
    @alexeysvetlenko221710 ай бұрын

    Супер

  • @Elijah_Pavlov
    @Elijah_Pavlov10 ай бұрын

    Сколько помню CRA его всегда не рекомендовали, используйте свою сборку для SPA, по сути это настройка webpack, остальное это доп настройки как раз под нужны проекта. Если не нужен SPA то next js кажется хорошим решением.

  • @izzei-1614

    @izzei-1614

    10 ай бұрын

    nextjs - это и есть spa, но с ssr

  • @alenache1

    @alenache1

    10 ай бұрын

    в смысле "не рекомендовали", ссылка на crа висела на официальном сайте Реакта и в туториале там же crа как раз РЕКОМЕНДОВАЛСЯ 😁

  • @Elijah_Pavlov

    @Elijah_Pavlov

    10 ай бұрын

    @@alenache1 Не рекомендовался пользователями которые столкнулись с проблемой кастомизации настроек под свой проект.

  • @alenache1

    @alenache1

    10 ай бұрын

    @@Elijah_Pavlov а в чем проблема скачанное через crа кастомизировать под себя? удалить что не надо, докачать что надо, джейсон переписать?

  • @Elijah_Pavlov

    @Elijah_Pavlov

    10 ай бұрын

    @@alenache1 И зачем тогда нужен cra? 😁 Не проще ли сразу под себя настроить?

  • @pavel_er
    @pavel_er10 ай бұрын

    среди рекомендаций заметил Gatsby - для него не надо ноды на сервере, можно статику раздавать.

  • @meded90
    @meded9010 ай бұрын

    Уже год использую Вит на продакшен проекте. 0 нареканий как глоток свежего воздуха после веппака

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    Буквально читал другой коммент, где описывали проблемы Vite и юнит тестирования :( Но с большего я согласен, что все проблемы люди решили)

  • @baileysli6235

    @baileysli6235

    10 ай бұрын

    @@it-sin9k странно. В экосистеме Vite есть Vitest, который обычно очень хвалят

  • @BOCbMOU

    @BOCbMOU

    10 ай бұрын

    @@it-sin9k откровенно говоря в том комментарии проблема в человеке, а не в инструменте. Вит не запускает тесты. Да, есть витест, но это лишь юнит тест фрекймворк для вита, никто не мешает использовать тот же джест, к примеру. Но самое главное другое: я уже использовал вит в двух проектах, в обоих ставил витест и тестинг лайбрари, и всё работает без каких-либо проблем.

  • @izzei-1614

    @izzei-1614

    10 ай бұрын

    @@it-sin9k какие могут быть проблемы vite с юнит тестированем? Это как связано может быть?

  • @alexey_3155

    @alexey_3155

    10 ай бұрын

    @@izzei-1614 мб нет нужных дополнительных либ, если с jest'a переезжали + вижу проблему, что vite сейчас ~0.34 версии, к 1.0 много breaking changes может случиться, а jest +- стабильный.

  • @fromillia
    @fromillia10 ай бұрын

    Годный у тебя контент. Не понятно почему подписоты за почти 4 года так мало.

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    Спасибо!) Думаю проблема в том, что мы не запускали никакой рекламы на канал) чисто органически растем))

  • @Xelson1337
    @Xelson13373 ай бұрын

    Еще интересно, что у Remix тоже недавно появился SPA-mode, что на выходе даёт приложение как vite + react-router, но с фишками Remix (например, file-based роутинг, автоматический код-сплитинг роутов, предзагрузка роутов через Link и т.п)

  • @it-sin9k

    @it-sin9k

    3 ай бұрын

    интересно есть ли там ограничения. Например работают ли динамические роуты

  • @Xelson1337

    @Xelson1337

    3 ай бұрын

    @@it-sin9k судя по документации, ограничений на динамические роуты нет. Оно и не мудрено, реакт-роутер ведь изначально клиентский, в отличии от роутера некста

  • @Vlad-lo3in
    @Vlad-lo3in10 ай бұрын

    использовал cra только когда учил react, у нас на новых проектах next используется - очень простой в использовании, ещё как плюс у них из коробки всё настроено и работает (для быстрого старта чего-то нового то что нужно), так же в новых версиях, на сколько я помню, они позволяют заменить webpack на swc, что должно ускорить сборку

  • @yura3d3d

    @yura3d3d

    10 ай бұрын

    Не webpack, а babel на swc. А в последнем Next.js (13) в деве как experimental feature доступна замена webpack на turbopack (аналог vite от разработчиков webpack)

  • @user-pc5xt3gc7z

    @user-pc5xt3gc7z

    10 ай бұрын

    Не то чтобы некст сложный но и "очень простой" тоже не про него не в части трудности а в части именно простоты (отсутствия лишнего) Переписал когда был хайп по нексту свой проект с КРА на некст.... да в начале казалось что писать больше но зато вот тебе одна фича вот другая... в итоге поигравшись переписал все на отдельные бекенд и фронт т.к. ССР мне на проекте нафиг не нужен и соотвесно все связанные фичи некста становятся лишними и мешаются под пальцами кодера)) ну и плюс отдельные специфичные некстовские траблы с кешем и пр

  • @alexs7931
    @alexs793110 ай бұрын

    я так понял видео про статический генератор сайтов(типа хостинга github pages)? или это как модули в ангуляр, когда фунционал разбит на отдельные js файлы?

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    изначально я прочитал твит Дэна про как сделать SPA на Next.js и провел эксперимент, а потом поделился, что нарыл) Я думал, мб они запилили замену SPA полноценную, но пока кажется что нет

  • @alexs7931

    @alexs7931

    10 ай бұрын

    @@it-sin9k я видел раньше вроде похожее, в рамках видео про seo для spa wpa , то есть без сервер рендеринга ssr. генерится куча статики для индексации поисковиком короче.

  • @alexs7931

    @alexs7931

    10 ай бұрын

    @@it-sin9k вспомнил, видео было про Astro js, и его медод GetStaticPaths и то, как он из него генерит статический сайт SPG.

  • @victormog
    @victormog10 ай бұрын

    CRA уже больше года выдаёт какие-то странные варнинги при dev start... Сколько ни гуглил решения так и не нашёл. Но в остальном работает с виду нормально.

  • @oralbek_tleubayev
    @oralbek_tleubayev10 ай бұрын

    👍👍👍

  • @user-nj9yu4dd8p
    @user-nj9yu4dd8p10 ай бұрын

    Спасибо!

  • @kaiserfedor
    @kaiserfedor10 ай бұрын

    Как стартовать проект в любом году зависит от проекта и от условий в которых вы его начинаете. Если у вас сжаты сроки, то берите инструмент, который вы уже знаете (если этот инструмент решает поставленные перед проектом задачи). Иначе рискуете сорвать сроки потратив время на изучение нового инструмента. Если есть время поэкспериментировать с инструментами, то тут уже открывается широкий простор. Но если вы хотите, чтобы у вас все было как раньше (как в CRA) то зачем вам новые инструменты? :) То что CRA не развивается, не значит, что оно не работает. К тому же, часто чтобы использовать новые инструменты, надо еще перестроить майндсет. А то люди берут Next и пытаются сделать из него CRA, зачем? :) По поводу некста - на нем можно делать SPA, а SSR это лишь одна из множества фичей которые дает некст. Если какие-то фичи вам не нужны - просто не используйте их :) По поводу гиста Абрамова и твоего примера - они отличаются. У Абрамова вполне себе динамически загружается контент по id. А у тебя полный SSG. Опять же пример Абрамова это не 100% как в CRA, но если это критично, то смотри поинт выше :)

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    вот я и вглядывался в этот Гист так и не понял, что там было не так. Можете чуть подробнее раскрыть тему, как сделать динамические роуты?

  • @kaiserfedor

    @kaiserfedor

    10 ай бұрын

    так там же в самом гисте написано: But if you look at what Next.js generated, it's an HTML file per route: out/index.html out/404.html out/stuff/[id].html So you'd need to teach your static server to do this rewrite: rewrite / to out/index.html rewrite /stuff/whatever to out/stuff/[id].html Но я повторюсь, это не совсем то, что было в CRA и могу предложить не пытаться натянуть сову на глобус и просто не использовать в нексте SSR, если уж так не хочется, и будет вам из коробки SPA c кучей возможностей. А сверху еще досыпать nx

  • @deshtechno
    @deshtechno10 ай бұрын

    Запилить свой шаблон стартового проекта тоже вполне норм. Для роутинга react-router. За одно дополнительная гибкость без костылей, как у CRA.

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    помню эти времена, когда были десятки шаблонов стартовых) и create-react-app стал серебрянной пулей) а теперь опять))

  • @deshtechno

    @deshtechno

    10 ай бұрын

    @@it-sin9k тут всё дело только в том, что на сайте реакт рекомендуют. Был рекомендован CRA, поэтому популярность, несмотря на то, были ли более удачно сделанные другие шаблоны, или нет.

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    не) в те времена мы выбирали CRA не потому что на сайте был указан, а то что все сборки быстро устаревали, а за CRA присматривали, постоянно развивали, и уверенность была в том, что поддержка будет) но вот поддержка и закончилась)

  • @nexgenua
    @nexgenua10 ай бұрын

    Где то углу сидят и потирают руки ануглярщики и вьюеры 😂

  • @WebBestMaster
    @WebBestMaster10 ай бұрын

    а что мешает самому настроить веб пак и не юзать CRA or Vite?

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    ну тут несколько поинтов: насколько хороши вы в настройке веб пака, так как я видел много неудачных настроек webpack, а так же второе на все это требуется дополнительное время, которого вечно не хватает)

  • @WebBestMaster

    @WebBestMaster

    10 ай бұрын

    @@it-sin9k я не хвастаюсь, но я юзаю вебпак с первой версии и всегда настраиваю его сам, так что мне это не проблема, я не понимаю почему у других это проблема (( куча туториалов на Ютубе, да и начиная с 4ой версии вебпак стал реально дружелюбнее для пользователя

  • @ooshkapooshkin8048
    @ooshkapooshkin804810 ай бұрын

    вообще все приложения в компании пилим с NextJS, в 80% случаев его переделываем на SPA за 5 минут и ничем не отличается он от CRA, только версия реакта актуальная, как и остальных пакетов и фишки некста есть, по типу оптимизации картинок и т д

  • @user-qu4ld3hs9r
    @user-qu4ld3hs9r10 ай бұрын

    А что если докинуть react-router в nextjs и использовать только pages/index как ?

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    а зачем тогда NextJS?)

  • @TheHellishFrog
    @TheHellishFrog10 ай бұрын

    Вот только удобно и безбажно развернуть реакт-приложение SSR на фреймворке удасться только с использованием подготовленного хостинга - типа Netlify, Vercel, Heroku и т.п. На свой личный сервер развернуть будет куда сложнее - что наводит на мысль о договорнячке.

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    а почему сложно его развернуть на своем хостинге? по идее в CI в докер засунул и через докер хаб заливай куда хочешь

  • @TheHellishFrog

    @TheHellishFrog

    10 ай бұрын

    @@it-sin9k Мое субьективное ощущение - основанное на практическом опыте и чтении очень куцой документации которую Версел дает для развертывания на своих серверах. Оговорюсь что развертывал я под pm2 - на 2$ VPS от ОVH - куда Докер влезть не может по системным требованиям.

  • @struggle-inc
    @struggle-inc10 ай бұрын

    Next JS - SPA с удобными инструментами для SSR, SSG, ISR, в котором так же можно использовать CSR Next js - совершенно другой уровень, выше и качественнее

  • @igorkushnir4966
    @igorkushnir496610 ай бұрын

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

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    Да, можно) но если у тебя 1000-чи пользователей, интересно сколько оно будет билдить приложение) а потом 1000-чи товаров) 1000-чи услуг и т.д.)

  • @igorkushnir4966

    @igorkushnir4966

    10 ай бұрын

    @@it-sin9k да, у меня на одном проекте 1200 статей, то билдится минут 15

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    @@igorkushnir4966 прикольный опыт)

  • @chikenmacnugget
    @chikenmacnugget10 ай бұрын

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

  • @nctay
    @nctay10 ай бұрын

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

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    А можете поделиться подробнее как ведете проект?

  • @user-nj9yu4dd8p

    @user-nj9yu4dd8p

    10 ай бұрын

    Как решаете озвученную синяком проблему динамических роутов?

  • @paemox

    @paemox

    10 ай бұрын

    Слышал есть способ использовать React Router, а для SSG - Next.js, но не пробовал. Интерестно, как вы реализовали это?

  • @izzei-1614

    @izzei-1614

    10 ай бұрын

    Мое мнение: это ужасный использования nextjs, потому что в нем возможности конфигурации нулевые, прямо как у cra

  • @kaiserfedor

    @kaiserfedor

    10 ай бұрын

    @@it-sin9k я думаю прямо так, как это написано в документации некста :) по крайней мере мы так делаем

  • @fr0ntsmaverick
    @fr0ntsmaverick10 ай бұрын

    Интересно как теперь будет React развиваться без Дена Абрамова. Просто есть еще один проект от React Reson. Так проект Reson был заброшен.

  • @user-yw9wx4lv2w

    @user-yw9wx4lv2w

    10 ай бұрын

    так же как и с ним) Абрамов был далеко не главным ментейнером. Он скорее был публичным лицом

  • @fr0ntsmaverick

    @fr0ntsmaverick

    10 ай бұрын

    @@user-yw9wx4lv2w если так так это хорошо

  • @_cstrp7905
    @_cstrp790510 ай бұрын

    вайт \ вит, да какая разница, как ты его не назовешь, хуже он работать не станет :D но забавно, за видос спасибо

  • @aleksandrnikitin7360
    @aleksandrnikitin736010 ай бұрын

    Можно создать один [...pages].tsx в папке pages, это редирект со всех роутов в этот файл. И здесь юзать react router вместо Next router. Только зачем?? В чем смысл делать SPA, если Next с SSR в разы лучше?

  • @paemox

    @paemox

    10 ай бұрын

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

  • @izzei-1614

    @izzei-1614

    10 ай бұрын

    @@paemox Откуда такой поинт, что он последующие загрузки увеличивает?

  • @paemox

    @paemox

    10 ай бұрын

    @@izzei-1614 Нет, React Query позволяет более гибко кешировать данные чем Next.js.

  • @aleksandrnikitin7360

    @aleksandrnikitin7360

    10 ай бұрын

    @@paemox React Query кеширует данные только на клиенте. Раз уж упомянули, то его и в Next js использовать можно (нужно). У него есть интеграция под Next.js, что позволяет сделать комбинацию SWR (кеш на клиенте) + ISR (кеш динамических роутов на сервере). Доп. слой кеша на сервере как ни крути ускорит загрузку страницы за счёт уже пререндереной части (или даже полной страницы) HTML.

  • @aleksandrnikitin7360

    @aleksandrnikitin7360

    10 ай бұрын

    @@paemox Не стоит недооценивать важность SSR, несколько знакомых писали проекты изначально на SPA, без него т.к. думали что в их случае ну точно лишнее, в итоге в одном месте он все таки понадобился. Какой выход из этой ситуации? Либо писать ещё одну апку как микросервис либо переписывать на Next или ему подобные ВСЁ приложение. А можно было просто стартануть с Next изначально. Я не говорю что минусов у него нету. Один большой минус есть, и это скорость hot reload в разработке, до 2 сек на больших проектах. Ну и наверно в каких-то супер редких случаях он будет вреден. В остальном в 2023 Next js это база

  • @AlexanderBorshak
    @AlexanderBorshak10 ай бұрын

    В общем, в топку реакт. Задолбало. То у них API раз в три месяца меняется, то уже SPA им не нужен. Буду на jQ писать ))

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    Топчик)

  • @Maxim9575

    @Maxim9575

    10 ай бұрын

    о боже не обновляли СПА - пиздец... депрессия что же делать??????? как наркоманы ей Богу, если инструмент исправно выполняет свои обязанности это не значит что им надо перестать пользоваться только потому что нет каких-то обновлений.

  • @pataponchik3

    @pataponchik3

    10 ай бұрын

    ​@@Maxim9575ну че ты к шутке пристал, а

  • @nade3282

    @nade3282

    10 ай бұрын

    @@Maxim9575 "исправно выполняет" ну тут бы я поспорил))

  • @olezhonnv3215

    @olezhonnv3215

    10 ай бұрын

    У меня на жквери СПАшки легко получались. Императивненькие такие.

  • @user-fh4rb6kq6w
    @user-fh4rb6kq6w10 ай бұрын

    Режим экспорта это Static Site Generation, из названия понятно зачем он нужен

  • @animekontororu9996
    @animekontororu999610 ай бұрын

    И точно так же добавят i18n решения(react-i18next / next-i18next) для next с export. Или не добавят. Ой.🧐

  • @user-kd5ul8qq3v
    @user-kd5ul8qq3v10 ай бұрын

    Вобщето Vite как раз и рекомендут для простых проэктов. Об этом написано на сайте

  • @liganshow
    @liganshow10 ай бұрын

    Разве приложение next js на фронте не работает как spa?

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    смотря что вы вкладываете в фразу spa

  • @liganshow

    @liganshow

    10 ай бұрын

    @@it-sin9k то, что при роутинге по странице, я не запрашиваю html у сервера, собственно и релоад страницы не происходит. Я имел ввиду, что в браузере приложение на next js работает как обычное react приложение

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    при стандартном использовании да) только первый экран загружается с помощью html, а потом все по классике)

  • @sergeykahnwald6640
    @sergeykahnwald664010 ай бұрын

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

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    У меня есть видео) где я пытался сделать тоже самое на продакшен проекте)) и тоже самое получил в итоге))

  • @lalalashka825
    @lalalashka82510 ай бұрын

    Интересно что команда React не рекомендовала Qwık , Astro и Swelte .Но рекомендовала Remix 🤔🤔🤔

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    а Remix команда делает еще react-router-dom, мне кажется у них больше точек соприкосновения)

  • @STELLS541
    @STELLS54110 ай бұрын

    Cra сейчас конечно уже выглядит не оч, а вот вит выглядит вполне амбициозно, но как будто вит ещё пока сыроват и вебпак в этом плане более гибкий, и под него больше всего.

  • @sagvel559
    @sagvel55910 ай бұрын

    Так как бы cra всегда был рекомендацией в целях обучения. А теперяшний курс использовать Next Js немного странный.

  • @alex-will-explain
    @alex-will-explain10 ай бұрын

    А почему нельзя просто собрать проект с нуля? Поставить react, react-dom и так далее?

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    Можно) раньше так и делали) и всех это так утомляло, что начали пилить темплейты готовые для старта, а потом выпустили create-react-app, который был самым топовым темплейтом и все на него подсели)

  • @michaelmorosov447
    @michaelmorosov44710 ай бұрын

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

  • @romanmed9035
    @romanmed903510 ай бұрын

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

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    а что вы называете логотипом?) и совместный проект с кем? а прокачать в каком направлении? именно сборки?

  • @romanmed9035

    @romanmed9035

    10 ай бұрын

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

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    логотип на майке просто картинка из интернета) А проект прокачать со стороны сборки можно в данном случае только если сделать eject и изучать как работает webpack и улучшать использование лодеров :)

  • @romanmed9035

    @romanmed9035

    10 ай бұрын

    @@it-sin9k спасибо. но не сборку хочется качать. а внутреннюю реализацию.

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    @@romanmed9035 посмотри видео про паттерны на канале, может натолкнет на какие то мысли :) kzread.info/head/PLz_dGYmQRrr8tvi1XGFxLJilUCQQQNj9K

  • @alenache1
    @alenache110 ай бұрын

    да, видно было в последнее время, что Ден перегорел, интересно чем будет заниматься после ухода

  • @DagestanShop
    @DagestanShop10 ай бұрын

    а не легче просто через вебпак настроить спа

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    свой велосипед всегда можно сделать если есть желание)

  • @NoName-oh9fh
    @NoName-oh9fh10 ай бұрын

    Я жду когда наконец то в реатке доработают backend in frontend. В nextjs это уже есть в альфа версии.

  • @Andrq122

    @Andrq122

    10 ай бұрын

    Опять в MVC скатываться, нет уж увольте.

  • @d1mas1k2KA
    @d1mas1k2KA10 ай бұрын

    Я так понимаю next js это уже новый уровень веб разработки и стоит уже на нём учиться писать?

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    Да, все больше вакансий вижу на Next.js. Я бы присмотрелся)

  • @anatolysokolov
    @anatolysokolov10 ай бұрын

    мне кажется, что может быть такая вероятность, что Vite не рекомендуется из за того, что его сделали разрабы Vue :) а еще не энжинкс, а энжайнэкс :р

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

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

  • @ko22012
    @ko2201210 ай бұрын

    Еще интересно взлетит ли inertiajs, laravel интегрировался с ней. По мне интересная вещь, которая позволяет не отказаться от привычного фреймворка на php, но при этом получить серверный рендеринг и vue или react.

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    Прикольно) надо поизучать)

  • @oWeRQ666

    @oWeRQ666

    10 ай бұрын

    Давно существует, если ничего координально не поменялось, объединяет все минусы SPA и все минусы SSR, нет индексации поисковиками и есть сложная связка, единственный плюс не надо думать об апи.

  • @artemos_tver

    @artemos_tver

    10 ай бұрын

    ​@@oWeRQ666 не надо думать об API - сомнительный плюс

  • @oWeRQ666

    @oWeRQ666

    10 ай бұрын

    @@artemos_tver Это решение для бекендеров, которые привыкли собирать все данные в кучу и рендерить их через шаблоны, как переходный вариант - может подойти, начинать с этого явно не стоит.

  • @nikewhite4471
    @nikewhite44719 ай бұрын

    "Как стартовать новый проект в 2023 году?" Стартуем без заморочек с Astro framework.

  • @it-sin9k

    @it-sin9k

    9 ай бұрын

    Надо будет познакомиться с этим фреймворком) Что то новенькое!)

  • @VirusTr0yan
    @VirusTr0yan10 ай бұрын

    Мама, я в телевизоре)

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    ахахахахха

  • @KGZVER
    @KGZVER10 ай бұрын

    Я всегда использую Next JS как стандарт в разработке за счет ее стандартизированного роутинга. А SSR, SSG это как приятный бонус. По сути единственный минус что показано в видео (нету статики) не является актуальным в большинстве случаев, ведь проект мы все равно разворачиваем на серваке с установленным Node.

  • @paemox

    @paemox

    10 ай бұрын

    У React Router более гибкий роутинг чем в Next, также есть в разработке TanStack Router.

  • @TupoiDebil

    @TupoiDebil

    10 ай бұрын

    @@paemox О, TanStack Rouer топ. Вообще, будущее за такими роутерами как он, имхо.

  • @user-ty8ms7md5x

    @user-ty8ms7md5x

    9 ай бұрын

    Astro быстрее Next JS

  • @paemox

    @paemox

    9 ай бұрын

    @@user-ty8ms7md5x JavaScript быстрее Astro.

  • @den-rad
    @den-rad10 ай бұрын

    Back to uSSR ;)

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    Хорош)

  • @stanislavrodionov4008
    @stanislavrodionov400810 ай бұрын

    Я думаю новое приложение надо стартовать с htmx на фронте и Rust на беке. А вот эта ботва со сборкой скриптовых языков какими-то кривыми бандлами уже порядком надоела. Делать проект без бекенда и бд, чисто на хтмл статике нет смысла. Так что вопрос лишь в том как избежать лапшеобразного кода на фронте и неоправданно сложного пайплайна сборки проекта.

  • @mur3636

    @mur3636

    10 ай бұрын

    С htmx будет лапши еще больше. Задолбаешься поддерживать. Бросай пока не поздно.

  • @grenadier4702

    @grenadier4702

    9 ай бұрын

    Rust для бека - не слишком ли запарно? Менеджить память вручную это излишне для веб-сервера

  • @NeoCoding
    @NeoCoding10 ай бұрын

    с другой стороны про cra - зачем трогать что работает?😄

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    так то оно так) вопрос только в том, что мир не стоит на месте и выходят новые вебпаки esbuild и т.д. и т.п. и вопрос как скоро cra станет устаревшим)

  • @NeoCoding

    @NeoCoding

    10 ай бұрын

    @@it-sin9k а cra не получивший этих изменений не сможет запускать приложение?

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    сможет) но вот вышел esbuild, который может запускать проект намного быстрее. А CRA на webpack висит, и уже будет сомнение выбрать кастомную сборку с esbuild или старый добрый CRA поставить) уже выбор не всегда в пользу CRA)

  • @NeoCoding

    @NeoCoding

    10 ай бұрын

    @@it-sin9k ну знач политика в сторону упомянутых фреймворков как след ступень разв реакт

  • @BearVodkaAndValenki
    @BearVodkaAndValenki9 ай бұрын

    Команда реакта давно свернула не туда. Последние годы принимают какие-то бредовые решения и сами этого не понимают.

  • @izzei-1614
    @izzei-161410 ай бұрын

    Я не понимаю, откуда такая путаница в понятиях. Откуда взялось то, что SPA + SSR !== SPA. У нас может быть SPA + SSR, SPA + CSR, но добавление SSR не делает из SPA не SPA.

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    я вообще про MPA рассказывал) почему путаница?)

  • @izzei-1614

    @izzei-1614

    10 ай бұрын

    @@it-sin9k Next.js - это не MPA, а SPA, а вы говорили о нем в противовес SPA, хотя он и есть SPA

  • @nikm1108
    @nikm110810 ай бұрын

    переехал на nextjs :D

  • @motolife4900
    @motolife490010 ай бұрын

    Все верно, этот экспорт - кривое решение

  • @t1mee

    @t1mee

    10 ай бұрын

    Это решение для SSG, поэтому не удивительно, что для CSR оно кривое))

  • @r.chitector
    @r.chitector10 ай бұрын

    "не развивается" != "не будет работать". Думаю пора прекратить хвататься за хайповые продукты, а смотреть на инструменты, которые делают свою работу.

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    мысль хорошая) только тот же вебпак выпускает новые версии и хотелось бы, чтобы как и ранее CRA обновлялся тоже до новых версий, а не начинать новый проект, делать eject и сразу допиливать руками миграцию на новую версию webpack

  • @aleksandrkim550

    @aleksandrkim550

    10 ай бұрын

    Удачи с CRA на проде. Только если это не админка

  • @viktormoskalev2269
    @viktormoskalev22699 ай бұрын

    Год назад перешел на некст и больше не возвращаюсь ) гетсби тормознутый , не рекомендую

  • @Maximurz1k
    @Maximurz1k10 ай бұрын

    Работает - не трогай

  • @KorraCool
    @KorraCool10 ай бұрын

    Бл, знать бы че такое спа ХАХАХВХА

  • @TupoiDebil

    @TupoiDebil

    10 ай бұрын

    Девченки туда ходят, говорят

  • @bonaquazone7718
    @bonaquazone77189 ай бұрын

    На этой же странице рекомендация вита.. раскрыть нужно спойлер… впадлу читать документацию? К слову про вит.. как звучит это 1 строчка в доках.. ну ты хоть минут 5 потрать доки глянуть стартовые

  • @it-sin9k

    @it-sin9k

    9 ай бұрын

    > ну ты хоть минут 5 потрать доки глянуть стартовые ну зачем же так грубо, я понимаю, что это комментарии к KZread, но неужели тыкать и грубить незнакомым людям уже считается хорошей идеей? > На этой же странице рекомендация вита.. Разве это похоже на рекоммендацию? If you’re still not convinced, or your app has unusual constraints not served well by these frameworks and you’d like to roll your own custom setup, we can’t stop you-go for it! Grab react and react-dom from npm, set up your custom build process with a bundler like Vite or Parcel, and add other tools as you need them for routing, static generation or server-side rendering, and more. Скорее похоже на то что, если все что мы рекоммендуем вам не подходит, то есть сборщики соберите себе продукт сами.

  • @yakut54
    @yakut5410 ай бұрын

    А webpack ручками написать яиц не хватает?

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    не) как то вообще не хочется)

  • @Sheydful

    @Sheydful

    10 ай бұрын

    На текущем проекте (легаси) окромя геморроя от самописного вебпака ничего не получил.

  • @aleksandrkim550

    @aleksandrkim550

    10 ай бұрын

    Как будто года два назад видел тебя под видосами it камасутры. Как твои дела? Я рад что ты вкатился)))

  • @yakut54

    @yakut54

    10 ай бұрын

    @@aleksandrkim550 🤝 Норм вроде! Сейчас dart&flutter осваиваю ))

  • @UghurAliyev
    @UghurAliyev10 ай бұрын

    Никогда не понимал зачем нам нужен этот гребенный сервер , ведь мы делаем все хорошо на клиенте , зачем фронту сервер 😢

  • @grenadier4702

    @grenadier4702

    9 ай бұрын

    СЕО

  • @rovhul_7319
    @rovhul_731910 ай бұрын

    У некста есть ISG, что в принципе прокачивает SSG до полноценного SPA

  • @olezhonnv3215
    @olezhonnv321510 ай бұрын

    На ПХП стартуйте. Вы к этому уже приближаетесь))) Реактомартыхи - веселите все больше и больше)))

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    а вы сами себе лайк ставите под каждым комментарием) а 2 новых коммента и уже кто-то лайкнул))

  • @NeoCoding

    @NeoCoding

    10 ай бұрын

    вы какая мартыха интересно?

  • @kulikoffAS
    @kulikoffAS10 ай бұрын

    ты не понимаешь подход реакта, они просто использует те решения, которые подходят под задачи meta, spa им не подходит, это не значит что они его не рекомендуют

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    так что они на Next.js фейсбук перегоняют?)

  • @kulikoffAS

    @kulikoffAS

    10 ай бұрын

    @@it-sin9k возможно, мы же не знаем бэклог их разработки

  • @izzei-1614

    @izzei-1614

    10 ай бұрын

    @@it-sin9k Next.js это и есть SPA, вы путаетесь в понятиях

  • @user-be6bq2xs9e
    @user-be6bq2xs9e10 ай бұрын

    одно понятно - ничего не понятно...

  • @user-jt7wb3zc1m
    @user-jt7wb3zc1m10 ай бұрын

    _как стартовать новый проект в 2023 году:_ *1. выезжаем из рф/рб. 2. стартуем новый проект* парам-парам-пау 🤗

  • @grenadier4702

    @grenadier4702

    9 ай бұрын

    че к чему

  • @user-jt7wb3zc1m

    @user-jt7wb3zc1m

    9 ай бұрын

    @@grenadier4702 *Да.*

  • @AlexeyProgramming
    @AlexeyProgramming10 ай бұрын

    крч ясно, пора уходить на vue с каждым годом делают реакт сложнее и неудобнее, обрастает грязью и зависимостями как ком 💩

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    так во Vue тоже самое) везде неудобно)

  • @AlexeyProgramming

    @AlexeyProgramming

    10 ай бұрын

    @@it-sin9k ничего подобного, там свой CRA из коробки идёт и никто его вдруг дропать не собирается

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    я скорее о других проблемах) о миграции с Vue 2 на Vue 3, или миграции с Vuex на penia) много жалоб слышал на больших проектах)

  • @merovingen4546
    @merovingen45469 ай бұрын

    react - поделка из костылей, не заслуживающаяя и 10% от своей популярности

  • @it-sin9k

    @it-sin9k

    9 ай бұрын

    почему же тогда он такой популярный?) и только не говорите, что вот Vue это не поделка, а продуманный взрослый продукт))

  • @merovingen4546

    @merovingen4546

    9 ай бұрын

    @@it-sin9k не знаю как относится vue к популярности react, но это факт, react невероятно популярный и с этим приходится считатся, почему? Это реторический вопрос, так сложилось и не более того. Нет ни одной здравой причины на это, объективно-здравой причины, как бы кто какой инструмент не любил

  • @it-sin9k

    @it-sin9k

    9 ай бұрын

    ну почему же, я помню когда появился React и почему на него мы перешли целой компанией еще в 2014 году. Backbone перестал быть популярным, у него были большие проблемы. AngularJS быстро набрал популярность и подмял рынок под себя огромный, но он был неудобным и там было много проблем. Потом зарелизи React, где были демки с замерами скорости, и он был намного быстрее (спасибо виртуальному ДОМу). И это очень сильно впечатляло. И самое главное после деректив AngularJS 1, компоненты React выглядели невероятно удобно. В итоге Angular был настолько плох, что при всей невероятной популярности, проекты начали массово мигрировать на React. А потом вышел вообще Angular 2. Где обратная совместимость была потеряна очень сильно. И это еще раз напомнило людям, что React хорош. И вот я мигрирую уже с какой-то древней версии React на 18-ую и по сей день нет проблем с миграциями. Что не скажется о Angular или о миграции Vue 2 на Vue 3. В итоге, другие продукты пока не очень конкурентно способны. Лично мое такое видение :)

  • @merovingen4546

    @merovingen4546

    9 ай бұрын

    @@it-sin9k да, вполне вероятно так и было, VDOM выигрывал у Angularjs да и сам react был несомненно проще и вот этом я и вижу проблему react как овер -раздутого продукта, он как был шаблонизатор, так по сути и остался. Когда речь заходит о реальном state-менеджменте на крупном проекте, сложность и бойлерплейты становятся основной часть react приложения. И выходит абсолютно обратная ситуация, даже на винильном JS многие вещи пишутся проще чем на реакт, особено когда речь заходит о сетевом общении. VDOM это давно не киллер фича, реакт объективно ужасен в произодительности и это факт, они все улучшают вроде как этот момент. Обратная совместимость это здорово, но как я сказал прежде, это шаблонизор-библиотека, 2 из 4 основных модуля которого идут как нешние ресурсы, там нечему ломаться при обновлении. Получается картина неероятно популярного продукта, построеного на костылях и работающего не лучшим образом, я не вижу причин для его подобного терражирования, КРОМЕ, как сарафанного радио с тех времен, когда он был лучшим вариантом. Инстурменты давно шагнули вперед и Angular уже давно тет что был, хоть и не без недостатков. На мой взгляд в текущий момент React это каламбур, если не сказать цирк, в нем ведь даже реактивности нет ;) Но люди будут его продвигать и продвигают.

  • @user-zj5jj4uf9y
    @user-zj5jj4uf9y10 ай бұрын

    фронтендеры начали догадываться что такое программирование. Вы полегче, так до ООП дойдете и вселенная схлопнется.

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    ч0рд! скорей бы узнать что же такое программирование?! так интригующе!

  • @user-zj5jj4uf9y

    @user-zj5jj4uf9y

    10 ай бұрын

    @@it-sin9k да зачем оно) Без него крепче будешь спать, поверь))

  • @grenadier4702

    @grenadier4702

    9 ай бұрын

    Ого! А вот и высокомерный скуф пожаловал в гости! Скажи, тебе нравится С#? Кстати, ты, наверное, тру-кодер, да? Ну там ООП, солид, чистый код и тд. Рест-апишку уже написал? Все? Ну молодец! Геттеры сеттеры не забыл где надо поставить?? Фух! Ну красава! А вообще смешно с таких додиков, которые мнят только свою область трушной.

  • @user-zj5jj4uf9y

    @user-zj5jj4uf9y

    9 ай бұрын

    @@grenadier4702 смешно с додиков, которые в 2023 метаиронию не выкупают и агрятся, как малолетки. А ты вот технологии и парадигмы перечисляешь зачем? Это что-то заоблачное для тебя что ли? Ну база и база.

  • @vovamagic659
    @vovamagic65910 ай бұрын

    Как стартовать новый проект spa в 2023: 1. npm i -g ember-cli 2. ember new my-app

  • @popuguytheparrot_
    @popuguytheparrot_10 ай бұрын

    Неверно утверждение что nextjs - SSR фреймворк

  • @it-sin9k

    @it-sin9k

    10 ай бұрын

    а как бы вы описали?

  • @badcoder1337

    @badcoder1337

    10 ай бұрын

    Интересно, а что же он тогда? Не ради ли SSR прихотей Vercel Дэн согласился на убогие серверные компоненты, где даже такая БАЗА как контекст не доступен?

  • @popuguytheparrot_

    @popuguytheparrot_

    10 ай бұрын

    @@badcoder1337 Причем тут Ден? Он ушел из реакт тимы и уже не относится к ней. Ден был лишь реакт-адвокатом и общался хорошо с комьюнити.

  • @popuguytheparrot_

    @popuguytheparrot_

    10 ай бұрын

    @@it-sin9k Некст может быть как и SPA, без использование файлового роутера. Некст и как генератор статики может использовать с режимами SSG, ISR.

  • @DevilAlex03

    @DevilAlex03

    10 ай бұрын

    @@popuguytheparrot_ если не ошибаюсь, он мейнтейнер новой документации по реакт, то есть имеет к реакту непосредственное отношение