Thunderbird abraça o Microsoft Exchange, graças ao Rust

Thunderbird abraça o Microsoft Exchange, graças ao Rust

Thunderbird + Rust, tempos emocionantes!

Muitos usuários sabem que o Thunderbird é um dos melhores clientes de e-mail para Linux, e com razão. Ele existe desde 2003, lidando consistentemente com as mudanças nos padrões de correio da Internet e outras tendências no mundo do correio eletrônico.

Continuando nessa linhagem, Thunderbird agora está entrando em um novo capítulo, com Rust alimentando tudo. Vamos ver o que está acontecendo.

Thunderbird e Rust: Uma boa dupla?

O Thunderbird está pronto para fornecer suporte nativo para Microsoft Exchange por meio da API Exchange Web Services (EWS).

Fazer isso provavelmente acabará com a necessidade de um complemento pago como Owl for Exchange, que passa a ser uma das maneiras populares de usar o Exchange com o Thunderbird.

O suporte nativo para o Exchange está sendo possível com o uso do Rust. Mas, vendo que o Thunderbird possui um monte de código antigo que remonta aos dias do Netscape Communicator, os desenvolvedores tiveram que improvisar muito.

Por que ir com Rust?

Os desenvolvedores foram com Rust porque queriam algo poderoso para desenvolver recursos complexos rapidamente, com manutenção de longo prazo em mente. Rust oferece vantagens como segurança de memória, desempenho robusto, e uma natureza modular que é suportada por um vasto ecossistema de usuários.

Há também coisas como a infraestrutura de CI compartilhada com o Firefox que suporta Rust, um conjunto de ferramentas poderosas, suporte para uma ampla variedade de plataformas e a capacidade de criar caixas modulares que permitem a reutilização de código.

No entanto, a transição não foi suave.

Graças à enorme base de código do Thunderbird, um monte de código existente não funciona bem com Rust. Tomemos, por exemplo, o sistema de compilação, que teve que receber um ajuste onde o Thunderbird definiria seu espaço de trabalho e adicionaria sua configuração a mach, a ferramenta de compilação upstream da Mozilla.

Depois, há XPCOM, para o qual os desenvolvedores do Thunderbird tiveram que implementar uma ponte para fazê-lo funcionar com Rust.

Quanto a como eles pretendem implementar o suporte ao Exchange, eles estão apostando no uso do componente de rede Necko encontrado no Firefox. Mas, isso está escrito em C++.

Eles implementaram duas coisas importantes para superar os problemas de compatibilidade. Primeiro, eles adicionaram suporte para uma sintaxe nativa Rust async/await, e o segundo é que eles adicionaram uma API HTTP idiomatic para cuidar da criação de objetos XPCOM e tratamento de erros Rustic.

Há mais algumas coisas que eles fizeram, mas estamos pulando essas coisas para manter as coisas concisas.

Depois de passar pelo exposto, naturalmente, uma pergunta vem à mente.

Quando o Thunderbird terá suporte para o Microsoft Exchange?

No próximo lançamento ESR do Thunderbird, que está programado para ser lançado em julho de 2024. Como essa é uma grande empreitada, os desenvolvedores estão implementando apenas o suporte nativo do Exchange para email, com o suporte a calendário e catálogo de endereços chegando mais tarde.

Se você tiver mais alguma dúvida sobre isso, você pode consultar o blog de anúncio.

Há também uma interação da comunidade ocorrendo para a empreitada de Rust no Thunderbird. Você pode consultar os detalhes oficiais sobre quando eles compartilham mais detalhes através de vídeo chat / stream.

Última atualização deste artigo: 23 de april de 2024