DEV Community

Discussion on: What are some reasons to switch to a "native" desktop stack over a web based one?

Collapse
 
tux0r profile image
tux0r

What are some reasons to switch to a "native" desktop stack over a web based one?

  • Reliability and predictability of desktop platforms.
  • Lower resource usage of native applications.
  • Higher flexibility in terms of UI/UX.
  • An actual desktop application has less security holes than a web browser.
  • You can finally use sane programming languages and you don't have to waste your time and nerves trying to work around JavaScript's giant syntax mess.

What are some good options that you can recommend based on the information above?

Depends on what you're after.

  • RAD: Delphi (or Lazarus for cross-platform development).
  • Shiny GUIs: C++ with Qt.
  • Performance: C with IUP.
  • A radically different approach: Racket with its own GUI framework.
Collapse
 
alchermd profile image
John Alcher

Hiya! I definitely agree on your points. But can you expand on a couple of them, specifically

...Reliability and predictability of desktop platforms.
...Higher flexibility in terms of UI/UX.


Oh, IDK if it's just familiarity and lack of knowledge, but I definitely had an easier time downloading Bootstrap writing HTML and CSS in comparison with Qt (with Python bindings) or that GUI creation library in Java.

With that said, C++ and Qt sounds interesting! Any particular resource you can recommend to get started?

Collapse
 
tux0r profile image
tux0r

Reliability and predictability of desktop platforms.

If you're targeting Windows 10, there is exactly one API (that does not change much) waiting for you. Targeting "web browsers" will hurt you each time a new version is released.

Higher flexibility in terms of UI/UX.

A web browser is always running in a specialized window frame with an address bar, captured hotkeys et cetera, and HTML does not give you a full flexibility to work around that. Desktop GUIs do.

I strongly dislike Python, but Qt is rather nice. Hint: Their wiki!

Thread Thread
 
alchermd profile image
John Alcher

Thanks a bunch! Though after an hour or so of reading up, it looks like licensing could be an issue if I ever pursue Qt. The fee is quite heavy for my liking :/

Thread Thread
 
tux0r profile image
tux0r • Edited

Qt is dual-licensed. I personally don't use it because I would be required to bundle a ton of DLLs because of the license.

Collapse
 
alchermd profile image
John Alcher

Update: after a month of tinkering around, I found out that Java's GUI offering isn't actually that bad. Swing and JavaFX with their respective scene builders is quite nice to work with after some familiarization. Hopefully I can try it out in a real project and see how it holds up.