Il framework Javascript che risolve il fastidioso paradosso della velocità
Qwik ha introdotto un nuovo paradigma di rendering chiamato “Resumability” che rimuove completamente il requisito di idratazione.
 
È stato rilasciato un nuovo framework javascript. L’attesissimo framework Qwik , creato da un dream team di programmatori – Miško Hevery, Manu Martinez Almeida e Adam Bradley – è entrato nella sua fase di beta testing la scorsa settimana. 

Questo non è il tuo framework standard. Introduce un nuovissimo paradigma di rendering denominato “Resumability” che rimuove completamente il requisito dell’idratazione, un metodo utilizzato praticamente da ogni meta-framework per rendere i siti Web resi dal server completamente interattivi e comprensibili. 

 
Lo scopo principale di Qwik è concentrarsi sulla misura del tempo interattivo ritardando il più possibile JavaScript per sfruttare le capacità di caricamento lento del browser. Ciò è in netto contrasto con i framework esistenti, che si avvicinano al rendering lato server e al time-to-interactive come ripensamenti piuttosto che l’obiettivo principale che guida tutte le altre decisioni di progettazione. L’obiettivo di Qwik è ridurre il time-to-interactive, che misura il tempo che passa dalla navigazione verso un URL e la pagina che diventa interattiva, al battito di ciglia anche sul dispositivo mobile più lento. Gli sviluppatori desiderano offrire agli utenti pagine statiche in modo che si carichino rapidamente mantenendo tutta la loro interattività.

Time-to-interactive misurato nel tempo (Altri framework vs Qwik)
Prima di approfondire il prodotto, parliamo del team. 

 
Miško Hevery è il creatore di AngularJS, un framework JavaScript open source utilizzato per creare applicazioni web. Manu Martinez Almeida ha precedentemente creato “Gin” (un framework web scritto in Golang) e “Stencil”, un compilatore che genera componenti Web. Combina le migliori idee dei framework più popolari in un semplice strumento di build-time. Adam Bradley è il co-creatore di Stencil. Insieme e individualmente, sono i programmatori di peso elevato che mirano a sollevare il peso di JavaScript dai siti Web. 

Situazione Catch-22
Nello sviluppo web, c’è una situazione reciprocamente conflittuale per gli sviluppatori quando vogliono sviluppare siti web ricchi di funzionalità e fornire anche velocità. Funzionalità e velocità sono due situazioni in conflitto in un sito Web principalmente perché, per implementare funzionalità, gli sviluppatori devono aggiungere più JavaScript, ma per creare un sito a caricamento rapido, devono utilizzare meno JavaScript.  

Ad esempio, durante l’utilizzo di Next.js , inizialmente accedi a circa 70 kilobyte di JavaScript. Il codice dell’applicazione aggiungerà quindi almeno alcune centinaia di kilobyte aggiuntivi a quello e si ridimensionerà in base alla quantità di codice dell’applicazione presente nella pagina. Questo perché, al caricamento iniziale della pagina, il framework deve idratare il dom e ricostruire l’intero albero dei componenti da zero. E ogni volta che l’utente aggiorna la pagina, il thread principale carica nuovamente il JS e l’utente esegue nuovamente il gioco in attesa. 

Il framework Astro ha riconosciuto questo problema e utilizza una tecnica chiamata “idratazione parziale” per idratare selettivamente il dom.

Riportabilità in soccorso
Tuttavia, Qwik elimina completamente l’idratazione, come se non fosse nemmeno necessaria. Fornisce HTML istantaneamente interattivo. Pertanto, indipendentemente da quanto sia ampia e intricata la tua base di codice javascript, dovresti essere in grado di ottenere un punteggio di prestazioni faro impeccabile.


Ma come è possibile? 
La differenza principale è che un’app Qwik può essere completamente serializzata come HTML. In altre parole, puoi premere il pulsante di pausa in qualsiasi momento e acquisire tutti i dati e le chiusure nell’applicazione come una stringa HTML. Questo è enorme per il rendering lato server perché, nel momento in cui l’HTML raggiunge il browser, può semplicemente riprendere da dove il server si era interrotto senza richiedere alcun javascript, motivo per cui è stato coniato il termine “Riprisponibilità”. 

Il caricatore Qwik, che prende l’HTML statico generato dal rendering lato server e lo riprende, è inferiore a 1 kb e verrà eseguito in meno di 1 ms. La quantità di codice che gli sviluppatori devono eseguire è sorprendentemente piccola e viene eseguita in meno di un battito di ciglia. La parte migliore è che questo codice rimarrà costante indipendentemente dalle dimensioni dell’applicazione.

Time-to-processo interattivo (Altri framework vs Qwik)
Il ‘caricamento pigro’, che è una componente fondamentale del framework, è il secondo elemento che lo rende possibile. Significa che mentre interagisci con il sito web nel minor numero possibile di bit, tutti gli altri elementi interattivi vengono scaricati lentamente.

La ricerca per trovare un framework JS perfetto, che risolva il problema di funzionalità e velocità in un sito Web, va avanti da anni. Ogni mese viene annunciato un nuovo quadro. Sarà interessante vedere se Qwik emergerà come il framework JS che risolve finalmente questo problema per gli sviluppatori. 

Di ihal