Architecture Decision Record

Active theme: Light

← Primjeri zapisa odluka

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:

  1. 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.

  2. Brz: Svelte je poznat po brzini renderiranja, zbog čega će naša aplikacija djelovati responzivno i hitro.

  3. Jednostavan za uporabu: Sintaksa Sveltea je jednostavna i lako razumljiva, što će našem timu olakšati njegovo usvajanje i pisanje čistog koda.

  4. 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.

  5. 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:

  1. 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.

  2. Vue: Vue je lagana biblioteka koju je lako naučiti i koristiti, ali možda nije tako brza ni optimizirana kao Svelte.

  3. 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:

  1. Naša će aplikacija biti lagana i brza, što će poboljšati korisničko iskustvo i angažman.

  2. 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.

  3. Svelte je još uvijek relativno nova biblioteka, pa se možemo susresti s problemima koji nisu dobro dokumentirani ili podržani od zajednice.

  4. 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.

Izvor: ovu stranicu generirao je ChatGPT, a zatim je uređena radi jasnoće i oblika.