5
16 Comments

Developing of Desktop Application

Heya!

Hope everyone is doing well! I've been reading alot of the post and I've learn alot!

So far what I notice is that many of the topics are related to web based (correct me if I'm wrong). So I wondering how many here are developer of Desktop Application.

If you are Desktop Application, what programming language do you use to develop?

For me, I'm currently using C++ and C# to do the development, but I am trying to explore ideals on using Reactive for the UI while backend C#. So far I don't see any desktop examples. So hope that you guys can share abit here!

Thank you and look forward!

posted to Icon for group Developers
Developers
on February 13, 2021
  1. 5

    Might be unpopular opinion but I would stay away from Electron unless you are web developer. I have an Electron app with Java backend and I'd strongly advise against it for a number of reasons (final size, desktop integration..) unless js or typescript are your languages. My suggestion is, don't mix technologies (like I did), I would explore and stick with whatever UI kit/lib is available for your language of choice, especially if your app is more then just a bunch of forms and tables sending data to an online server.

  2. 4

    You want to look at Electron This let's you develop javascript as a desktop application. So much better than using C#/C++ to do that.

    1. 6

      For a web developer sure, but for someone that has been developing desktop apps with C# or C++/Qt for years, going with web technologies might not be the best time investment.

      Modern desktop development is more focused: you have widgets, accessibility, data binding solved for you. Whereas in web you don’t have any native visual component, say a calendar picker, or a table view, menus, toolbars, any of that. Sure you can use widget libraries, but none of that is standardised in any way.

      I’m not saying it sucks, but it does, unless you have been developing these kind of interfaces long enough to not care anymore. Anyway, web tech is being used for desktop stuff and that’s not going to change.

    2. 0

      Electron apps have to ship over 50 megabytes just for a Hello World. They're ridiculously bloated memory hogs compared to native apps. The end result has staggering drawbacks compared to C# or C++ tool chains. There's a reason Photoshop, iMovie and Excel haven't been and will never be ported to it.

      In terms of the app itself that's generated (or the environmental impact of all the wasted energy, or the UX or just about anything else), the C# app will be better. The main reason to use Electron is if you struggle with languages other than JS or if you want to save time and borrow from web app components.

  3. 2

    I started out programming in C against the Windows API, and have done a lot of work in .NET (first WinForms, later WPF), and keep looking for an excuse to see how Uno holds up, especially since I now spend most of my time on Linux, where WPF doesn't seem to want to happen, despite multiple attempts.

    I've also spent some time with Electron (already recommended), which is fine and a solid system, but I find that my laptop can only sometimes and barely keep up with anything beyond a trivial Electron app, so I've mostly drifted away from it. If I was deploying to a corporate network where I could guarantee minimum standards, though, or building a kiosk where I knew the hardware, that's the way I'd probably go.

    It's not quite ready for prime time--it doesn't have window titles/icons, and text areas can't wrap, yet, and a change in ownership has left the documentation a mess--but what I've been using for quick desktop programs for myself is Valence Native (actual GitHub repository is here, formerly Proton Native, to give you an idea of the documentation problems). It lets me play with something close enough to React to make the interfaces easy to throw together and tinker with, but without the Electron runtime.

    For a polished product that needs to be cross-platform, though, Uno (or Java, though it's not my favorite ecosystem) is probably your best bet. If it doesn't need to be cross-platform, though, WPF works well, given a C# background, and I've heard great things about Qt.

  4. 2

    Hi fellow desktop developer! We are very few compared to web developers. I’m a Mac developer, so I use Swift, but I also considered developing cross-platform with Qt.

    While I don’t like web technologies and the mess they are, I do recon some desktop apps are nicely implemented (without considering performance, battery use, OS integration and UX). I recently started using Exodus Wallet (a wallet for cryptocurrencies) which is implemented with Electron it seems. It has great animations and visuals. One has to ponder whether all that really makes for a better experience vs a traditional native desktop app.

  5. 1

    I use Xojo (https://www.xojo.com/) for developing multi platform desktop apps. Worth looking into maybee...

  6. 1

    Yep done desktop for most of my career. C++ mostly but using more and more C# simply because well the NuGet system is awesome and there is just so much more 3rd party stuff for C#.NET. Managed C++ on the other hand is a total disaster/nightmare.

    Qt looks all good on paper but then once you read through the whole license documentation it is a real turn off. So I hope that .NET5 will bring UI on a fully multiplatform level and we can finally put Qt in the bin.

  7. 1

    Qt has a very confusing license but in my opinion, is the best for GUI at list from when i was developing with Qt version 4.8 and 5+ .
    i will happy to know what is the status today. but again the license is problematic.
    and there is wxwidget
    Which i don t have experience with it . but also it will be nice to know if any commercial product is done with it.
    I hate electron apps ...BUT
    vscode,spotify , postman , lens ... and god knows how many more are done with electron

  8. 0

    You could build a desktop app with Electron for example..however I would recommend to consider Flutter from Google, seems to offer a great API and stack for cross-platfom apps, including desktop. Well it also depends on what features you are looking for and if there is any specific desktop platform integrations you want to achieve.
    I use Qt for more than 12 years now..I'm too lazy to switch to something else messy like web :)

    1. 1

      are you using Qt as open-source license or Purchased license

      1. 1

        both - it all depends on the requirements of the project. Btw, I worked at the company behind Qt for 9-10 years or so..

        1. 1

          The original Qt company or one of the new ones ...
          im from Nokia days and some after .

          1. 1

            from the original..working with the founders before nokia ..Trolltech - Nokia - Digia - The Qt Company

            1. 1

              Great!
              i wonder if native GUI apps still have some echo system left this days for indie hackers ...

              1. 1

                I would say native desktop development is almost dead..but sure there are apis available

Trending on Indie Hackers
I spent $0 on marketing and got 1,200 website visitors - Here's my exact playbook User Avatar 58 comments Veo 3.1 vs Sora 2: AI Video Generation in 2025 🎬🤖 User Avatar 29 comments Codenhack Beta — Full Access + Referral User Avatar 21 comments I built eSIMKitStore — helping travelers stay online with instant QR-based eSIMs 🌍 User Avatar 20 comments 🚀 Get Your Brand Featured on FaceSeek User Avatar 18 comments Day 6 - Slow days as a solo founder User Avatar 16 comments