Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Lynx: l'alternativa di TikTok a React Native

ByteDance (TikTok) presenta LYNKX, un framework open source per lo sviluppo di applicazioni multipiattaforma basato su Rust
ByteDance (TikTok) presenta LYNKX, un framework open source per lo sviluppo di applicazioni multipiattaforma basato su Rust
Link copiato negli appunti

ByteDance, l'azienda che fa capo a TikTok, ha reso disponibile un framework open source per lo sviluppo di applicazioni multipiattaforma battezzato Lynx. Esso sfrutta il tooling Rust e un motore di rendering dell'interfaccia utente a doppio thread. Il progetto è stato lanciato come alternativa a soluzioni come React Native e Flutter, si propone infatti come un framework che permette di realizzare interfacce più fluide con tempi di avvio più rapidi.

Le caratteristiche di Lynx

Il framework nasce da una semplice constatazione da parte del team di ByteDance: per i nativi digitali gli smartphone e le app che vi girano costituiscono il primo approccio alla tecnologia. Per questi utenti, un'esperienza non nativa non è quindi soltanto scomoda ma un disincentivo. Uno schermo vuoto, un ritardo di pochi decimi di secondo nell'animazione di un "Mi piace" o un pattern di UI insolito possono far sembrare un'app di scarsa qualità o inaffidabile. L'approccio nativo allo sviluppo diventa quindi una necessità.

Lynx supporta funzionalità native del linguaggio CSS. Consente di inoltre di realizzare progetti con soluzioni come Svelte, framework front-end scritto in TypeScript, o Vue, framework JavaScript per la creazione di UI.

L'alternativa di ByteDance consente agli sviluppatori di scrivere markup e CSS come farebbero quando lavorano sul web. Supporta nativamente animazioni e transizioni CSS, selettori e variabili per il theming oltre a moderni effetti visivi come gradienti, clipping e masking.

Architettura del framework

Una delle caratteristiche architetturali di Lynx è la suddivisione, gestita in fase di compilazione, dell'esecuzione di codice utente in due runtime distinti. Uno sul thread principale, alimentato dall'engine JavaScript PrimJS e dedicato a operazioni di UI privilegiate e sincrone come l'avvio e la gestione di eventi ad alta priorità. L'altro in background che funge da impostazione predefinita per il codice garantendo un carico di lavoro minimo sul thread principale e prevenendo blocchi.

Abbiamo quindi due funzionalità principali. La prima è l'Instant First-Frame Rendering. Con essa, se il rendering è sufficientemente rapido non è necessaria alcuna schermata intermedia. Lynx elimina le schermate vuote e genera una percezione di immediatezza bloccando brevemente il thread principale fino a quando il primo frame è completamente renderizzato.

La seconda è il Main-Thread Scripting. Un piccolo frammento di codice, programmato staticamente e concepito per essere eseguito sul thread principale, si occupa di eventi e gesture ad alta priorità dando la sensazione di un'app nativa.

Ti consigliamo anche