Вопрос с собеседования · Frontend
Чем Svelte отличается от React и Vue?
JuniorАрхитектура фронтенда
Ещё спрашивают так:
- Почему Svelte называют компилятором?
- Что такое руны в Svelte?
Коротко
Svelte — компилятор: компоненты (.svelte) превращаются при сборке в небольшой JS, который напрямую обновляет DOM, без виртуального DOM и тяжёлой библиотеки в рантайме — меньше бандл и быстрый старт. Реактивность в Svelte 5 — руны: $state (состояние), $derived (производное), $effect (побочный эффект), $props (входные данные). Шаблон: {#if}, {#each}, on:click/onclick, bind:value. Для приложений с маршрутизацией и SSR — SvelteKit.
- Меньше шаблонного кода, чем в React
- Экосистема и рынок вакансий меньше, чем у React и Vue
- Стили в компоненте изолированы по умолчанию
Подробно
<script>
let count = $state(0);
let double = $derived(count * 2);
</script>
<button onclick={() => count++}>{count} × 2 = {double}</button>Что хотят услышать
- Компилятор без виртуального DOM.
- Руны $state, $derived, $effect.
- SvelteKit.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Svelte использует виртуальный DOM, как React, но с другим синтаксисом шаблонов
- ✗В Svelte нет способа сделать производное значение
- ✓Компилятор: компоненты превращаются в JS, напрямую обновляющий DOM; реактивность — руны
- ✗Svelte требует большой рантайм-библиотеки в браузере
Связанные вопросы
Партнёр платформы
Разбор собеседования
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.