Best language for Desktop Application

bchip

Senior Member
Joined
Mar 12, 2013
Messages
726
#1
Hi all

Thought I would put the question out here - I would like to know whats the best
language to work on a cross platform desktop application.
(i.e. Visual User Interface is quite important)

I've used VB and C#
C# has so far been a really good experience for with all things available until a few months
ago I started trying out Linux for the first time. (VB is ...lets not go there)
Really enjoyed Linux but I found that C# GUI's are really built for windows.
I know that you get the GTK features but have been struggling to convert a simple app to it.
(Maybe I just need to learn more about these?)

I see that Amazon also has (waaay) reduced prices for Linux options compared to windows.
Overall I'd like to move development away from Windows so thats why I'm looking at crossplatform.

I've also read on quora that the best recommended so far is JavaFX (which is different from Java?)

Just wondering what you guys would recommend.
Thanks
 

CamiKaze

Honorary Master
Joined
May 19, 2010
Messages
12,302
#2
Have you tried Electron?

If you want to go the JavaFX route then install Scenebuilder 8 from Gluoun to make your work on the FXML files much easier.
 
Last edited:

cguy

Expert Member
Joined
Jan 2, 2013
Messages
4,148
#4
Qt with C++ or PyQt for Python? Would also be curious if there is something better (my knowledge on portable GUIs is dated, but I did a lot of C++ Qt many years ago).

Alternatively, develop a web app and write the sever for a single platform?
 

phaktza

Executive Member
Joined
Jun 29, 2008
Messages
6,504
#5
Have you tried Electron?

If you want to go the JavaFX route then install Scenebuilder 8 from Gluoun to make your work on the FXML files much easier.
What about a PWA?

I used to work with JavaFX - found it to be bulky and cumbersome. Constant Java updates also seems to have breaking features. Maybe all this has been resolved?
 

phaktza

Executive Member
Joined
Jun 29, 2008
Messages
6,504
#6
Qt with C++ or PyQt for Python? Would also be curious if there is something better (my knowledge on portable GUIs is dated, but I did a lot of C++ Qt many years ago).

Alternatively, develop a web app and write the sever for a single platform?
That's why I'd push PWAs.
 

CamiKaze

Honorary Master
Joined
May 19, 2010
Messages
12,302
#7
What about a PWA?

I used to work with JavaFX - found it to be bulky and cumbersome. Constant Java updates also seems to have breaking features. Maybe all this has been resolved?
I developed some apps in JavaFX as well. I have moved on from that, I'll maybe get back to that at a later stage.
Visual Code and Atom were written in Electron.
 

bchip

Senior Member
Joined
Mar 12, 2013
Messages
726
#9
Have you tried Electron?
Never heard of it but will look into it. Thank you

Qt with C++ or PyQt for Python? Would also be curious if there is something better (my knowledge on portable GUIs is dated, but I did a lot of C++ Qt many years ago).
Python sounds interesting as well, never even knew it made executables till today. Thanks.
 

Steamy Tom

Well-Known Member
Joined
Jan 23, 2019
Messages
120
#10
Qt with C++ or PyQt for Python? Would also be curious if there is something better (my knowledge on portable GUIs is dated, but I did a lot of C++ Qt many years ago).

Alternatively, develop a web app and write the sever for a single platform?
O_O
 

cguy

Expert Member
Joined
Jan 2, 2013
Messages
4,148
#11
Never heard of it but will look into it. Thank you



Python sounds interesting as well, never even knew it made executables till today. Thanks.
A Python executable will still typically incorporate an interpreter and run via that, so beware that if you are doing any heavy computational work it could be slow in comparison to C++/C#/Java.
 

bchip

Senior Member
Joined
Mar 12, 2013
Messages
726
#12
A Python executable will still typically incorporate an interpreter and run via that, so beware that if you are doing any heavy computational work it could be slow in comparison to C++/C#/Java.
Thanks for the tip, my applications are quite heavy on computations.
 

Nether

Expert Member
Joined
Jan 15, 2007
Messages
1,219
#14
I've looked at alternatives as well, but to be honest, desktop application development is fairly stagnent, I want something that can be scaffolded like .net core, and has modern ui elements from the get go
 

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
5,801
#15
Considering you already know C# and VB.Net I'll suggest you look and GtkSharp (which includes bindings for Gtk+, etc,), or Xamarin Forms which covers a single build for Windows, macOS, Linux (preview release), iOS and Android.

Btw both of these are developed and maintained by Microsoft so you're covered re bug fixes, updates, enhancements, support, etc.
 
Last edited:

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
5,801
#17
I've also read on quora that the best recommended so far is JavaFX (which is different from Java?)
JavaFX hasn't received any love from Oracle for a number of years, just a few bug fixes and support for the latest JDK.

The future of it really depends on https://gluonhq.com/ as Oracle appear unwilling to support it beyond 2022.
 

bchip

Senior Member
Joined
Mar 12, 2013
Messages
726
#18
Why do you want to do desktop applications and then move away from Windows which works on virtually 80% of desktops in the world?
It makes more sense to have something work on either Windows or Linux, so its not really moving
away more like making it accessible to the remaining 20% as well.

Considering you already know C# and VB.Net I'll suggest you look and GtkSharp (which includes bindings for Gtk+, etc,), or Xamarin Forms which covers a single build for Windows, macOS, Linux (preview release), iOS and Android.

Btw both of these are developed and maintained by Microsoft so you're covered re bug fixes, updates, enhancements, support, etc.
Thanks. I've looked at GTK, it could be my lack of knowledge on this but I really struggled
with Monodevs GTK. For example I want a DateTime picker (x2 a From and a To), but the GTK package
could only display a full calendar, which takes up the whole form.


Doing some browsing see that Netbeans Java also seems to be a common solution.
I'm just surprised nobody is mentioning them.
 
Last edited:

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
5,801
#19
Thanks. I've looked at GTK, it could be my lack of knowledge on this but I really struggled with Monodevs GTK. For example I want a DateTime picker (x2 a From and a To), but the GTK package
could only display a full calendar, which takes up the whole form.
Naturally GtkSharp would require you to learn Gtk+; GtkSharp is simply wrapper bindings around Gtk+ and other Linux APIs, no different to how Xamarin bound the iOS Objective-C APIs for iPhone, iPad and macOS development.

The alternative as I mentioned is Xamarin.Forms which is completely separate from Gtk+, basically it's quite similar in design to JavaFX i.e. same set of APIs across the different platforms.

Doing some browsing see that Netbeans Java also seems to be a common solution.
I'm just surprised nobody is mentioning them.
Netbeans is just a Java IDE; what you are probably looking at is Swing.
 
Top