Gli sviluppatori del client di posta Thunderbird hanno annunciato l'inizio dell'integrazione nel codice sorgente di componenti scritti in Rust. Nella prossima significativa versione di Thunderbird, il cui rilascio è previsto per luglio di quest'anno, sarà incluso il codice per l'implementazione del protocollo di posta Microsoft Exchange Web Services (EWS), realizzato in Rust. Il supporto per l'accesso al calendario e alla rubrica di Microsoft Exchange sarà aggiunto in seguito. L'implementazione integrata consentirà di evitare l'installazione di componenti aggiuntivi di terze parti, tramite i quali fino ad ora è stato fornito il supporto a Microsoft Exchange.
Si osserva che l'uso del linguaggio Rust per l'implementazione delle funzionalità previste consentirà di ridurre la probabilità di errori nella gestione della memoria, garantirà un aumento delle prestazioni rispetto al componente in JavaScript e si adatterà all'attuale ecosistema che sviluppa moduli legati all'email in Rust. L'integrazione degli strumenti di sviluppo nella nuova lingua è facilitata dal fatto che Rust è già utilizzato in Firefox e in Thunderbird sarà possibile sfruttare l'infrastruttura esistente per test e integrazione continua, oltre al wrapping XPCOM (Cross-Platform Component Object Model) per l'interazione dei componenti in Rust con il codice in C++ e JavaScript.
Tra gli svantaggi dell'integrazione del supporto Rust si segnala l'aumento della base di codice, la necessità di creare legami mancanti e l'adattamento di alcuni gestori asincroni per lavorare con il codice in Rust, non compatibili con il modello di operazioni asincrone in Rust.
Tra le altre funzionalità previste per l'inclusione nella versione ESR di Thunderbird di luglio, si possono menzionare:
- Supporto per la sincronizzazione delle impostazioni tra i sistemi tramite legame con l'account Mozilla.
- Transizione a una nuova base globale per la memorizzazione dei messaggi, che consente di implementare modi alternativi di visualizzare le conversazioni.
- Continua evoluzione della modalità di visualizzazione verticale dell'elenco dei messaggi (Card View), stilizzata per interfacce mobili in cui gli elementi vengono mostrati sotto forma di 'carte' piatte.
- Supporto completo per il tema scuro, applicabile a messaggi e immagini.
- Nuove funzionalità per il pannello con l'elenco delle cartelle di posta (Folder Pane).
- Creazione di un Account Hub, un punto centrale per la configurazione di tutti gli account.
- Integrazione del motore di traduzione automatica integrato Firefox Translate.
Fonte: opennet.ru
