from Hacker News

Ask HN: Best stack for cross-platform desktop app?

by remolacha on 4/15/21, 2:20 AM with 26 comments

What's the best tech stack for writing a performant, cross-platform desktop app in 2021?
  • by kmarc on 4/15/21, 5:25 AM

    I'd say Qt.

    https://www.qt.io/

    As a rookie SWdev before 2010 I wanted to learn something with which I could target most of the desktop/mobile platforms. I did a lot of Qt&C++ back then; now it's even more dev friendly with Qt Quick and a ton of language bindings.

    Then I forgot about all the desktop stuff and went on using electron based bloatware. Only to rediscover the Telegram desktop app which is crazy responsive and featureful. I wish more apps would be desktop-native.

  • by trinovantes on 4/15/21, 3:06 AM

    Despite the hate that it gets, Electron is still the best imo. Every other Electron-lite solution I've tried all end up with at least one key but obscure feature removed and you either end up rewriting to Electron or throw together some jank or abandoned 3rd party package.

    Electron is bloated AF but it's the complete package that gets the job done from start to finish

  • by Morthor on 4/15/21, 8:44 AM

    Flutter is an option as well. https://flutter.dev

    With the release of Flutter 2.0, desktop support is now fully available. Windows, Linux, and MacOS. This on top of the existing iOS and Android support. Web was also officially released.

  • by yread on 4/15/21, 5:57 AM

    Try some options from dotnet world

    Https//avaloniaui.net

    https://github.com/dotnet/maui

  • by prazacker on 4/15/21, 9:05 AM

    I wanted to know the same as well. Our requirement is for building cross platform apps for windows OS, Mac OS and code/components that works on tablets + mobile.

    Isn't react-native an option ? https://microsoft.github.io/react-native-windows/

    Does anyone have experience on the same ? Hows the support for hardware interaction like access to printers, bluetooth apis?

  • by tomcam on 4/16/21, 7:24 AM

    Take a very serious look at:

    https://livecode.com

    They have an open source version but be careful of the licensing. Basically if you start it on the open source version you need to keep the app open source (if I read the license right). But it's an absolutely wonderful prototyping environment

  • by CinematicStudio on 4/15/21, 6:56 PM

    I'd go with C# + Uno (https://platform.uno/).

    Disclaimer: I haven't used Uno before, but from their presentations and what i've seen online, they are top-notch. I plan to test them in the mid-term future.

  • by _448 on 4/15/21, 4:09 PM

    WxWidgets[0] and Ultimate++[1] are the two. Poco[2] libs are available as well. And for Web frontend there is Wt[3]

    [0] https://www.wxwidgets.org

    [1] https://www.ultimatepp.org

    [2] https://pocoproject.org

    [3] https://www.webtoolkit.eu/wt

  • by j0no on 4/15/21, 5:47 AM

    I'm following the Tauri Project https://github.com/tauri-apps/tauri
  • by namaljayathunga on 4/15/21, 2:13 PM

    I am using NWJS to build cross platform apps using web technologies. I used that because of it is simple, easy and can protect source code.

    https://github.com/nw-cn/awesome-nwjs

  • by ohazi on 4/15/21, 5:26 AM

    Qt is pretty reasonable.
  • by tonyedgecombe on 4/16/21, 10:44 AM

    They are all compromised in some way or another. I'd start by making sure you really need to be cross platform because if you don't then why add all the costs.
  • by kowlo on 4/16/21, 10:03 PM

    I don't know about the best stack... but you could actually do this in Unity3D if you wanted to. Good for a quick proof-of-concept if you already know it.