Для тех, кто знаком с React, Svelte очень похож. Оба являются платформами Javascript с открытым исходным кодом, используемыми для создания веб-приложений. Первоначально Svelte был выпущен в 2016 году и был создан Ричем Харрисом. В настоящее время он используется несколькими компаниями, включая The New York Times, Spotify и Chess.

Основное различие между ними заключается в том, что Svelte использует меньше кода, чем React. React требует использования ловушек для отслеживания состояния, тогда как Svelte не требует ловушек и отслеживает состояние автоматически. Svelte также гораздо более реактивен; он хирургически обновляет DOM при изменении состояния, тогда как React обновляет компоненты по расписанию на основе ловушек.

Еще одно существенное различие между ними состоит в том, что Svelte — это компилятор — он интерпретирует код приложения во время сборки, а не во время выполнения, как React, и компилирует код в один файл Javascript для загрузки в браузер. Вместо этого React представляет собой библиотеку Javascript и требует больше файлов в дополнение к интерпретации кода во время выполнения. Благодаря этому Svelte становится более производительным и быстрым. Первоначально идея Svelte пришла в голову Харрису, чтобы снизить стоимость доставки Javascript.

Кроме того, вы можете вставлять свои стили CSS прямо в файл .svelte. В каждом файле Svelte есть два разных основных тега — вверху или внизу вы размещаете свои теги ‹style›, и вставьте код CSS между этими тегами. Выше или ниже вы размещаете свои теги ‹script›, где вы пишете свой код Svelte. Другое различие между компонентами состоит в том, что Svelte не требует экспорта каждого компонента, в то время как React требует экспорта компонентов.

Svelte не требует использования JSX, тогда как React использует JSX для создания пользовательских интерфейсов. Svelte использует более простой синтаксис для достижения этой цели, что облегчает обучение для начинающих. Поскольку код Svelte в целом прост, более удобочитаем и требует меньше кода, разработка с помощью Svelte упрощается и ускоряется, особенно отладка.

Svelte также требует меньше сторонних инструментов — в нем есть встроенные переходы, эффекты и анимация, которые могут использовать разработчики, в то время как React требует для этих целей сторонние инструменты. Кроме того, эти эффекты не увеличивают размер приложения.

Наконец, некоторые другие различия между двумя фреймворками — хотя оба имеют открытый исходный код, React разработан Facebook. Из-за этого React вкладывает гораздо больше денег в его разработку. Svelte поддерживается сообществом, поэтому в него вкладывается гораздо меньше денег, и если разработчики устанут его поддерживать, разработка фреймворка может замедлиться или остановиться. Наконец, React гораздо больше используется крупными компаниями и предприятиями. Svelte еще так молод и только недавно стал достаточно зрелым для приложений корпоративного уровня, поэтому он используется гораздо меньшим количеством компаний и, следовательно, имеет гораздо меньшее сообщество. Кроме того, гораздо меньше разработчиков используют Svelte из-за его возраста, и поэтому гораздо меньше поддержки с точки зрения подключаемых модулей, поддержки IDE и других внешних инструментов.

Источники: