Ask HN: Choosing Between Electron and QT for a Cross Platform Desktop App

3 points by Hammershaft ↗ HN
Hey, I'm a novice developer gunning to make a cross platform (Windows/Mac) commercial desktop application. I am deliberating on which GUI framework to use, and it seems the only modern frameworks available that could meet the bar for documentation, reliability, and ease of use are: - Electron - Qt with C++ - WPF for Windows + Cocoa for Mac :(

My application would be relatively simple: The brunt of the application would involve an offline multi-user password login system, some basic longform writing functionality that includes simple version control and save file obfuscation, as well as the capacity to convert to pdf. An aesthetically pleasing GUI is a priority (I currently have little experience in GUI development). The password system and save file obfuscation do not have to be perfectly secure.

I have read the scorn and criticism directed towards Electron. I'm unconcerned about the RAM characteristics as my app would not be a background application, but I am concerned about the potential battery and speed performance drawbacks. On the plus side, it seems Electron allows for beautiful GUI development, and I might be able to leverage Markdown to simplify development.

On the other hand, many developers who dislike Electron suggest I use Qt, but it seems this has its own set of drawbacks. The commercial cost is prohibitive and the open source LGPL licensing requirements make me nervous. I am struggling to find Qt showcases that don't look kind of ugly. While I would much(!) prefer to learn and develop in C++ then a web stack, from my understanding Qt forces non-idiomatic C++ and would likely be less valuable on a resume in the future.

Hacker News, what do you suggest? I'm reluctantly leaning towards electron, but I would prefer to make a performant app and to use a lower level language that is more aligned with my long term passion of game development.

1 comment

[ 3.5 ms ] story [ 10.8 ms ] thread
Sounds like a great project for you to learn a low level language, and some UX and GUI design at the same time.

Game development is done in several languages and frameworks, so it's not a big deal what language you go with as long as you learn to write good code and document it well.

Every tool, language, and framework has downsides and quirks, literally every single one.

Over your career you'll use dozens of languages and tools, if not more.

Stop fretting and start doing :)