Bosh sahifa Wiki Svelte

Svelte

Svelte — Rich Xarris tomonidan 2016-yilda taqdim etilgan JavaScript freymvorki bo’lib, u React yoki Vue kabi ko’pchilik zamonaviy vositalardan tubdan farqli yondashuvni qo’llaydi: brauzerda ishlaydigan kutubxona o’rniga, kompilyator sifatida ishlaydi.

Virtual DOM’siz yondashuv

React va Vue kabi freymvorklar interfeys o’zgarishlarini aniqlash uchun “virtual DOM” deb ataladigan xotiradagi nusxa bilan solishtirish usulidan foydalanadi. Svelte esa bu jarayonni butunlay chetlab o’tadi — u qaysi ma’lumot o’zgarganda qaysi DOM elementi yangilanishi kerakligini oldindan, kompilyatsiya bosqichida hisoblab chiqadi.

Kompilyatsiya vaqtida ishlov berish

Dasturchi Svelte’da yozgan komponent kodi build jarayonida oddiy, freymvorksiz JavaScript kodiga aylantiriladi. Bu shuni anglatadiki, foydalanuvchi brauzerida freymvork kutubxonasining o’zi yuklanmaydi — faqat kerakli, minimal JavaScript yetkaziladi, bu esa yakuniy ilova hajmini kichraytiradi va ishlash tezligini oshiradi.

React va Vue bilan farqi

React‘da holat o’zgarishi useState kabi maxsus funksiyalar orqali e’lon qilinishi kerak bo’lsa, Svelte’da oddiy JavaScript o’zgaruvchisini o’zgartirish kifoya — kompilyator buni avtomatik kuzatadi. Bu soddalik Svelte kodini ko’pincha bir xil vazifani bajaruvchi React kodiga qaraganda qisqaroq va o’qish osonroq qiladi.

SvelteKit

SvelteKit — Svelte asosida qurilgan to’liq huquqli ilova freymvorki bo’lib, u server tomonida render qilish (SSR), fayl asosidagi marshrutlash va statik sayt generatsiyasi kabi imkoniyatlarni taqdim etadi — bu jihatdan u Next.js yoki Nuxt.js‘ga o’xshash rolni Svelte ekotizimida bajaradi.

Ekotizim hajmi

Svelte’ning texnik afzalliklariga qaramay, uning ish o’rinlari bozori va uchinchi tomon kutubxonalar soni React yoki Vue‘ga qaraganda ancha kichik. Bu holat ba’zi kompaniyalarni, garchi Svelte’ni texnik jihatdan afzal ko’rsalar-da, kattaroq ekotizimga ega freymvorklarni tanlashga undaydi.

Bog’liq tushunchalar

React, Vue, Virtual DOM, Kompilyator, SvelteKit, JavaScript, Server-side rendering