Svelte

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

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

Описание[править]

Первая версия была восрана в 2016.

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

Компоненты Svelte пишутся в файлах с расширением .svelte, где в одном файле всирают HTML, CSS, JavaScript.

В версиях до 5 реактивность была автоматической и присваивание переменной с префиксом $ создавало реактивное выражение. В Svelte 5 восраны функции-макросы, так как автоматическая реактивность вызвала много проблем, оказалось что случайно что-то не то начинает жужжать не в том стиле и приносит неправильный мёд.

После работы компилятора производится рабочий JavaScript, то бишь жабий код, который можно спокойно исполнять как обычный.

Svelte лидирует в бенчмарках, его Bundle в 2-5 раз меньше React, а обновления DOM быстрее за счёт отсутствия виртуального DOM. Однако есть и проблема в виде не такого большого количества собственных библиотек, так что при надобности восрать что-то нетривиальное придётся как бы думать.

Movax1010h.png Глубокий смысл скрыт в этих неестественных языках
Языки программированияПромышленные: BATC#CC++JavaJavaScript (AJAX) • PascalPerlPHPPythonRubyABAPАссемблерВасикFortran (Профессор)
Эзотерические: BrainFuckHQ9++ErlangForthHaskellLISP (My other car) • PrologTclΤΕΧOracleMySQLGolangВ++ScalaH и Ё+
ПрофессииБыдлокодерПрограммистТестировщикХакерХеллоуворлдщикIT-звёздыПрограммист (существо)Тернарный операторUnreal MCPИсходный кодSingle-Page ApplicationGiteaForgejoCephIDEДжуниор
Методы и стилиReverse EngineeringАнти-паттернВыстрелить себе в ногуГрязный хакКод (индусский) • КостыльМетод научного тыкаПомолясьСвистелки и перделкиОчередьСпортивное программированиеОбфускацияБета-тестАльфа-тестШаблоныRegReplaceФреймворкБыдлокодIndex.phpОхота за жукамиКуМирКлеточный автоматПроцедурное программированиеПоиск файлов в Unix по содержимомуPetoohФункция активации нейронаПерегрузка операторов в PythonЗерокодинг
Средства разработкиSublime TextПодсветка синтаксиса кодаUnstable DiffusionAPIPythonTutorCodeWarsDataCampUnity3DКнижный PythonMallocСвязный списокSOLIDООПУказательNULLWeLang++XenonRecompFuse.jsОптимизацияТестированиеAmbreon866Реверс-инжинирингКроссплатформенностьJSON
ЛюдиИлья КанторЮрий КлючевскийЭдуард ЛаасЭдвард СноуденСеймур Пейперт
Прочее++i + ++iДедлайн%s640 килобайтCMSDummy modeЕГГОГFoobarGod is real, unless explicitly declared as integerGOTOIfconfigKISSRegExpSICPsql.ruXyzzyДискетаИнжалид дежицеКОИ-8ЛогМанРекурсияСУБДТест ТьюрингаУмение разбираться в чужом кодеФаза ЛуныФатальный недостатокПроблема 2000ТаймстампКэшЗапись в файл без кэша (Perl)Танцы с бубномКодачХукCurl cffiВибе-кодингFlutterАппликативный оператор