Фронтенд
Svelte
Компілятор інтерфейсів: перетворює компоненти на мінімальний JavaScript без важкого рантайму.
Що це
Svelte створив Річ Гаррис у 2016 році. На відміну від React чи Vue, більшу частину роботи він виконує на етапі збірки: компілятор генерує код, що напряму оновлює DOM, без віртуального DOM.
Компонент це файл .svelte з розміткою, логікою й стилями. У Svelte 5 реактивність побудована на runes ($state, $derived, $effect). Стилі за замовчуванням обмежені компонентом.
Повноцінний застосунок збирають на SvelteKit: роутинг, SSR, статична генерація й ендпоінти. Розмір бандла зазвичай менший, ніж у конкурентів.
Коли брати
- Важливі малий розмір бандла й швидкий старт: віджети, лендінги, PWA.
- Хочеш менше шаблонного коду й простий реактивний синтаксис.
- Невеликі команди, які цінують розробницький досвід.
Коли не варто
- Потрібна величезна екосистема готових компонентів і ринок вакансій: React і Vue значно більші.
- Команда не хоче вчити новий компілятор-орієнтований підхід.
Ключові поняття
- Compiler
- Svelte працює під час збірки й генерує оптимізований JS без віртуального DOM.
- Runes
- Позначки
$state,$derived,$effectдля реактивності у Svelte 5. - Scoped styles
- CSS у компоненті діє лише на цей компонент.
- Stores
- Спільний реактивний стан між компонентами.
- SvelteKit
- Метафреймворк: файлове маршрутизування, SSR, адаптери під різні платформи.
Приклад
Питання на співбесіді
1. Чим Svelte відрізняється від React?
Svelte це компілятор: він перетворює компоненти на імперативний код оновлення DOM під час збірки, тому немає віртуального DOM і великого рантайму. React порівнює дерева у браузері.
2. Що таке runes?
Спеціальні позначки (
$state,$derived,$effect) у Svelte 5, що задають реактивність явно. Вони працюють і в.svelte, і в.svelte.jsфайлах.3. Що дає SvelteKit?
Роутинг за файлами, завантаження даних через
load, SSR, статичну генерацію й адаптери для деплою на різні платформи.4. Як у Svelte обмежуються стилі?
Компілятор додає унікальний клас до селекторів компонента, тому правила не впливають на інші частини сторінки.
Схожі технології
- ViteШвидкий dev-сервер і збирач для фронтенду на нативних ES-модулях.
- ReactБібліотека для побудови інтерфейсів із компонентів: UI як функція від стану.
- VueПрогресивний фреймворк для інтерфейсів із шаблонами та реактивністю з низьким порогом входу.
- AstroФреймворк для контентних сайтів: за замовчуванням відправляє мінімум JavaScript, острови інтерактивності за потребою.
Логотипи належать їхнім власникам і використані лише для ідентифікації. Іконки: Simple Icons (CC0), Devicon (MIT).