За последние пять лет веб-разработка претерпела множество изменений.
Если вы веб-разработчик, вы привыкли к этим новым инструментам, составляющим современный стек веб-разработки.

Самый значительный прорыв произошел с Babel, продвигаемым Facebook и его библиотекой React, с использованием нового типа языка javascript под названием JSX. Этот список можно продолжить в экосистемах javascript, вы, вероятно, уже встречались с CoffeeScript или совсем недавно с Typescript. CSS последовал этой тенденции с такими языками, как SASS или LESS.
Все эти языки имеют одну общую черту; все они компилируются в javascript или CSS, язык браузера.

Компилятор в веб-экосистеме называется Webpack, Rollup или Parcel. Они берут ваш исходный код и, в зависимости от настроенного вами загрузчика, позволяют вам использовать другой синтаксис javascript или даже совершенно другой язык (например, elm).
Эти компиляторы стали нормой; они нужны нам, чтобы обогатить наш опыт работы с javascript. Typescript невероятно полезен для кодирования больших и сложных веб-приложений или библиотек.

Современные фреймворки Javascript также изменили способ разработки веб-приложений. React прославился своим функциональным подходом, рассматривая каждый компонент как функцию с состоянием в качестве параметров. Он также представил JSX, который позволяет вам писать свой шаблон прямо в ваш javascript.
Это было состояние веб-разработки до появления Svelte.

Svelte взял все вышеперечисленное, но пошел еще дальше.
В то время как React реализует все виды магии, чтобы упростить вашу веб-разработку, например, виртуальный DOM сделал возможным его функциональный подход с компонентами.
Вам все равно придется иметь дело с большим количеством шаблонов, чтобы оптимизировать ваше приложение и избежать ненужных различий DOM, которые являются дорогостоящими и потребляют ваш процессор и оперативную память.
Svelte решил, что, поскольку у нас все равно есть компиляторы. Мы должны включить в язык javascript гораздо больше, чем просто шаблоны (JSX) или типизацию (Typescript).

Да, Svelte — это язык.

Он включает в себя настоящую реакцию на ваш пояс с инструментами. И это большое дело. Svelte в основном создает основу для вашего языка. И выведет простой ванильный JS. Концепция проста. Каждая изменяемая переменная, объявленная в вашем коде, выводит функцию pubsub, каждый раз, когда эта часть состояния изменяется, Svelte будет обновлять каждую затронутую часть вашего шаблона. Просто и невероятно полезно.

Если вы являетесь бэкэнд-программистом, вы, вероятно, слышали о таких системных языках, как Rust или GO, которые компилируются на множество различных платформ, создавая двоичные файлы для Windows, Mac или Linux, в отличие от других известных языков, использующих виртуальную машину. для работы на этих платформах.
Эта виртуальная машина имеет свою цену с точки зрения производительности и размера двоичного файла.
Вы можете думать о Svelte как о системном языке для браузера. Ему не нужен виртуальный DOM, чтобы упростить кодирование вашего приложения. Он компилируется в vanilla js, и это огромный прирост памяти и процессора.

Я большой сторонник Svelte; Svelte открыл новый способ разработки веб-приложений. Они легче, работают лучше и их еще проще построить.