Zapis arhitekturne odluke: front-end JavaScript biblioteka Svelte
Status: Prihvaćeno
Kontekst
Razvijamo web aplikaciju pomoću modernog front-end JavaScript okvira. Želimo odabrati biblioteku koja je lagana, brza i jednostavna za uporabu. Vrednovali smo nekoliko biblioteka, uključujući React, Vue i Angular. Čuli smo i za Svelte, koji se predstavlja kao novi tip lakog okvira. Moramo vrednovati Svelte i odlučiti odgovara li našoj aplikaciji.
Odluka
Nakon razmatranja prednosti i nedostataka svake biblioteke odlučili smo koristiti Svelte kao našu front-end JavaScript biblioteku iz sljedećih razloga:
Lagan: Svelte je jedna od najlakših dostupnih biblioteka, što će nam pomoći zadržati malu veličinu aplikacije i poboljšati vremena učitavanja stranica.
Brz: Svelte je poznat po brzini renderiranja, zbog čega će naša aplikacija djelovati responzivno i hitro.
Jednostavan za uporabu: Sintaksa Sveltea je jednostavna i lako razumljiva, što će našem timu olakšati njegovo usvajanje i pisanje čistog koda.
Optimiziran za renderiranje UI-ja: Svelte je optimiziran za renderiranje UI komponenti, što će nam olakšati izradu dinamičnih UI elemenata za višekratnu uporabu.
Dobra dokumentacija i podrška zajednice: Svelte ima rastuću zajednicu i dobru dokumentaciju, što će nam pomoći da brzo započnemo i riješimo sve probleme koji se pojave.
Alternative
Razmatrali smo React, Vue i Angular, ali smo odlučili protiv njih iz sljedećih razloga:
React: Iako React ima veliku bazu korisnika i bogatstvo biblioteka i resursa, može biti složen i težak za učenje, osobito za početnike.
Vue: Vue je lagana biblioteka koju je lako naučiti i koristiti, ali možda nije tako brza ni optimizirana kao Svelte.
Angular: Angular je sveobuhvatan okvir koji nudi mnoge značajke i alate, ali može biti težak i složen te može zahtijevati više održavanja od Sveltea.
Posljedice
Korištenje Sveltea kao naše front-end JavaScript biblioteke imat će sljedeće posljedice:
Naša će aplikacija biti lagana i brza, što će poboljšati korisničko iskustvo i angažman.
Naš tim morat će naučiti novu biblioteku, ali sintaksa Sveltea je jednostavna i lako razumljiva, pa bi krivulja učenja trebala biti podnošljiva.
Svelte je još uvijek relativno nova biblioteka, pa se možemo susresti s problemima koji nisu dobro dokumentirani ili podržani od zajednice.
Zajednica korisnika Sveltea raste, pa u budućnosti možemo vidjeti da postaje dostupno više biblioteka i resursa trećih strana koji se mogu koristiti za dopunu osnovne biblioteke.
Zaključak
Na temelju našeg vrednovanja odlučili smo koristiti Svelte kao front-end JavaScript biblioteku za našu web aplikaciju. Vjerujemo da lakoća i brzina Sveltea, jednostavnost uporabe i optimizirano renderiranje UI-ja čine ga najboljim izborom za naše potrebe. I dalje ćemo pratiti razvoj Sveltea i njegove zajednice te prema potrebi izmijeniti svoj izbor.