Joel Mun
2 min readJan 19, 2022

--

Been using every part of Electron for my last company. I really hate it really much, but I would say it’s the best among the bad options. You see, building a native app for all three major OS’s is no simple job. It often requires extraordinary functionalities that could be the focal feature of the app but would be difficult to be implemented and supported by the underlying framework (Electron, Tauri..). Just think about everything you do and expect with a desktop app. The tray icon, background process, shortcut keys, always-on-top, writing and reading local files, frameless window, lauch on startup, auto-update… etc. Many once-ambitious OSS projects targeting the same goal have now been archived and ceased. Only few survived. Electron is one of them, and Tauri has appeared from a few years ago.

Electron’s been out there for several years and it’s still receiving tonnes of bug reports/feature requests, some of which are also just getting neglected although someone’s app might be at stake. But it’s got a history. It has fixed many, many bugs and has got many known issues and feature requests resolved already, which can be searched up and used easily when building a production grade app.

Not that I don’t believe the devlopers working on Tauri, but it definitely will take some time to be able to support a fully featured productuon grade app due to its short history and relatively immature APIs. Props to the perf though.

In conclusion, building a framework for a native app requires a serious deal of engineering and none of the frameworks I know are satisfactory. But if I have to choose one, I would still choose Electron for now despite its awful performance. Will see again after a few years though.

--

--

Joel Mun

High quality article or death. Code/Security stuffs, mostly related to React, Typescript, and Node, GoLang, Wasm. https://9oelm.github.io.