Hacker News new | ask | show | jobs
by benbucksch 245 days ago
Actually, Thunderbird is using the Mozilla browser as a runtime for the UI and a lot of its code, in exactly the same way as Electron apps are using Chrome and node.js. Even a lot of non-UI code in Thunderbird is implemented in JavaScript, including some of the protocols like POP3 [1].

The same is true for Firefox: Almost the entire Firefox UI is written as HTML page with JavaScript. In fact, Firefox, Thunderbird and their predecessor Mozilla Suite were the first desktop apps written as webapps, and are the direct precedessors of Electron. And they also show that it can be done well. You just have to do it well, which is not easy.

There was a reason for that decision: Netscape tried to implement all its UI natively on 3 platforms - Windows, Mac and Unix -, which was too difficult in practice to keep them in feature parity. The big new thing about Mozilla - apart from the Gecko engine - was to implement the UI of the desktop app as web app, and run the same code on all platforms. That idea is the technical foundation of Mozilla.

Electron is just using that same idea with Chrome and node.js.

The only reason why using Linux as desktop today is realistic, is that web apps put an end to the monopoly of native Windows apps - which was the ultimate goal the whole time.

/Ben Bucksch Long-time core developer of Thunderbird

[1] https://searchfox.org/comm-central/source/mailnews/local/src...