Per molto tempo Ja­va­Script è stato in­di­spen­sa­bi­le per creare contenuti web ac­cat­ti­van­ti. A tal fine, tuttavia, gli svi­lup­pa­to­ri web dovevano in­nan­zi­tut­to pa­dro­neg­gia­re il lin­guag­gio di pro­gram­ma­zio­ne e non tutti avevano tempo e voglia di ci­men­tar­si in questo compito. Per questo ci sono i co­sid­det­ti framework che for­ni­sco­no agli svi­lup­pa­to­ri una struttura in cui anche le funzioni Ja­va­Script com­pli­ca­te possono essere eseguite au­to­ma­ti­ca­men­te. Ciò riduce con­si­de­re­vol­men­te l’impegno ne­ces­sa­rio per la pro­gram­ma­zio­ne. In compenso, tuttavia, la maggior parte dei framework carica pe­san­te­men­te il browser. Svelte offre invece un approccio ra­di­cal­men­te nuovo.

Che cos’è Svelte?

Anche Svelte (o SvelteJS) è un framework per lo sviluppo di app Ja­va­Script, gratuito e open source. In quanto tale fornisce la struttura di base per l’app futura e im­por­tan­ti funzioni ri­cor­ren­ti sotto forma di librerie integrate au­to­ma­ti­ca­men­te. Il framework definisce le opzioni di base all’interno di una de­ter­mi­na­ta struttura e determina so­stan­zial­men­te il processo di sviluppo. I framework uti­liz­za­ti nella pro­gram­ma­zio­ne di ap­pli­ca­zio­ni web sono facili da usare dopo un breve periodo di orien­ta­men­to.

N.B.

Ja­va­Script, ab­bre­via­to in JS, è un lin­guag­gio di scripting, che amplia le pos­si­bi­li­tà dell’HTML standard e del CSS e che può essere in­ter­pre­ta­to da tutti i moderni browser. Consente di creare siti e web app in­te­rat­ti­vi. Tuttavia, oltre al nome, Java Script ha ben poco in comune con il lin­guag­gio di pro­gram­ma­zio­ne superiore Java.

Svelte è uno strumento ideale per la rea­liz­za­zio­ne di ap­pli­ca­zio­ni web veloci ed è so­stan­zial­men­te simile ad altri framework Ja­va­script come Angular, Vue, Ractive o React. Proprio come loro Svelte si basa su Ja­va­Script e consente la pro­get­ta­zio­ne di in­ter­fac­ce utente in­te­rat­ti­ve. Tuttavia, il codice generato è molto più snello rispetto ai framework tra­di­zio­na­li.

Quali vantaggi offre Svelte?

Svelte è in­no­va­ti­vo in quanto può con­ver­ti­re un codice framework complesso in un codice Ja­va­Script ot­ti­miz­za­to e semplice. La maggior parte dei framework pre­ce­den­ti lasciava al browser il compito di in­ter­pre­ta­re e vi­sua­liz­za­re l’app in Ja­va­Script, con un con­se­guen­te ral­len­ta­men­to della vi­sua­liz­za­zio­ne. Svelte, invece, compila l’app già durante lo sviluppo in un codice Ja­va­Script snello e ot­ti­miz­za­to. Un obiettivo nello sviluppo di Svelte era anche quello di dare allo svi­lup­pa­to­re web la pos­si­bi­li­tà di scrivere un codice il più possibile snello e in­tel­li­gen­te, senza doversi tra­sci­na­re dietro troppa zavorra con il framework.

Come si dif­fe­ren­zia Svelte dagli altri framework?

Il problema con i framework tra­di­zio­na­li è sempre lo stesso: invece di sem­pli­fi­ca­re il codice Ja­va­Script per renderlo ese­gui­bi­le nel browser, ampliano il codice e con­sen­to­no a tutte le funzioni del framework, spesso inu­ti­liz­za­te, di essere in­ter­pre­ta­te da Ja­va­Script. Di con­se­guen­za, anche ap­pli­ca­zio­ni re­la­ti­va­men­te piccole in un framework tra­di­zio­na­le si espandono in script di grandi di­men­sio­ni, la cui ese­cu­zio­ne costa tempo di ela­bo­ra­zio­ne e volume di dati. In breve: i framework aiutano a strut­tu­ra­re i pensieri ma non il codice. Spesso il problema è che gli svi­lup­pa­to­ri del framework sono fo­ca­liz­za­ti sull’ese­cu­zio­ne nel browser e tra­scu­ra­no l’uso del puro Ja­va­Script “Vanilla”. Questa è la dif­fe­ren­za fon­da­men­ta­le rispetto a Svelte. A eccezione di alcuni comandi di base, che possono essere appresi molto ra­pi­da­men­te, Svelte si serve di puro HTML, CSS e Ja­va­Script.

Fatto

