Dopo anni di lamentele da parte degli utenti, Discord ha finalmente annunciato una mossa epocale: l'app desktop abbandonerà il framework Electron per essere riscritta da zero utilizzando il linguaggio di programmazione Rust e la libreria grafica GPUI. L'obiettivo è chiaro: rendere l'applicazione molto più leggera e scattante, mettendo fine ai problemi di consumo eccessivo di memoria RAM che affliggono la versione attuale.
Perché Electron è un problema
Electron è una tecnologia che permette di creare applicazioni desktop utilizzando tecnologie web come HTML, CSS e JavaScript. Se da un lato semplifica lo sviluppo multipiattaforma, dall'altro ha un difetto intrinseco: ogni finestra dell'applicazione è essenzialmente un browser Chromium incorporato, con un conseguente consumo di risorse molto elevato, in particolare per quanto riguarda la memoria RAM. Discord, con le sue numerose funzionalità (chat, vocali, streaming video), è tra le app Electron più pesanti in circolazione, e gli utenti lo sanno bene.
La soluzione: Rust e GPUI
La scelta di Rust non è casuale: questo linguaggio è noto per le sue performance elevate e la sicurezza della memoria, caratteristiche ideali per un'applicazione che deve gestire molte operazioni in tempo reale. GPUI, invece, è una libreria grafica sviluppata da Zed Industries (la stessa azienda dietro l'editor di codice Zed), progettata per essere estremamente reattiva e leggera. Secondo quanto dichiarato dal team di Discord, questa combinazione permetterà di ottenere un'app desktop fino al 50% più leggera in termini di utilizzo di RAM e con tempi di avvio ridotti.
La transizione non sarà immediata: Discord prevede di rilasciare una versione beta nel corso dell'anno, con un rollout graduale a tutti gli utenti. Nel frattempo, la società ha rassicurato che continuerà a supportare la versione basata su Electron fino a quando la nuova app non sarà completamente stabile. Questa mossa rappresenta una svolta significativa per l'industria del software, dimostrando che anche le grandi aziende possono ripensare le proprie scelte tecnologiche per offrire un'esperienza migliore agli utenti.