Does Julia support desktop software development?

Can I use Julia to develop some executable desktop softwares on win10 computer? And how about developing mobile apps?

That’s not really viable yet without jumping through some hoops. If that is your end goal, probably better to learn C# and Xamarin for now.

1 Like

try

2 Likes

Gtk.jl is an interface to the cross-platform GUI library Gtk (Windows, Mac, Linux etc). See also the discussion:

Julia doesn’t natively run on mobile platforms, though (without using some emulator app, ala Using Julia on Android with UserLAnd - #21 by mkitti).

2 Likes

See What are the ways to make GUI in Julia (review wanted) - unfortunately not very informative (yet?).

1 Like

QML.jl is to develop Qt6/QML desktop GUIs including for Windows.

So it’s certainly possible, I just don’t know which is the best option.

And also:

GTK4 is newer so I thought it the future of GTK, and maybe better supported already, though it may not be.

Mousetrap.jl is however built on GTK4 (though not Gtk4.jl or Gtk.jl), and it’s well documented, and claims to be good, simpler than Gtk.jl.

None of these support mobile. I.e. I believe Qt supports mobile but not the Julia wrappers for. At some point it might, though likely not in the near future. I’m not sure even any GTK supports mobile (well) so even less likely for any GTK Julia wrapper.

Some people do web-based GUIs, and they can target mobile in a sense, though likely not usefully with Julia yet.

If you want to support Windows desktop then it’s very plausible C#-based is still best supported, and you can do a C# Windows app, and use Julia with. It’s already been done. For mobile and/or desktop and mobile it’s less clear to me. that C#-based or Xamarin is best. At least it claims to support both, but many other do. I would not rule out Kotlin (Java) for Android, and also mobile and desktop in general.

Kotlin running on Android could call Julia, but it’s very likely immature using Julia only on Android or iOS.

1 Like

There is also Blink.jl:

Blink.jl is the Julia wrapper around Electron. It can serve HTML content in a local window, and allows for communication between Julia and the web page. In this way, therefore, Blink can be used as a GUI toolkit for building HTML-based applications for the desktop.

2 Likes

Thanks to everyone! All answers are benifitial! :handshake:

1 Like