CSS (Cascading Style Sheets) è un lin­guag­gio semplice, che descrive il design visivo di una pagina HTML. Mentre il codice HTML contiene solo il contenuto effettivo, la pagina può essere vi­sua­liz­za­ta in modo diverso al­ter­nan­do il codice CSS ad esempio su piat­ta­for­me di di­spo­si­ti­vi diverse.

Durante il processo di creazione, i com­po­nen­ti dell’app vengono compilati in moduli Ja­va­Script in­di­pen­den­ti. Il pro­gram­ma­to­re può ve­ri­fi­ca­re la stabilità e l’ese­cu­zio­ne del suo programma compilato in qualsiasi momento in una finestra di anteprima. Il vantaggio di questa procedura è che lo script finale diventa estre­ma­men­te snello e veloce. In Svelte lo script, che dif­fi­cil­men­te può essere in­fluen­za­to, non si espande come nei framework tra­di­zio­na­li. Il risultato è che si ottengono pre­sta­zio­ni fino a 10 volte più veloci, rispetto, ad esempio, al popolare framework REACT.

L’ar­chi­tet­tu­ra di SvelteJS

Svelte per JS (Ja­va­Script) è co­sti­tui­to da diversi com­po­nen­ti. La sua at­trat­ti­va par­ti­co­la­re è che lo svi­lup­pa­to­re web non deve pre­oc­cu­par­si dei com­po­nen­ti CSS fa­sti­dio­si e soggetti a errori. È suf­fi­cien­te definire semplici tag HTML o XML e lasciare che SvelteJS li in­ter­pre­ti. SvelteJS crea anche i com­po­nen­ti dell’app. Il codice HTML è scritto in una co­sid­det­ta finestra di input REPL (Read-eval-print loop) nel browser. L’in­ter­pre­ta­zio­ne di Ja­va­Script avviene im­me­dia­ta­men­te e au­to­ma­ti­ca­men­te. Così la stabilità del codice può essere subito ve­ri­fi­ca­ta.

Dove viene uti­liz­za­to Svelte in modo ottimale?

Con il suo approccio semplice e molto ridotto Svelte consente esten­sio­ni di web app con pos­si­bi­li­tà molto ampie. Mentre in REACT pra­ti­ca­men­te l’intero script deve essere chiaro fin dall’inizio, Svelte consente fa­cil­men­te ulteriori esten­sio­ni, senza pre­giu­di­ca­re la stabilità e le pre­sta­zio­ni dell’app. Ciò rende Svelte uno strumento ideale per lo sviluppo di nuove app e per l’aumento delle pre­sta­zio­ni delle strutture esistenti. Gli svi­lup­pa­to­ri di SvelteJS si rivolgono so­prat­tut­to ai prin­ci­pian­ti nella pro­gram­ma­zio­ne di app e offrono loro kit di avvio, con i quali è possibile ottenere ra­pi­da­men­te dei risultati. Na­tu­ral­men­te anche SvelteJS pre­sup­po­ne alcune co­no­scen­ze pre­li­mi­na­ri, spe­cial­men­te dei codici CSS e Ja­va­Script. Tuttavia, l’approccio snello del framework Svelte consente ai prin­ci­pian­ti di orien­tar­si fa­cil­men­te nell’ambiente di pro­gram­ma­zio­ne.

In­stal­la­re SvelteJS o provarlo online?

Per eseguire SvelteJS in locale sul proprio sistema è ne­ces­sa­rio in­stal­la­re Node JS. Dopodiché SvelteJS può essere in­stal­la­to dal re­po­si­to­ry di GitHub.

git clone https://github.com/sveltejs/svelte.git
cd svelte
npm install

L’ambiente di sviluppo di SvelteJS funziona su un server web locale all’indirizzo "http://localhost:5000". La pagina demo online di Svelte offre un buon approccio a SvelteJS, senza dover in­stal­la­re il pacchetto del programma. Script di esempio sono offerti per tutti i com­po­nen­ti im­por­tan­ti, che possono essere mo­di­fi­ca­ti e testati uti­liz­zan­do lo strumento REPL originale. In questo modo si può ra­pi­da­men­te capire se e in che misura SvelteJS è adatto per im­ple­men­ta­re la propria idea di app.

Pro­spet­ti­ve: Svelte come standard uni­ver­sa­le per le app?

Grazie al volume di dati estre­ma­men­te ridotto, SvelteJS consente app più potenti e veloci rispetto ai framework tra­di­zio­na­li. Svelte, tuttavia, è ancora molto giovane e la sua community ancora piccola. SvelteJS promette un accesso migliore, un approccio più facile e risultati più rapidi e finora sembra aver mantenuto queste promesse. Se SvelteJS dovesse ef­fet­ti­va­men­te rivelarsi molto più potente di VUE, Ractive o REACT, potrebbe presto so­sti­tuir­li e diventare il nuovo standard uni­ver­sa­le per lo sviluppo di web app per di­spo­si­ti­vi mobili.

Vai al menu prin­ci­pa­le