SSR vs SSG vs CSR і де тут Next.JS
❓Як з'ясувалося, є деяке нерозуміння що таке і чим відрізняються Client Side Rendering від Server Side Rendering та Static Site Generators.
Відмінність проста, але принципова.
👉 CSR - контент який ви бачите створюється на клієнті (прямо у вашому браузері)
👉 SSR - контент створюється на сервері, прямо під час вашого запиту
👉 SSG - контент створюється лише під час білду і не змінюється до наступного білду.
Відповідно:
1️⃣ CSR - довго, не дружить з SEO, актуальні дані, зручна навігація
2️⃣ SSR - швидше, дружить з SEO, актуальні дані, складніше
3️⃣ SSG - дуже швидко, дружить з SEO, потрібен новий деплой щоб оновити дані.
👉А #NextJS тут до того, що він може працювати в будь-якій моделі, хоча за замовчуванням він працює саме в моделі Server Side Rendering і орієнтований на неї.
👾Цікавий факт, що ми починали з SSG, потім перейшли на SSR, потім на CSR і зараз знову повертаємось до SSR, але з можливостями CSR. Історія, як завжди, йде по спіралі.
@reactbeginners
❓Як з'ясувалося, є деяке нерозуміння що таке і чим відрізняються Client Side Rendering від Server Side Rendering та Static Site Generators.
Відмінність проста, але принципова.
👉 CSR - контент який ви бачите створюється на клієнті (прямо у вашому браузері)
👉 SSR - контент створюється на сервері, прямо під час вашого запиту
👉 SSG - контент створюється лише під час білду і не змінюється до наступного білду.
Відповідно:
1️⃣ CSR - довго, не дружить з SEO, актуальні дані, зручна навігація
2️⃣ SSR - швидше, дружить з SEO, актуальні дані, складніше
3️⃣ SSG - дуже швидко, дружить з SEO, потрібен новий деплой щоб оновити дані.
👉А #NextJS тут до того, що він може працювати в будь-якій моделі, хоча за замовчуванням він працює саме в моделі Server Side Rendering і орієнтований на неї.
👾Цікавий факт, що ми починали з SSG, потім перейшли на SSR, потім на CSR і зараз знову повертаємось до SSR, але з можливостями CSR. Історія, як завжди, йде по спіралі.
@reactbeginners
❤31👍11
Інструкція: Як налаштувати #NextJS з нуля - prettier, eslint, jest, автоматизація
❓Хто цікавився як налаштувати Next.JS v13.4 з нуля - прошу ознайомитися з цією інструкцією.
В програмі:
- Prettier
- EsLint
- Автоматизація форматування з husky на commit
- Jest і його автоматизація на push
- Підказки для деплойменту Azure
Мінімум води + готовий код (писав як для себе)
❤️ Буду вдячний за поширення!
@reactbeginners
❓Хто цікавився як налаштувати Next.JS v13.4 з нуля - прошу ознайомитися з цією інструкцією.
В програмі:
- Prettier
- EsLint
- Автоматизація форматування з husky на commit
- Jest і його автоматизація на push
- Підказки для деплойменту Azure
Мінімум води + готовий код (писав як для себе)
❤️ Буду вдячний за поширення!
@reactbeginners
❤52🔥16
❗️Зміна форматування файлу
❓В задачі питається - ДЕ Я ТАК НАГРІШИВ?
Поки без подробиць, бо ще розбираємось, але схоже на trailing coma.
П.М. Все всім відправлено, чекаємо на звіт.
next.config.js
може призвести до зміни в самому білді #NextJS❓В задачі питається - ДЕ Я ТАК НАГРІШИВ?
Поки без подробиць, бо ще розбираємось, але схоже на trailing coma.
П.М. Все всім відправлено, чекаємо на звіт.
❤4
🔥 Next.JS 14.0🔥
🎉 26 жовтня вийшов мажорний реліз Next.JS v.14. І я вже навіть зібрався зробити на нього відео огляд, але після ознайомлення і деяких експериментів весь огляд можна звести до 🤷♂️
Ні, в теорії нові можливості виглядають цікаво:
=> Прискорення на 54% запуску локального серверу та прискорення HMR на 94% (але все ще за прапорцем
=> Серверні дії: код який ви можете позначити як такий, що має виконуватися на сервері і оминути процес створення API.
Але на практиці... Прискорення звісно приємна річ, але не критична. А серверні дії ще більше ускладнюють модель застосунку, виглядають як чорна магія та надто обмежені (як на мене)
👉 Єдине що радує це нові навчальні матеріали.
😕 Ось такий вийшов новий мажорний реліз next14, відео огляд якого міг би зайняти 30 секунд.
Всім гарного дня, бережіть себе і допомагайте ЗСУ
@reactbeginners
🎉 26 жовтня вийшов мажорний реліз Next.JS v.14. І я вже навіть зібрався зробити на нього відео огляд, але після ознайомлення і деяких експериментів весь огляд можна звести до 🤷♂️
Ні, в теорії нові можливості виглядають цікаво:
=> Прискорення на 54% запуску локального серверу та прискорення HMR на 94% (але все ще за прапорцем
--turbo
)=> Серверні дії: код який ви можете позначити як такий, що має виконуватися на сервері і оминути процес створення API.
Але на практиці... Прискорення звісно приємна річ, але не критична. А серверні дії ще більше ускладнюють модель застосунку, виглядають як чорна магія та надто обмежені (як на мене)
👉 Єдине що радує це нові навчальні матеріали.
😕 Ось такий вийшов новий мажорний реліз next14, відео огляд якого міг би зайняти 30 секунд.
Всім гарного дня, бережіть себе і допомагайте ЗСУ
@reactbeginners
nextjs.org
Next.js 14
Next.js 14 includes included performance, stability for Server Actions, a new course teaching the App Router, and more.
👍15🔥14❤🔥1
Вчора вийшли два відео про #NextJs
Хто ще не дивився - подивіться і поставте лайк, бо схоже навіть ютуб Next не любить 😀
CSS - теорія
СSS - практика
Наступне відео буде про роутинг, має бути цікавішим. А практику я думаю зробити по всьому пройденому матеріалу в прямому ефірі.
Хто ще не дивився - подивіться і поставте лайк, бо схоже навіть ютуб Next не любить 😀
CSS - теорія
СSS - практика
Наступне відео буде про роутинг, має бути цікавішим. А практику я думаю зробити по всьому пройденому матеріалу в прямому ефірі.
YouTube
3-1. NextJs та стилізація - CSS, CSS Modules, SCSS, CSS in JS
У цьому відео ми поговоримо про стилізацію в Next.JS. Що працює одразу, що можна встановити, та які є проблеми на сьогодні з CSS in JS
💻 Програма та матеріали - https://github.com/Drag13/NextJS-express-course-app
🧑💻Код https://github.com/Drag13/NextJS-express…
💻 Програма та матеріали - https://github.com/Drag13/NextJS-express-course-app
🧑💻Код https://github.com/Drag13/NextJS-express…
👍37❤2😁1
Всім привіт.
Сьогодні, в понеділок, о 19:00 виходить наступне відео про #NextJS присвячене роутингу. Поговоримо про те як додавати різноманітні види нових сторінок.
А от в середу ввечері у нас буде прямий ефір на якому будемо пробувати все те що ми проходили попередньо - зробимо частину мікроблогу, тож резервуйте час - середа, 19:00.
Цей ефір - кінець першої частини курсу. Лінка буде вже завтра.
Бережіть себе, допомагайте ЗСУ і гарного всім тижня!
Сьогодні, в понеділок, о 19:00 виходить наступне відео про #NextJS присвячене роутингу. Поговоримо про те як додавати різноманітні види нових сторінок.
А от в середу ввечері у нас буде прямий ефір на якому будемо пробувати все те що ми проходили попередньо - зробимо частину мікроблогу, тож резервуйте час - середа, 19:00.
Цей ефір - кінець першої частини курсу. Лінка буде вже завтра.
Бережіть себе, допомагайте ЗСУ і гарного всім тижня!
YouTube
4-1 Next.JS та Клієнтський роутинг
Як додати нову сторінку в NextJS? А куди покласти навігацію та футер? Що таке loading.tsx і навіщо він потрібен? Про все це у новому випуску Next.JS експресс курс.
💻 Програма та матеріали - https://github.com/Drag13/NextJS-express-course-app
🧑💻Код http…
💻 Програма та матеріали - https://github.com/Drag13/NextJS-express-course-app
🧑💻Код http…
🔥25❤5👍1
Як знайти невикористані експорти в TypeScript проекті
Вітаю 🎉, ви знайшли знайшли експорти, що або зовсім не використовуються, або використовуються в середині модуля і їм можна прибрати
З ростом проекту таке слід робити періодично - дозволяє більш менш безпечно видаляти зайвий код. Ще більш актуально така чистка стає, якщо над проектом працює велика кількість постійно нових людей 😉
З #NextJS буде трохи проблем, використовуйте прапорець
Документація тут
@reactbeginners
npx ts-prune -p
Вітаю 🎉, ви знайшли знайшли експорти, що або зовсім не використовуються, або використовуються в середині модуля і їм можна прибрати
export
. З ростом проекту таке слід робити періодично - дозволяє більш менш безпечно видаляти зайвий код. Ще більш актуально така чистка стає, якщо над проектом працює велика кількість постійно нових людей 😉
З #NextJS буде трохи проблем, використовуйте прапорець
-i
для того щоб вимкнути перевірку не потрібних файлів (page.tsx, layout.tsx, etc) Документація тут
@reactbeginners
❤22👍7🥰3
Прохання підтримати пост і обов'язково приходьте сьогодні, о 19:00.
Буде і цікаво і корисно.
ПМ (міг - впади!)
@reactbeginners
Буде і цікаво і корисно.
ПМ (міг - впади!)
@reactbeginners
Linkedin
Vitalii Ruban on LinkedIn: 5. NextJS - клієнтська частина від А до Я
#NextJs та #react - запрошую всіх сьогодні, 06.03 о 19:00 на прямий ефір присвячений всьому пройденому матеріалу з експерс курсу "NextJS для початківців"
Мета…
Мета…
👍43❤12🏆1
Не беріть #NextJS в адмінку, це погана ідея:
1. Next, в першу чергу, це server side rendering (SSR)
2. SSR це додана складність і часом суттєва (спитайте Влада)
3. SSR адмінцідо одного місця не потрібен
Висновок: ви додаєте складність в обмін на ніщо.
Для адмінки беріть щось більше до цього пристосоване - можна чистий React, можна PHP, .NET + Razor. Але не Next, не наступайте на мої граблі, не робіть каку на пустому місці
П.М. На перший погляд ці двері однакові
@reactbeginners
1. Next, в першу чергу, це server side rendering (SSR)
2. SSR це додана складність і часом суттєва (спитайте Влада)
3. SSR адмінці
Висновок: ви додаєте складність в обмін на ніщо.
Для адмінки беріть щось більше до цього пристосоване - можна чистий React, можна PHP, .NET + Razor. Але не Next, не наступайте на мої граблі, не робіть каку на пустому місці
П.М. На перший погляд ці двері однакові
@reactbeginners
👍43
Чекліст перед початком нового #FrontEnd проекту
Мінімальний розмір екрану
Визначаємо мінімальний розмір екрану і верстаємо одразу під нього. Перероблювати потім - дорого і довго. Перевіряємося за допомогою Google Developer Tools
"Найгірший" браузер
Дізнаємося який "найгірший" браузер хоче бачити наш замовник і перевіряємо на ньому. Найгірші в моєму порядку черговості - IE (хвала всім його дропнули), Safari, Firefox. Але може бути вимога щоб працювало в Opera Mini або на якійсь екзотиці, тоді готуйтеся страждати.
#SEO
Якщо потрібно SEO - беремо Server Side Rendering (#NextJs/Remix) або взагалі не React. Перероблювати потім суттєво дорожче. Якщо SEO не потрібно - #SSR брати не варто.
Доступність
Якщо треба то який рівень? Норвегія, США, зазвичай це WCAG AA (перекладено українською) для публічно доступних сторінок. Ставимо wave і перевіряємося постійно. Як варіант - в playwright є можливість писати тести для доступності. Дороблювати потім - неймовірно боляче.
Мультимовність.
Якщо так - налаштовуємо одразу і не хардкодимо тексти, а одразу використовуємо компонент що вміє перекладати (FormattedMessage як приклад).
Ще трохи (швидкодія, безпека) є тут
Складно? Так. Рівень джуна? Ні. Але краще про все це думати одразу і домовлятися на березі, аби потім не було дуже боляче. І не забувайте фіксувати ці домовленості письмово - бо усні домовленості люди чомусь "забувають".
Всім добра, допомагайте ЗСУ
@reactbeginners
Мінімальний розмір екрану
Визначаємо мінімальний розмір екрану і верстаємо одразу під нього. Перероблювати потім - дорого і довго. Перевіряємося за допомогою Google Developer Tools
"Найгірший" браузер
Дізнаємося який "найгірший" браузер хоче бачити наш замовник і перевіряємо на ньому. Найгірші в моєму порядку черговості - IE (хвала всім його дропнули), Safari, Firefox. Але може бути вимога щоб працювало в Opera Mini або на якійсь екзотиці, тоді готуйтеся страждати.
#SEO
Якщо потрібно SEO - беремо Server Side Rendering (#NextJs/Remix) або взагалі не React. Перероблювати потім суттєво дорожче. Якщо SEO не потрібно - #SSR брати не варто.
Доступність
Якщо треба то який рівень? Норвегія, США, зазвичай це WCAG AA (перекладено українською) для публічно доступних сторінок. Ставимо wave і перевіряємося постійно. Як варіант - в playwright є можливість писати тести для доступності. Дороблювати потім - неймовірно боляче.
Мультимовність.
Якщо так - налаштовуємо одразу і не хардкодимо тексти, а одразу використовуємо компонент що вміє перекладати (FormattedMessage як приклад).
Ще трохи (швидкодія, безпека) є тут
Складно? Так. Рівень джуна? Ні. Але краще про все це думати одразу і домовлятися на березі, аби потім не було дуже боляче. І не забувайте фіксувати ці домовленості письмово - бо усні домовленості люди чомусь "забувають".
Всім добра, допомагайте ЗСУ
@reactbeginners
🔥78👍11❤6