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

  Рет қаралды 31,393

АйТи Синяк

АйТи Синяк

Күн бұрын

Пікірлер: 283
@arman-6172
@arman-6172 Жыл бұрын
1. Nextjs после первого открытия страницы (любой) ведет себя как spa с динамическими модулями. При переходе страница не перегружается, а перерисовывается. 2.Нужно было дочитать доку про динамический роут, когда можно указать что делать если такого файла в папке нет, вот там можно и указать что любой путь будет открывать основной компонент, а дальше уже делаешь что хочешь в этом компоненте.
@it-sin9k
@it-sin9k Жыл бұрын
Спасибо, обязательно перечитаю доку)
@d3i0
@d3i0 Жыл бұрын
"будет открывать основной компонент, а дальше уже делаешь что хочешь в этом компоненте" - т.е. вы предлагаете туда другой роутер ещё запихать? смысл тогда от next как-то теряется немного
@IT-Svyatoslav
@IT-Svyatoslav Жыл бұрын
Супер Синяк👍 Низкий поклон тебе и твоим помощникам❤
@it-sin9k
@it-sin9k Жыл бұрын
Спасибо что уже 2 года с нами!)
@aspirine17
@aspirine17 Жыл бұрын
Так динамический роут работает так же как в спа реакте, ты же не генерируешь все страницы сразу для каждого юзера а получаешь параметр с роута и делаешь запрос, если не экспортить то это работает таким же образом. А эта прегенерация роутов нужна немного для другого, например у тебя есть разные языки на сайте которые просто вписаны в путь, это тоже динамический роут, но их ограниченное количество, тогда ты можешь сгенерировать для них статический html уже на этапе билда используя get static path. При этом ты все еще можешь получить параметр с роута в пропсы и сделать запрос за данными так же как это делается в спа. Считаю что ты вводишь в заблуждение в этом моменте upd. Это же прям в гисте Дэна есть
@palyanytsia
@palyanytsia Жыл бұрын
Можно линку на гист?
@aspirine17
@aspirine17 Жыл бұрын
@@palyanytsia В обычном спа на реакте без некста как решаются динамические роуты? Ты получаешь с урла userId и делаешь запрос 'backend/user/${userId} и потом рендеришь на странице В некс как спа, как показал синяк в видосе это делается точно так же, тебе не надо мапить все айди в функцию что бы сделать страницу под каждого юзера, в page передается значение динамического роута как параметер автоматически, тебе даже не надо его как то доставать. Потом ты делаешь fetch(userID) или как угодно иначе. Все абсолютно так же как в обычном СПА, ноль разницы и ноль проблем Гист есть в описании видео синяка, я не уверен что могу вставлять ссылки. Там немного старый некст но суть таже ты получаешь с роута айди, делаешь запрос и рендеришь его на странице. Динамически как в СПА. Дэн как раз это и показал своим постом.
@dyingroseband
@dyingroseband Жыл бұрын
Ещё следует отметить, что у некста есть 2 подхода к разработке: app (RSC) router и page router. На странице документации некста есть выбор нужного варианта. Ещё больше вариантов, ещё больше путаницы.
@d3i0
@d3i0 Жыл бұрын
Ну старый подход с pages оставлен скорее для совместимости и миграции я думаю
@ooshkapooshkin8048
@ooshkapooshkin8048 Жыл бұрын
да, всего 5 стратегий отрисовки пользовательского интерфейса) не большинство людей будет интересовать CSR (client side rendering - SPA), SSR (server side rendering - с папками pages...) и новый RSC (react server component - с папкой app и стримингом и кешированием запросов - тут будьте аккуратны, можно поймать интересный баг)
@yauhenitsur1708
@yauhenitsur1708 Жыл бұрын
SSR и SPA это не противоположные вещи, это тёлое и мягкое. Приложение может являться SPA как с SSR, так и без SSR. Рекомендую разобраться в терминах SPA/MPA, CSR/SSR.
@it-sin9k
@it-sin9k Жыл бұрын
так вроде и не противопостовлял их никто тут)
@yauhenitsur1708
@yauhenitsur1708 Жыл бұрын
@@it-sin9k На 02:27: "Получается, реакт-команда перестала рекомедовать SPA, пользуйся SSR". На 03:21 противопоставление снова. На 03:35. И так далее. Собственно, видео кишит "А что же выбрать, SPA или SSR", что является ложной дихотомией.
@izzei-1614
@izzei-1614 Жыл бұрын
@@it-sin9k вы в видео и противопоставили, у вас путаница в понятиях, которую вы разносите на вашу аудиторию, теперь каждый второй зритель канала тут пишет SPA vs SSR, что полный бред
@dididie158
@dididie158 Жыл бұрын
Ты душнила просто
@dididie158
@dididie158 Жыл бұрын
@@yauhenitsur1708там пользуясь, а не прямое указание, глухня
@Xelson1337
@Xelson1337 9 ай бұрын
Еще интересно, что у Remix тоже недавно появился SPA-mode, что на выходе даёт приложение как vite + react-router, но с фишками Remix (например, file-based роутинг, автоматический код-сплитинг роутов, предзагрузка роутов через Link и т.п)
@it-sin9k
@it-sin9k 9 ай бұрын
интересно есть ли там ограничения. Например работают ли динамические роуты
@Xelson1337
@Xelson1337 9 ай бұрын
@@it-sin9k судя по документации, ограничений на динамические роуты нет. Оно и не мудрено, реакт-роутер ведь изначально клиентский, в отличии от роутера некста
@AmadeusTwi
@AmadeusTwi Жыл бұрын
Насколько я знаю, CRA превратят в Launcher, а Next.js с Pages роутером позволяет по сути имитировать работу SPA при помощи компоненты. 🤔
@it-sin9k
@it-sin9k Жыл бұрын
а можно подробнее про Launcher?
@ДмитрийКузьмин-ш2с
@ДмитрийКузьмин-ш2с Жыл бұрын
Спасибо за разбор, как всегда интересно. Коммент и лайк для продвижения видоса.
@go_better
@go_better 5 ай бұрын
Спасибо большое! Просто кайф. А что думаете про Solid JS?
@it-sin9k
@it-sin9k 5 ай бұрын
честно говоря не работал с ним
@anton-trofimov
@anton-trofimov Жыл бұрын
Про динамический роутинг - год назад столкнулся с этим в nuxt, ты просто статику отдаешь и все, ведь видно из файлов, что они создались под конкретный id. Поэтому либо спа, либо сервак поднятый, иначе никак. Для статичных сайтов только пойдет, которые один раз сделали и забыли
@pavel_er
@pavel_er Жыл бұрын
среди рекомендаций заметил Gatsby - для него не надо ноды на сервере, можно статику раздавать.
@krypton5204
@krypton5204 Жыл бұрын
Мне лично очень нравится vite. Хотя мое мнение ой какое не экспертное, но всё же :D
@StarkElessar
@StarkElessar Жыл бұрын
чем он тебе нравится, расскажи плиз :)
@victormog
@victormog Жыл бұрын
CRA уже больше года выдаёт какие-то странные варнинги при dev start... Сколько ни гуглил решения так и не нашёл. Но в остальном работает с виду нормально.
@Elijah_Pavlov
@Elijah_Pavlov Жыл бұрын
Сколько помню CRA его всегда не рекомендовали, используйте свою сборку для SPA, по сути это настройка webpack, остальное это доп настройки как раз под нужны проекта. Если не нужен SPA то next js кажется хорошим решением.
@izzei-1614
@izzei-1614 Жыл бұрын
nextjs - это и есть spa, но с ssr
@alenache1
@alenache1 Жыл бұрын
в смысле "не рекомендовали", ссылка на crа висела на официальном сайте Реакта и в туториале там же crа как раз РЕКОМЕНДОВАЛСЯ 😁
@Elijah_Pavlov
@Elijah_Pavlov Жыл бұрын
@@alenache1 Не рекомендовался пользователями которые столкнулись с проблемой кастомизации настроек под свой проект.
@alenache1
@alenache1 Жыл бұрын
@@Elijah_Pavlov а в чем проблема скачанное через crа кастомизировать под себя? удалить что не надо, докачать что надо, джейсон переписать?
@Elijah_Pavlov
@Elijah_Pavlov Жыл бұрын
@@alenache1 И зачем тогда нужен cra? 😁 Не проще ли сразу под себя настроить?
@meded90
@meded90 Жыл бұрын
Уже год использую Вит на продакшен проекте. 0 нареканий как глоток свежего воздуха после веппака
@it-sin9k
@it-sin9k Жыл бұрын
Буквально читал другой коммент, где описывали проблемы Vite и юнит тестирования :( Но с большего я согласен, что все проблемы люди решили)
@baileysli6235
@baileysli6235 Жыл бұрын
@@it-sin9k странно. В экосистеме Vite есть Vitest, который обычно очень хвалят
@BOCbMOU
@BOCbMOU Жыл бұрын
@@it-sin9k откровенно говоря в том комментарии проблема в человеке, а не в инструменте. Вит не запускает тесты. Да, есть витест, но это лишь юнит тест фрекймворк для вита, никто не мешает использовать тот же джест, к примеру. Но самое главное другое: я уже использовал вит в двух проектах, в обоих ставил витест и тестинг лайбрари, и всё работает без каких-либо проблем.
@izzei-1614
@izzei-1614 Жыл бұрын
@@it-sin9k какие могут быть проблемы vite с юнит тестированем? Это как связано может быть?
@alexey_3155
@alexey_3155 Жыл бұрын
@@izzei-1614 мб нет нужных дополнительных либ, если с jest'a переезжали + вижу проблему, что vite сейчас ~0.34 версии, к 1.0 много breaking changes может случиться, а jest +- стабильный.
@ooshkapooshkin8048
@ooshkapooshkin8048 Жыл бұрын
вообще все приложения в компании пилим с NextJS, в 80% случаев его переделываем на SPA за 5 минут и ничем не отличается он от CRA, только версия реакта актуальная, как и остальных пакетов и фишки некста есть, по типу оптимизации картинок и т д
@timwin47
@timwin47 Жыл бұрын
в nginx настроить просто что бы читал все файлы html в папке с проектом, вот в 23м начал чисто MPA использовать
@animekontororu9996
@animekontororu9996 Жыл бұрын
И точно так же добавят i18n решения(react-i18next / next-i18next) для next с export. Или не добавят. Ой.🧐
@kaiserfedor
@kaiserfedor Жыл бұрын
Как стартовать проект в любом году зависит от проекта и от условий в которых вы его начинаете. Если у вас сжаты сроки, то берите инструмент, который вы уже знаете (если этот инструмент решает поставленные перед проектом задачи). Иначе рискуете сорвать сроки потратив время на изучение нового инструмента. Если есть время поэкспериментировать с инструментами, то тут уже открывается широкий простор. Но если вы хотите, чтобы у вас все было как раньше (как в CRA) то зачем вам новые инструменты? :) То что CRA не развивается, не значит, что оно не работает. К тому же, часто чтобы использовать новые инструменты, надо еще перестроить майндсет. А то люди берут Next и пытаются сделать из него CRA, зачем? :) По поводу некста - на нем можно делать SPA, а SSR это лишь одна из множества фичей которые дает некст. Если какие-то фичи вам не нужны - просто не используйте их :) По поводу гиста Абрамова и твоего примера - они отличаются. У Абрамова вполне себе динамически загружается контент по id. А у тебя полный SSG. Опять же пример Абрамова это не 100% как в CRA, но если это критично, то смотри поинт выше :)
@it-sin9k
@it-sin9k Жыл бұрын
вот я и вглядывался в этот Гист так и не понял, что там было не так. Можете чуть подробнее раскрыть тему, как сделать динамические роуты?
@kaiserfedor
@kaiserfedor Жыл бұрын
так там же в самом гисте написано: 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
@baileysli6235
@baileysli6235 Жыл бұрын
Попал в телевизор, аж два раза :D Если нужен статический сайт с динамикой поверх, то рекомендую присмотреться к Astro.
@igorkushnir4966
@igorkushnir4966 Жыл бұрын
Так роуты получаются так же, как обычно в Нексте - делаешь запрос на всех юзеров, и генерируешь из этого массива массив путей и тогда все работает.
@it-sin9k
@it-sin9k Жыл бұрын
Да, можно) но если у тебя 1000-чи пользователей, интересно сколько оно будет билдить приложение) а потом 1000-чи товаров) 1000-чи услуг и т.д.)
@igorkushnir4966
@igorkushnir4966 Жыл бұрын
@@it-sin9k да, у меня на одном проекте 1200 статей, то билдится минут 15
@it-sin9k
@it-sin9k Жыл бұрын
@@igorkushnir4966 прикольный опыт)
@WebBestMaster
@WebBestMaster Жыл бұрын
а что мешает самому настроить веб пак и не юзать CRA or Vite?
@it-sin9k
@it-sin9k Жыл бұрын
ну тут несколько поинтов: насколько хороши вы в настройке веб пака, так как я видел много неудачных настроек webpack, а так же второе на все это требуется дополнительное время, которого вечно не хватает)
@WebBestMaster
@WebBestMaster Жыл бұрын
@@it-sin9k я не хвастаюсь, но я юзаю вебпак с первой версии и всегда настраиваю его сам, так что мне это не проблема, я не понимаю почему у других это проблема (( куча туториалов на Ютубе, да и начиная с 4ой версии вебпак стал реально дружелюбнее для пользователя
@velikorossnationalist4259
@velikorossnationalist4259 Жыл бұрын
У vite постоянно какие-то проблемы. Немогу настроить react-testing-library в нем. Если можете снимите пожалуйста видео о тестировании и настройках этой библиотеки в vite+react
@nade3282
@nade3282 Жыл бұрын
это не у vite проблемы, а у тебя
@BOCbMOU
@BOCbMOU Жыл бұрын
А как связаны вит и тесты?
@xxcrypt234
@xxcrypt234 Жыл бұрын
ура новый видос geeeet dunked onnn!!
@TheHellishFrog
@TheHellishFrog Жыл бұрын
Вот только удобно и безбажно развернуть реакт-приложение SSR на фреймворке удасться только с использованием подготовленного хостинга - типа Netlify, Vercel, Heroku и т.п. На свой личный сервер развернуть будет куда сложнее - что наводит на мысль о договорнячке.
@it-sin9k
@it-sin9k Жыл бұрын
а почему сложно его развернуть на своем хостинге? по идее в CI в докер засунул и через докер хаб заливай куда хочешь
@TheHellishFrog
@TheHellishFrog Жыл бұрын
@@it-sin9k Мое субьективное ощущение - основанное на практическом опыте и чтении очень куцой документации которую Версел дает для развертывания на своих серверах. Оговорюсь что развертывал я под pm2 - на 2$ VPS от ОVH - куда Докер влезть не может по системным требованиям.
@valera924
@valera924 Жыл бұрын
Это же SSR AOT, видится полезным в первую очередь для SEO
@boldureans
@boldureans Жыл бұрын
Спасибо за видео! Да, Vite сейчас единственное нормальное решение для SPA)
@golden_smiles
@golden_smiles Жыл бұрын
Vite хорошая штука, но SPA это не только React, а "нормальное" - понятие растяжимое. Next вполне справляется, просто на видео выше это незаметно.
@IlyaLyskov
@IlyaLyskov Жыл бұрын
А что если докинуть react-router в nextjs и использовать только pages/index как ?
@it-sin9k
@it-sin9k Жыл бұрын
а зачем тогда NextJS?)
@live-gp
@live-gp Жыл бұрын
Вобщето Vite как раз и рекомендут для простых проэктов. Об этом написано на сайте
@AlexanderBorshak
@AlexanderBorshak Жыл бұрын
В общем, в топку реакт. Задолбало. То у них API раз в три месяца меняется, то уже SPA им не нужен. Буду на jQ писать ))
@it-sin9k
@it-sin9k Жыл бұрын
Топчик)
@Maxim9575
@Maxim9575 Жыл бұрын
о боже не обновляли СПА - пиздец... депрессия что же делать??????? как наркоманы ей Богу, если инструмент исправно выполняет свои обязанности это не значит что им надо перестать пользоваться только потому что нет каких-то обновлений.
@pataponchik3
@pataponchik3 Жыл бұрын
​@@Maxim9575ну че ты к шутке пристал, а
@nade3282
@nade3282 Жыл бұрын
@@Maxim9575 "исправно выполняет" ну тут бы я поспорил))
@olezhonnv3215
@olezhonnv3215 Жыл бұрын
У меня на жквери СПАшки легко получались. Императивненькие такие.
@chikenmacnugget
@chikenmacnugget Жыл бұрын
А чего удивительного что вит не рекомендуют. Сначала вит порекомендуешь, потом случайно ребята во вью заглянут, так глядишь все с реакта и утекут
@alexs7931
@alexs7931 Жыл бұрын
я так понял видео про статический генератор сайтов(типа хостинга github pages)? или это как модули в ангуляр, когда фунционал разбит на отдельные js файлы?
@it-sin9k
@it-sin9k Жыл бұрын
изначально я прочитал твит Дэна про как сделать SPA на Next.js и провел эксперимент, а потом поделился, что нарыл) Я думал, мб они запилили замену SPA полноценную, но пока кажется что нет
@alexs7931
@alexs7931 Жыл бұрын
@@it-sin9k я видел раньше вроде похожее, в рамках видео про seo для spa wpa , то есть без сервер рендеринга ssr. генерится куча статики для индексации поисковиком короче.
@alexs7931
@alexs7931 Жыл бұрын
@@it-sin9k вспомнил, видео было про Astro js, и его медод GetStaticPaths и то, как он из него генерит статический сайт SPG.
@sergeykahnwald6640
@sergeykahnwald6640 Жыл бұрын
Пытался подключить вит к новому продакшн проекту Столько времени потратил, в итоге выпилили и перешли на cra Куча проблем, последняя из которых - не работает сборка в прод режиме
@it-sin9k
@it-sin9k Жыл бұрын
У меня есть видео) где я пытался сделать тоже самое на продакшен проекте)) и тоже самое получил в итоге))
@eugenemedvedevwebdev219
@eugenemedvedevwebdev219 Жыл бұрын
Спасибо за контент
@aleksandrnikitin7360
@aleksandrnikitin7360 Жыл бұрын
Можно создать один [...pages].tsx в папке pages, это редирект со всех роутов в этот файл. И здесь юзать react router вместо Next router. Только зачем?? В чем смысл делать SPA, если Next с SSR в разы лучше?
@paemox
@paemox Жыл бұрын
SPA более мощный, гибкий и быстрый, а SSR нужен только для Google бота. SSR уменьшает время первой загрузки, но увеличивает время всех последующих загрузок.
@izzei-1614
@izzei-1614 Жыл бұрын
@@paemox Откуда такой поинт, что он последующие загрузки увеличивает?
@paemox
@paemox Жыл бұрын
@@izzei-1614 Нет, React Query позволяет более гибко кешировать данные чем Next.js.
@aleksandrnikitin7360
@aleksandrnikitin7360 Жыл бұрын
@@paemox React Query кеширует данные только на клиенте. Раз уж упомянули, то его и в Next js использовать можно (нужно). У него есть интеграция под Next.js, что позволяет сделать комбинацию SWR (кеш на клиенте) + ISR (кеш динамических роутов на сервере). Доп. слой кеша на сервере как ни крути ускорит загрузку страницы за счёт уже пререндереной части (или даже полной страницы) HTML.
@aleksandrnikitin7360
@aleksandrnikitin7360 Жыл бұрын
@@paemox Не стоит недооценивать важность SSR, несколько знакомых писали проекты изначально на SPA, без него т.к. думали что в их случае ну точно лишнее, в итоге в одном месте он все таки понадобился. Какой выход из этой ситуации? Либо писать ещё одну апку как микросервис либо переписывать на Next или ему подобные ВСЁ приложение. А можно было просто стартануть с Next изначально. Я не говорю что минусов у него нету. Один большой минус есть, и это скорость hot reload в разработке, до 2 сек на больших проектах. Ну и наверно в каких-то супер редких случаях он будет вреден. В остальном в 2023 Next js это база
@deshtechno
@deshtechno Жыл бұрын
Запилить свой шаблон стартового проекта тоже вполне норм. Для роутинга react-router. За одно дополнительная гибкость без костылей, как у CRA.
@it-sin9k
@it-sin9k Жыл бұрын
помню эти времена, когда были десятки шаблонов стартовых) и create-react-app стал серебрянной пулей) а теперь опять))
@deshtechno
@deshtechno Жыл бұрын
@@it-sin9k тут всё дело только в том, что на сайте реакт рекомендуют. Был рекомендован CRA, поэтому популярность, несмотря на то, были ли более удачно сделанные другие шаблоны, или нет.
@it-sin9k
@it-sin9k Жыл бұрын
не) в те времена мы выбирали CRA не потому что на сайте был указан, а то что все сборки быстро устаревали, а за CRA присматривали, постоянно развивали, и уверенность была в том, что поддержка будет) но вот поддержка и закончилась)
@nexgenua
@nexgenua Жыл бұрын
Где то углу сидят и потирают руки ануглярщики и вьюеры 😂
@fromillia
@fromillia Жыл бұрын
Годный у тебя контент. Не понятно почему подписоты за почти 4 года так мало.
@it-sin9k
@it-sin9k Жыл бұрын
Спасибо!) Думаю проблема в том, что мы не запускали никакой рекламы на канал) чисто органически растем))
@alex-will-explain
@alex-will-explain Жыл бұрын
А почему нельзя просто собрать проект с нуля? Поставить react, react-dom и так далее?
@it-sin9k
@it-sin9k Жыл бұрын
Можно) раньше так и делали) и всех это так утомляло, что начали пилить темплейты готовые для старта, а потом выпустили create-react-app, который был самым топовым темплейтом и все на него подсели)
@struggle-inc
@struggle-inc Жыл бұрын
Next JS - SPA с удобными инструментами для SSR, SSG, ISR, в котором так же можно использовать CSR Next js - совершенно другой уровень, выше и качественнее
@liganshow
@liganshow Жыл бұрын
Разве приложение next js на фронте не работает как spa?
@it-sin9k
@it-sin9k Жыл бұрын
смотря что вы вкладываете в фразу spa
@liganshow
@liganshow Жыл бұрын
@@it-sin9k то, что при роутинге по странице, я не запрашиваю html у сервера, собственно и релоад страницы не происходит. Я имел ввиду, что в браузере приложение на next js работает как обычное react приложение
@it-sin9k
@it-sin9k Жыл бұрын
при стандартном использовании да) только первый экран загружается с помощью html, а потом все по классике)
@nikewhite4471
@nikewhite4471 Жыл бұрын
"Как стартовать новый проект в 2023 году?" Стартуем без заморочек с Astro framework.
@it-sin9k
@it-sin9k Жыл бұрын
Надо будет познакомиться с этим фреймворком) Что то новенькое!)
@lalalashka825
@lalalashka825 Жыл бұрын
Интересно что команда React не рекомендовала Qwık , Astro и Swelte .Но рекомендовала Remix 🤔🤔🤔
@it-sin9k
@it-sin9k Жыл бұрын
а Remix команда делает еще react-router-dom, мне кажется у них больше точек соприкосновения)
@fr0ntsmaverick
@fr0ntsmaverick Жыл бұрын
Интересно как теперь будет React развиваться без Дена Абрамова. Просто есть еще один проект от React Reson. Так проект Reson был заброшен.
@Илья-с1л6э
@Илья-с1л6э Жыл бұрын
так же как и с ним) Абрамов был далеко не главным ментейнером. Он скорее был публичным лицом
@fr0ntsmaverick
@fr0ntsmaverick Жыл бұрын
@@Илья-с1л6э если так так это хорошо
@Vlad-lo3in
@Vlad-lo3in Жыл бұрын
использовал cra только когда учил react, у нас на новых проектах next используется - очень простой в использовании, ещё как плюс у них из коробки всё настроено и работает (для быстрого старта чего-то нового то что нужно), так же в новых версиях, на сколько я помню, они позволяют заменить webpack на swc, что должно ускорить сборку
@yura3d3d
@yura3d3d Жыл бұрын
Не webpack, а babel на swc. А в последнем Next.js (13) в деве как experimental feature доступна замена webpack на turbopack (аналог vite от разработчиков webpack)
@ПавелПитерский-д7г
@ПавелПитерский-д7г Жыл бұрын
Не то чтобы некст сложный но и "очень простой" тоже не про него не в части трудности а в части именно простоты (отсутствия лишнего) Переписал когда был хайп по нексту свой проект с КРА на некст.... да в начале казалось что писать больше но зато вот тебе одна фича вот другая... в итоге поигравшись переписал все на отдельные бекенд и фронт т.к. ССР мне на проекте нафиг не нужен и соотвесно все связанные фичи некста становятся лишними и мешаются под пальцами кодера)) ну и плюс отдельные специфичные некстовские траблы с кешем и пр
@DagestanShop
@DagestanShop Жыл бұрын
а не легче просто через вебпак настроить спа
@it-sin9k
@it-sin9k Жыл бұрын
свой велосипед всегда можно сделать если есть желание)
@_cstrp7905
@_cstrp7905 Жыл бұрын
вайт \ вит, да какая разница, как ты его не назовешь, хуже он работать не станет :D но забавно, за видос спасибо
@michaelmorosov447
@michaelmorosov447 Жыл бұрын
Оч советую перейти на вит. Скорость при разработке в разы выше, особенно если железо рабочее слабое, как у меня. Меньше проблем с пакетами и ваши пайплаыйны, настроенные архитектором, не будут крашиться изза устаревших и опасных зависимостей.
@izzei-1614
@izzei-1614 Жыл бұрын
Я не понимаю, откуда такая путаница в понятиях. Откуда взялось то, что SPA + SSR !== SPA. У нас может быть SPA + SSR, SPA + CSR, но добавление SSR не делает из SPA не SPA.
@it-sin9k
@it-sin9k Жыл бұрын
я вообще про MPA рассказывал) почему путаница?)
@izzei-1614
@izzei-1614 Жыл бұрын
@@it-sin9k Next.js - это не MPA, а SPA, а вы говорили о нем в противовес SPA, хотя он и есть SPA
@romanmed9035
@romanmed9035 Жыл бұрын
странный логотип у ведущего, да и музыка в начате. не совместный ли это проект? и вопрос автору видео. если уэе проект на кра. как его можно прокачать и поднять немного на уровень выше?
@it-sin9k
@it-sin9k Жыл бұрын
а что вы называете логотипом?) и совместный проект с кем? а прокачать в каком направлении? именно сборки?
@romanmed9035
@romanmed9035 Жыл бұрын
@@it-sin9k на футболке ведущего логотип самурайский, поэтому и предположил. проект хочу сделать круче, чтобы показать квалификацию, на что способен.
@it-sin9k
@it-sin9k Жыл бұрын
логотип на майке просто картинка из интернета) А проект прокачать со стороны сборки можно в данном случае только если сделать eject и изучать как работает webpack и улучшать использование лодеров :)
@romanmed9035
@romanmed9035 Жыл бұрын
@@it-sin9k спасибо. но не сборку хочется качать. а внутреннюю реализацию.
@it-sin9k
@it-sin9k Жыл бұрын
@@romanmed9035 посмотри видео про паттерны на канале, может натолкнет на какие то мысли :) kzbin.info/aero/PLz_dGYmQRrr8tvi1XGFxLJilUCQQQNj9K
@NeoCoding
@NeoCoding Жыл бұрын
с другой стороны про cra - зачем трогать что работает?😄
@it-sin9k
@it-sin9k Жыл бұрын
так то оно так) вопрос только в том, что мир не стоит на месте и выходят новые вебпаки esbuild и т.д. и т.п. и вопрос как скоро cra станет устаревшим)
@NeoCoding
@NeoCoding Жыл бұрын
@@it-sin9k а cra не получивший этих изменений не сможет запускать приложение?
@it-sin9k
@it-sin9k Жыл бұрын
сможет) но вот вышел esbuild, который может запускать проект намного быстрее. А CRA на webpack висит, и уже будет сомнение выбрать кастомную сборку с esbuild или старый добрый CRA поставить) уже выбор не всегда в пользу CRA)
@NeoCoding
@NeoCoding Жыл бұрын
@@it-sin9k ну знач политика в сторону упомянутых фреймворков как след ступень разв реакт
@TheTexPro
@TheTexPro Жыл бұрын
Спасибо большое за новую инфу!
@РобертАхияров-х7я
@РобертАхияров-х7я Жыл бұрын
Режим экспорта это Static Site Generation, из названия понятно зачем он нужен
@mr.zxzxzxz3816
@mr.zxzxzxz3816 Жыл бұрын
спасибо
@STELLS541
@STELLS541 Жыл бұрын
Cra сейчас конечно уже выглядит не оч, а вот вит выглядит вполне амбициозно, но как будто вит ещё пока сыроват и вебпак в этом плане более гибкий, и под него больше всего.
@alenache1
@alenache1 Жыл бұрын
да, видно было в последнее время, что Ден перегорел, интересно чем будет заниматься после ухода
@BearVodkaAndValenki
@BearVodkaAndValenki Жыл бұрын
Команда реакта давно свернула не туда. Последние годы принимают какие-то бредовые решения и сами этого не понимают.
@stanislavrodionov4008
@stanislavrodionov4008 Жыл бұрын
Я думаю новое приложение надо стартовать с htmx на фронте и Rust на беке. А вот эта ботва со сборкой скриптовых языков какими-то кривыми бандлами уже порядком надоела. Делать проект без бекенда и бд, чисто на хтмл статике нет смысла. Так что вопрос лишь в том как избежать лапшеобразного кода на фронте и неоправданно сложного пайплайна сборки проекта.
@mur3636
@mur3636 Жыл бұрын
С htmx будет лапши еще больше. Задолбаешься поддерживать. Бросай пока не поздно.
@grenadier4702
@grenadier4702 Жыл бұрын
Rust для бека - не слишком ли запарно? Менеджить память вручную это излишне для веб-сервера
@sagvel559
@sagvel559 Жыл бұрын
Так как бы cra всегда был рекомендацией в целях обучения. А теперяшний курс использовать Next Js немного странный.
@NoName-oh9fh
@NoName-oh9fh Жыл бұрын
Я жду когда наконец то в реатке доработают backend in frontend. В nextjs это уже есть в альфа версии.
@Andrq122
@Andrq122 Жыл бұрын
Опять в MVC скатываться, нет уж увольте.
@nctay
@nctay Жыл бұрын
Уже год используем Next не как ssr фреймворк, а как решение для сборки SPA React приложения без боли. Полет отличный.
@it-sin9k
@it-sin9k Жыл бұрын
А можете поделиться подробнее как ведете проект?
@РоманНарожнов
@РоманНарожнов Жыл бұрын
Как решаете озвученную синяком проблему динамических роутов?
@paemox
@paemox Жыл бұрын
Слышал есть способ использовать React Router, а для SSG - Next.js, но не пробовал. Интерестно, как вы реализовали это?
@izzei-1614
@izzei-1614 Жыл бұрын
Мое мнение: это ужасный использования nextjs, потому что в нем возможности конфигурации нулевые, прямо как у cra
@kaiserfedor
@kaiserfedor Жыл бұрын
@@it-sin9k я думаю прямо так, как это написано в документации некста :) по крайней мере мы так делаем
@d1mas1k2KA
@d1mas1k2KA Жыл бұрын
Я так понимаю next js это уже новый уровень веб разработки и стоит уже на нём учиться писать?
@it-sin9k
@it-sin9k Жыл бұрын
Да, все больше вакансий вижу на Next.js. Я бы присмотрелся)
@anatolysokolov
@anatolysokolov Жыл бұрын
мне кажется, что может быть такая вероятность, что Vite не рекомендуется из за того, что его сделали разрабы Vue :) а еще не энжинкс, а энжайнэкс :р
@it-sin9k
@it-sin9k Жыл бұрын
да) вполне себе возможно) я думаю вопрос скорее в том, что готовы они вкладываться в то или иное решение или нет) и открыт ли создатель этого решения, к тому чтобы в него React вкладывался)
@den-rad
@den-rad Жыл бұрын
Back to uSSR ;)
@it-sin9k
@it-sin9k Жыл бұрын
Хорош)
@KGZVER
@KGZVER Жыл бұрын
Я всегда использую Next JS как стандарт в разработке за счет ее стандартизированного роутинга. А SSR, SSG это как приятный бонус. По сути единственный минус что показано в видео (нету статики) не является актуальным в большинстве случаев, ведь проект мы все равно разворачиваем на серваке с установленным Node.
@paemox
@paemox Жыл бұрын
У React Router более гибкий роутинг чем в Next, также есть в разработке TanStack Router.
@EnjoyerOfBepis
@EnjoyerOfBepis Жыл бұрын
@@paemox О, TanStack Rouer топ. Вообще, будущее за такими роутерами как он, имхо.
@Историисамоосознания
@Историисамоосознания Жыл бұрын
Astro быстрее Next JS
@paemox
@paemox Жыл бұрын
@@Историисамоосознания JavaScript быстрее Astro.
@r.chitector
@r.chitector Жыл бұрын
"не развивается" != "не будет работать". Думаю пора прекратить хвататься за хайповые продукты, а смотреть на инструменты, которые делают свою работу.
@it-sin9k
@it-sin9k Жыл бұрын
мысль хорошая) только тот же вебпак выпускает новые версии и хотелось бы, чтобы как и ранее CRA обновлялся тоже до новых версий, а не начинать новый проект, делать eject и сразу допиливать руками миграцию на новую версию webpack
@aleksandrkim550
@aleksandrkim550 Жыл бұрын
Удачи с CRA на проде. Только если это не админка
@VirusTr0yan
@VirusTr0yan Жыл бұрын
Мама, я в телевизоре)
@it-sin9k
@it-sin9k Жыл бұрын
ахахахахха
@bonaquazone7718
@bonaquazone7718 Жыл бұрын
На этой же странице рекомендация вита.. раскрыть нужно спойлер… впадлу читать документацию? К слову про вит.. как звучит это 1 строчка в доках.. ну ты хоть минут 5 потрать доки глянуть стартовые
@it-sin9k
@it-sin9k Жыл бұрын
> ну ты хоть минут 5 потрать доки глянуть стартовые ну зачем же так грубо, я понимаю, что это комментарии к KZbin, но неужели тыкать и грубить незнакомым людям уже считается хорошей идеей? > На этой же странице рекомендация вита.. Разве это похоже на рекоммендацию? 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. Скорее похоже на то что, если все что мы рекоммендуем вам не подходит, то есть сборщики соберите себе продукт сами.
@oralbek_tleubayev
@oralbek_tleubayev Жыл бұрын
👍👍👍
@ko22012
@ko22012 Жыл бұрын
Еще интересно взлетит ли inertiajs, laravel интегрировался с ней. По мне интересная вещь, которая позволяет не отказаться от привычного фреймворка на php, но при этом получить серверный рендеринг и vue или react.
@it-sin9k
@it-sin9k Жыл бұрын
Прикольно) надо поизучать)
@oWeRQ666
@oWeRQ666 Жыл бұрын
Давно существует, если ничего координально не поменялось, объединяет все минусы SPA и все минусы SSR, нет индексации поисковиками и есть сложная связка, единственный плюс не надо думать об апи.
@artemosya
@artemosya Жыл бұрын
​@@oWeRQ666 не надо думать об API - сомнительный плюс
@oWeRQ666
@oWeRQ666 Жыл бұрын
@@artemosya Это решение для бекендеров, которые привыкли собирать все данные в кучу и рендерить их через шаблоны, как переходный вариант - может подойти, начинать с этого явно не стоит.
@РоманНарожнов
@РоманНарожнов Жыл бұрын
Спасибо!
@motolife4900
@motolife4900 Жыл бұрын
Все верно, этот экспорт - кривое решение
@t1mee
@t1mee Жыл бұрын
Это решение для SSG, поэтому не удивительно, что для CSR оно кривое))
@UghurAliyev
@UghurAliyev Жыл бұрын
Никогда не понимал зачем нам нужен этот гребенный сервер , ведь мы делаем все хорошо на клиенте , зачем фронту сервер 😢
@grenadier4702
@grenadier4702 Жыл бұрын
СЕО
@yakut54
@yakut54 Жыл бұрын
А webpack ручками написать яиц не хватает?
@it-sin9k
@it-sin9k Жыл бұрын
не) как то вообще не хочется)
@Sheydful
@Sheydful Жыл бұрын
На текущем проекте (легаси) окромя геморроя от самописного вебпака ничего не получил.
@aleksandrkim550
@aleksandrkim550 Жыл бұрын
Как будто года два назад видел тебя под видосами it камасутры. Как твои дела? Я рад что ты вкатился)))
@yakut54
@yakut54 Жыл бұрын
@@aleksandrkim550 🤝 Норм вроде! Сейчас dart&flutter осваиваю ))
@alexeysvetlenko2217
@alexeysvetlenko2217 Жыл бұрын
Супер
@viktormoskalev2269
@viktormoskalev2269 Жыл бұрын
Год назад перешел на некст и больше не возвращаюсь ) гетсби тормознутый , не рекомендую
@rovhul_7319
@rovhul_7319 Жыл бұрын
У некста есть ISG, что в принципе прокачивает SSG до полноценного SPA
@kulikoffAS
@kulikoffAS Жыл бұрын
ты не понимаешь подход реакта, они просто использует те решения, которые подходят под задачи meta, spa им не подходит, это не значит что они его не рекомендуют
@it-sin9k
@it-sin9k Жыл бұрын
так что они на Next.js фейсбук перегоняют?)
@kulikoffAS
@kulikoffAS Жыл бұрын
@@it-sin9k возможно, мы же не знаем бэклог их разработки
@izzei-1614
@izzei-1614 Жыл бұрын
@@it-sin9k Next.js это и есть SPA, вы путаетесь в понятиях
@АндрейКарякин-и1ы
@АндрейКарякин-и1ы Жыл бұрын
одно понятно - ничего не понятно...
@olezhonnv3215
@olezhonnv3215 Жыл бұрын
На ПХП стартуйте. Вы к этому уже приближаетесь))) Реактомартыхи - веселите все больше и больше)))
@it-sin9k
@it-sin9k Жыл бұрын
а вы сами себе лайк ставите под каждым комментарием) а 2 новых коммента и уже кто-то лайкнул))
@NeoCoding
@NeoCoding Жыл бұрын
вы какая мартыха интересно?
@AlexeyProgramming
@AlexeyProgramming Жыл бұрын
крч ясно, пора уходить на vue с каждым годом делают реакт сложнее и неудобнее, обрастает грязью и зависимостями как ком 💩
@it-sin9k
@it-sin9k Жыл бұрын
так во Vue тоже самое) везде неудобно)
@AlexeyProgramming
@AlexeyProgramming Жыл бұрын
@@it-sin9k ничего подобного, там свой CRA из коробки идёт и никто его вдруг дропать не собирается
@it-sin9k
@it-sin9k Жыл бұрын
я скорее о других проблемах) о миграции с Vue 2 на Vue 3, или миграции с Vuex на penia) много жалоб слышал на больших проектах)
@OneOwki
@OneOwki Жыл бұрын
Бл, знать бы че такое спа ХАХАХВХА
@EnjoyerOfBepis
@EnjoyerOfBepis Жыл бұрын
Девченки туда ходят, говорят
@nikm1108
@nikm1108 Жыл бұрын
переехал на nextjs :D
@user-jt7wb3zc1m
@user-jt7wb3zc1m Жыл бұрын
_как стартовать новый проект в 2023 году:_ *1. выезжаем из рф/рб. 2. стартуем новый проект* парам-парам-пау 🤗
@grenadier4702
@grenadier4702 Жыл бұрын
че к чему
@user-jt7wb3zc1m
@user-jt7wb3zc1m Жыл бұрын
@@grenadier4702 *Да.*
@Maximurz1k
@Maximurz1k Жыл бұрын
Работает - не трогай
@merovingen4546
@merovingen4546 Жыл бұрын
react - поделка из костылей, не заслуживающаяя и 10% от своей популярности
@it-sin9k
@it-sin9k Жыл бұрын
почему же тогда он такой популярный?) и только не говорите, что вот Vue это не поделка, а продуманный взрослый продукт))
@merovingen4546
@merovingen4546 Жыл бұрын
@@it-sin9k не знаю как относится vue к популярности react, но это факт, react невероятно популярный и с этим приходится считатся, почему? Это реторический вопрос, так сложилось и не более того. Нет ни одной здравой причины на это, объективно-здравой причины, как бы кто какой инструмент не любил
@it-sin9k
@it-sin9k Жыл бұрын
ну почему же, я помню когда появился React и почему на него мы перешли целой компанией еще в 2014 году. Backbone перестал быть популярным, у него были большие проблемы. AngularJS быстро набрал популярность и подмял рынок под себя огромный, но он был неудобным и там было много проблем. Потом зарелизи React, где были демки с замерами скорости, и он был намного быстрее (спасибо виртуальному ДОМу). И это очень сильно впечатляло. И самое главное после деректив AngularJS 1, компоненты React выглядели невероятно удобно. В итоге Angular был настолько плох, что при всей невероятной популярности, проекты начали массово мигрировать на React. А потом вышел вообще Angular 2. Где обратная совместимость была потеряна очень сильно. И это еще раз напомнило людям, что React хорош. И вот я мигрирую уже с какой-то древней версии React на 18-ую и по сей день нет проблем с миграциями. Что не скажется о Angular или о миграции Vue 2 на Vue 3. В итоге, другие продукты пока не очень конкурентно способны. Лично мое такое видение :)
@merovingen4546
@merovingen4546 Жыл бұрын
@@it-sin9k да, вполне вероятно так и было, VDOM выигрывал у Angularjs да и сам react был несомненно проще и вот этом я и вижу проблему react как овер -раздутого продукта, он как был шаблонизатор, так по сути и остался. Когда речь заходит о реальном state-менеджменте на крупном проекте, сложность и бойлерплейты становятся основной часть react приложения. И выходит абсолютно обратная ситуация, даже на винильном JS многие вещи пишутся проще чем на реакт, особено когда речь заходит о сетевом общении. VDOM это давно не киллер фича, реакт объективно ужасен в произодительности и это факт, они все улучшают вроде как этот момент. Обратная совместимость это здорово, но как я сказал прежде, это шаблонизор-библиотека, 2 из 4 основных модуля которого идут как нешние ресурсы, там нечему ломаться при обновлении. Получается картина неероятно популярного продукта, построеного на костылях и работающего не лучшим образом, я не вижу причин для его подобного терражирования, КРОМЕ, как сарафанного радио с тех времен, когда он был лучшим вариантом. Инстурменты давно шагнули вперед и Angular уже давно тет что был, хоть и не без недостатков. На мой взгляд в текущий момент React это каламбур, если не сказать цирк, в нем ведь даже реактивности нет ;) Но люди будут его продвигать и продвигают.
@МакарЭпикунцев
@МакарЭпикунцев Жыл бұрын
фронтендеры начали догадываться что такое программирование. Вы полегче, так до ООП дойдете и вселенная схлопнется.
@it-sin9k
@it-sin9k Жыл бұрын
ч0рд! скорей бы узнать что же такое программирование?! так интригующе!
@МакарЭпикунцев
@МакарЭпикунцев Жыл бұрын
@@it-sin9k да зачем оно) Без него крепче будешь спать, поверь))
@grenadier4702
@grenadier4702 Жыл бұрын
Ого! А вот и высокомерный скуф пожаловал в гости! Скажи, тебе нравится С#? Кстати, ты, наверное, тру-кодер, да? Ну там ООП, солид, чистый код и тд. Рест-апишку уже написал? Все? Ну молодец! Геттеры сеттеры не забыл где надо поставить?? Фух! Ну красава! А вообще смешно с таких додиков, которые мнят только свою область трушной.
@МакарЭпикунцев
@МакарЭпикунцев Жыл бұрын
@@grenadier4702 смешно с додиков, которые в 2023 метаиронию не выкупают и агрятся, как малолетки. А ты вот технологии и парадигмы перечисляешь зачем? Это что-то заоблачное для тебя что ли? Ну база и база.
@popuguytheparrot_
@popuguytheparrot_ Жыл бұрын
Неверно утверждение что nextjs - SSR фреймворк
@it-sin9k
@it-sin9k Жыл бұрын
а как бы вы описали?
@badcoder1337
@badcoder1337 Жыл бұрын
Интересно, а что же он тогда? Не ради ли SSR прихотей Vercel Дэн согласился на убогие серверные компоненты, где даже такая БАЗА как контекст не доступен?
@popuguytheparrot_
@popuguytheparrot_ Жыл бұрын
@@badcoder1337 Причем тут Ден? Он ушел из реакт тимы и уже не относится к ней. Ден был лишь реакт-адвокатом и общался хорошо с комьюнити.
@popuguytheparrot_
@popuguytheparrot_ Жыл бұрын
@@it-sin9k Некст может быть как и SPA, без использование файлового роутера. Некст и как генератор статики может использовать с режимами SSG, ISR.
@DevilAlex03
@DevilAlex03 Жыл бұрын
@@popuguytheparrot_ если не ошибаюсь, он мейнтейнер новой документации по реакт, то есть имеет к реакту непосредственное отношение
@vovamagic659
@vovamagic659 Жыл бұрын
Как стартовать новый проект spa в 2023: 1. npm i -g ember-cli 2. ember new my-app
@Infinity-zf8ms
@Infinity-zf8ms Жыл бұрын
Спасибо
Почему удалять StrictMode плохая идея?
9:30
АйТи Синяк
Рет қаралды 18 М.
Невероятный Vite под микроскопом
14:51
АйТи Синяк
Рет қаралды 36 М.
Куда катится React? Это успех или провал?
12:05
АйТи Синяк
Рет қаралды 19 М.
Все ли вы знаете о React key?
8:47
АйТи Синяк
Рет қаралды 39 М.
Экосистема React.js 2023
12:45
Как пройти в IT?
Рет қаралды 44 М.
Минимум математики для Айтишников
16:12
Новые возможности React с useDeferredValue
11:06
АйТи Синяк
Рет қаралды 15 М.
Знакомство с Zustand - лучшей заменой Redux
29:35
Михаил Непомнящий
Рет қаралды 34 М.