Cadrul elimină abstracțiile pentru a produce JavaScript vanilat care rulează mult mai rapid, în special pe dispozitivele mobile

Deși există deja o mulțime de cadre JavaScript disponibile, pare să existe întotdeauna loc pentru un altul care încearcă să ofere ceva nou. Intrați în cadrul Svelte, care se concentrează pe construirea de aplicații pentru viteză, convertindu-le în JavaScript vanilat pur.

rapid

Svelte, disponibil într-o versiune 1.0.0, transformă șabloanele în JavaScript fără cadru. Dezvoltatorii scriu componente folosind HTML, CSS și JavaScript; procesul de construire Svelte le compilează în module JavaScript independente.

„Analizând static șablonul componentelor, ne putem asigura că browserul funcționează cât mai puțin posibil”, a spus Rich Harris, fondator Svelte și editor interactiv la The Guardian. Aplicațiile Svelte rulează mai repede decât cele din alte cadre JavaScript, inclusiv React, Vue, Angular și Ember.

Cadrele precum React au rezolvat problema de productivitate a modului de a construi aplicații bogate și complexe, fără a crea o „grămadă de cod spaghete de neîntretinut”, a spus Harris. Și comunitatea front-end a abandonat ideile vechi despre separarea preocupărilor și a îmbrățișat o mentalitate bazată pe componente. Dar acest lucru a costat un cost pentru utilizatori.

„Cadrele existente tind să fie suficient de mari încât aplicația dvs. să încetinească pornirea pe telefoanele mobile, în special pe Android, unde se întâmplă cea mai mare parte a creșterii pieței.” Browserele au trebuit să petreacă timp analizând și evaluând JavaScript, timp în care un telefon nu răspunde, apoi există un cost de performanță pentru abstracțiile cadrului. "Svelte rezolvă aceste probleme eliminând aceste abstracții. Munca grea se întâmplă mai degrabă în timpul compilării decât în ​​timpul rulării - scuipă cod de manipulare DOM de nivel scăzut foarte optimizat specific aplicației dvs."

Compilatorul Svelte detectează care caracteristici utilizează o componentă analizând codul sursă. "Dacă o caracteristică nu este utilizată, Svelte nu include codul pentru aceasta", a spus Harris. "Ajungi exact cu ceea ce ai nevoie." Cadrul oferă, de asemenea, avantaje în divizarea codului și acceptă capabilități precum SVG și CSS încapsulat.

A mai rămas o mulțime de muncă de făcut pe Svelte, a avertizat Harris. Trebuie să fie echipat cu capabilități precum redarea de pe server și să fie integrat cu instrumentele existente și vrea să adauge caracteristici precum traduceri declarative.