Фреймворк який підтримує SSR і SSG, але має суттєву перевагу над Next.js та Nuxt.js.
Перевага полягає у тому, що оскільки SvelteKit не юзає Virtual DOM, то для нього гідрація на клієнті не така страшна як для Next.js та Nuxt.js.
Нагадаю, шо там відбувається під час SSR-рендерингу.
Тобто, проблема на кроці 4 призводить до того, що:
Цю траблу частково хендлять в Next.js серверні компоненти, які не гідруются на клієнті. Але ж не всі компоненти серверні. Клієнтські компоненти так само мають цю проблему, просто тепер обсяг проблеми — не абсолютно всі компоненти, а тільки клієнтські, що все ще не ідеально.
В SvelteKit, оскільки ми не маємо Virtual DOM, при гідрації ми просто одразу навішуємо обробники подій на певні DOM-елементи.
Тобто, JS-файл, який ми відправляємо на клієнта, у нас менший, бо там тільки код для обробки подій. Також ми не «жремо» CPU клієнта, бо нам не треба рендерити Virtual DOM на клієнті.
Тому в SvelteKit немає потреби в серверних компонентах, так як проблеми, яку вони вирішують, просто нема у SvelteKit.
У SvelteKit при цьому є інший мінус, з яким я зіштовхнувся. Це мале ком’юніті. Тобто, наприклад, якшо взяти Angular, то навколо нього вибудовуєтся той же Firebase, з Next.js — той Vercel, який дає комфортно юзати останні фічі фреймворку.
З SvelteKit поки не знайшов прям комфортного рішення. Спочатку глянув Firebase, там зараз активно розвивають App Hosting фічу — хостінг додатків, збудованих на SSR-фреймворках, поки що підтримує Angular та Next.js.
SvelteKit можна розгорнути на Firebase, але на cloud-функціях. Але, узявши до уваги, що вже розроблятся той же App Hosting як більш привабливе рішення, то влазити в cloud-функції не дуже хочеться.
Потім глянув, що там у Vercel, як там розгорнути SvelteKit. Це здалося простіше, ніж у Firebase, але все ж не так просто, як Next.js.
Ще один момент — хотів спокійно взяти shadcn-лібу. Для SvelteKit є fork оригінальної ліби, але також не дуже хочеться брати у прод щось, що є fork-ом.
Тому на даному етапі, все ж таки муваюсь у сторону Next.js з Vercel.
Цей текст взято з особистого блогу після отримання дозволу автора.
Блогер та розробник Джозеф Круз розповів, як покращити роботу команди розробників, так показати їм справжню…
Щодня ми носимо в своїй кишені пристрій, що в сотні мільйонів разів потужніший за комп’ютер,…
Оце сиджу, працюю і задумався: «А де ж проходить та тонка межа між фіксом, який…
«Коли вимірюваний показник стає метою, він перестає бути хорошою мірою» Закон який значною мірою відповідальний…
Інколи здається, що ви врахували все. Упевненість у рішенні настільки висока, що ви вже подумки…
Блогер та розробник Джозеф Круз розповів, як він працює програмістом, маючи доволі серйозні проблеми із…