Hlavní navigace

Vývojáři navrhují přepsat Thunderbird pomocí web technologií

Petr Krčmář

Vývojáři Thunderbirdu uvažují nad razantní změnou: přepsání e-mailového klienta pomocí webových technologií. Návrhy hovoří o přepisu pomocí frameworku Electron, protože současný stav je prý už neudržitelný.

Bouřlivou debatu v mailing listu projektu Thunderbird spustil návrh na razantní přepsání celého e-mailového klienta. Současný stav je prý už nadále neudržitelný, aplikace staví na dvacet let starém kódu a jádře Gecko, které se má v budoucnu dramaticky proměnit spolu s Firefoxem. Vývoj se tak rozeběhne úplně jiným směrem, než potřebuje stávající poštovní klient. Na čase je tedy se zamyslet, co s projektem dál.

Návrh poukazuje na to, že se JavaScript a HTML5 v posledních letech dostaly na úplně novou úroveň, pomocí původně webových technologií se píší serverové aplikace a framework Electron umožňuje napsat plnohodnotnou desktopovou aplikaci pomocí stejného přístupu. JavaScript je efektivní jazyk, který umožňuje rychlý vývoj. Přepsání do JavaScriptu dává smysl, píše se v návrhu.

Staré boty začínají tlačit

Thunderbird je postaven na stejných základech jako Firefox. Oba jsou velmi silně svázaní s webovými technologiemi a ke svému běhu intenzivně využívají jádra Gecko. V rámci přestavby Firefoxu jsou ale v běhu razantní změny, které se odehrají nejen na povrchu, ale právě hlavně uvnitř. Připravované jádro Quantum bude hodně jiné, moderní, výkonné a bude napsané v jazyce Rust.

Firefox ruší podporu XUL s tím, jak drasticky mění svou architekturu. Velké části kódu budou v jádře odstraněny, protože už je prohlížeč nebude potřebovat. Thunderbird je ale stále z velké části na XUL založen a potřebuje jej ke svému běhu. Celé uživatelské rozhraní je napsané pomocí XUL. Oba projekty se proto poměrně rychle rozejdou a vývojáři e-mailového klienta už nebudou moci stavět na nové práci tvůrců prohlížeče.

Jakmile k tomu dojde, nebudou moci vývojáři Thunderbirdu dále přebírat nové verze jádra, protože by se tím jejich kód rozbil. Mozilla už nemá zájem e-mailový klient vyvíjet, proto na něj nebude brát žádné ohledy. Pokud by někdo začal upravovat klienta pro nové jádro Firefoxu, stejně by se jednalo o jeho rozsáhlý přepis. Je tedy skutečně na místě otázka, zda nezačít úplně znovu a nevybrat si jiné technologie. Podle návrhu by postupné přepisování komponentu po komponentě zabralo čtyřikrát více času než napsání nového kódu.

Čistý stůl umožní opravit staré chyby

Nebudeme si nalhávat, že je Thunderbird bez chyb. Vyhledávání se v něm nechová vždycky dobře, adresář má velmi omezené funkce a chybí například integrace kalendářových funkcí nebo pokročilých PIM funkcí. Třídění pošty do skutečných adresářů je dnes také již zastaralý způsob, moderní přístup již mnoho let staví na tagování zpráv a filtrování pohledů.

Další problémy se ukrývají uvnitř, protože jsou striktně odděleny komponenty uživatelského rozhraní a například IMAP klienta. Podle vývojářů tohle ostré ohraničení není ideální a navíc je nekonzistentní, protože není vždy skutečně dodržováno. Velká část vnitřní logiky je tedy dnes implementovaná ve frontendu, což je jeden z důvodů, proč je kód Thunderbirdu tak nepřehledný a velmi špatně udržovatelný. Je to také důvod, proč je prakticky nemožné celý současný problém vyřešit napsáním alternativního frontendu využívajícího jiné technologie – obě části jsou až příliš svázané.

Úplné přepsání by mohlo všechny tyto problémy vyřešit, protože by mohl vzniknout nový návrh, který by nebyl zatížený historickým balastem. Návrh zároveň upozorňuje na to, že je potřeba rozhodně zachovat zásadní výkonnostní vlastnosti – klient musí být schopen plynule pracovat se seznamem obsahujícím stovky tisíc zpráv. V současné době prý neexistuje HTML komponenta, která by to zvládla, ale i to je technicky řešitelné.

Nové rozhraní i mobilní verze

Cílem je udržet uživatelské rozhraní nového Thunderbirdu co nejpodobnější tomu současnému. Cílem prý rozhodně není vyvádět uživatele z míry, ale naopak mu nabídnout stejné rozhraní, jaké má rád. Nadále by mělo platit také to, že se bude aplikace instalovat běžným způsobem na uživatelův počítač a bude data držet v bezpečí lokálně. Nemá tedy rozhodně jít o žádnou „cloudovou náhražku“ pořádného e-mailového klienta.

Vývojáři ale zároveň vnímají příležitost ke změně designu, kdy by bylo možné k tradičnímu vzhledu nabídnout také moderní variantu. Noví uživatelé by si tak mohli vybrat příjemnější inovativní rozhraní. Zároveň použité technologie umožní udělat z Thunderbirdu jednoduše také mobilní aplikaci, což zní velmi lákavě.

Apache Cordova například umožňuje velmi rychle vytvořit univerzální aplikaci, která se bude přizpůsobovat různým displejům mobilních telefonů nebo tabletů. Výsledek se bude instalovat jako jakákoliv jiná běžná mobilní aplikace, navíc může být snadno adaptovatelná pro další platformy, které třeba teprve vzniknou.

Tři roky práce

Odhaduje se, že příprava nové verze zabere nejméně tři roky práce. Po celou tu dobu bude samozřejmě udržován kód klasické verze, aby uživatelé nepřišli o svého oblíbeného klienta. Bude nutné opravovat chyby a hlavně doplňovat bezpečnostní záplaty na objevené chyby. Takové práci by se ale měla věnovat jen velmi úzká skupina vývojářů, takže nelze počítat s vývojem nových funkcí nebo nějakými většími změnami.

Veškeré úsilí vývojářů by se mělo zaměřit na vývoj zcela nové verze. Během prvního roku by měla být připravena infrastruktura a vznikne kostra aplikace, která sice už asi bude umět přijmout e-mail, ale pro uživatele bude nepoužitelná. Za další rok budou k dispozici první použitelné verze, které by měly vyhovovat většině běžných uživatelů. Třetí rok se pak bude ladit a budou se doplňovat pokročilé vlastnosti, které vyžadují zkušení uživatelé Thunderbirdu. Po třech letech by tak mohla být k dispozici zcela nová verze.

Nutno dodat, že zůstává stále velké množství otazníků a jedná se pouze o návrh řešení. Jeho cílem je upozornit na to, že stávajícím směrem už nadále jít nelze, a položit otázku, kudy dál. Daří se to, debata se rozběhla, budeme ji dále sledovat a jakmile získá výsledek konkrétnější obrysy, přineseme vám další podrobnosti.

Našli jste v článku chybu?