# Does Julia support desktop software development?

**URL:** https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040
**Category:** General Usage
**Tags:** question
**Created:** [October 17, 2023, 1:02am UTC](https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040 "2023-10-17T01:02:47Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![WuSiren](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wusiren/32/42529_2.png) [@WuSiren](https://discourse.julialang.org/u/WuSiren)
#### Post date: [October 17, 2023, 1:02am UTC](https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040/1 "2023-10-17T01:02:47Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Nathan\_Boyer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nathan_boyer/32/14825_2.png) [@Nathan\_Boyer](https://discourse.julialang.org/u/Nathan_Boyer)
#### Post date: [October 17, 2023, 2:07pm UTC](https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040/2 "2023-10-17T14:07:47Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)
#### Post date: [October 17, 2023, 2:21pm UTC](https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040/3 "2023-10-17T14:21:06Z")

</div>

try

> **[GitHub - Clemapfel/Mousetrap.jl: Finally, a GUI Engine made for Julia](https://github.com/Clemapfel/Mousetrap.jl)**
>
> Finally, a GUI Engine made for Julia. Contribute to Clemapfel/Mousetrap.jl development by creating an account on GitHub.

---

<div class="post-metadata">

### Author: ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)
#### Post date: [October 17, 2023, 3:02pm UTC](https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040/4 "2023-10-17T15:02:23Z")

</div>

> [@WuSiren](#):
>
> Can I use Julia to develop some executable desktop softwares on win10 computer?

[Gtk.jl](https://github.com/JuliaGraphics/Gtk.jl) is an interface to the cross-platform GUI library Gtk (Windows, Mac, Linux etc). See also the discussion:

- [Julia for GUI app](https://discourse.julialang.org/t/julia-for-gui-app/416)

Julia doesn’t natively run on mobile platforms, though (without using some emulator app, ala [Using Julia on Android with UserLAnd - #21 by mkitti](https://discourse.julialang.org/t/using-julia-on-android-with-userland/58498/21)).

---

<div class="post-metadata">

### Author: ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)
#### Post date: [October 17, 2023, 4:16pm UTC](https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040/5 "2023-10-17T16:16:35Z")

</div>

See [What are the ways to make GUI in Julia (review wanted)](https://discourse.julialang.org/t/what-are-the-ways-to-make-gui-in-julia-review-wanted/103369) - unfortunately not very informative (yet?).

---

<div class="post-metadata">

### Author: ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)
#### Post date: [October 17, 2023, 5:25pm UTC](https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040/6 "2023-10-17T17:25:42Z")

</div>

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.

> [@stevengj](#):
>
> [Gtk.jl](https://github.com/JuliaGraphics/Gtk.jl) is an interface to the cross-platform GUI library Gtk (Windows, Mac, Linux etc)

And also:

> **[GitHub - JuliaGtk/Gtk4.jl: Julia package for Gtk4, using GObject introspection](https://github.com/JuliaGtk/Gtk4.jl)**
>
> Julia package for Gtk4, using GObject introspection - GitHub - JuliaGtk/Gtk4.jl: Julia package for Gtk4, using GObject introspection

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.

> [@Nathan\_Boyer](#):
>
> If that is your end goal, probably better to learn C# and Xamarin for now.

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.

---

<div class="post-metadata">

### Author: ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)
#### Post date: [October 17, 2023, 6:49pm UTC](https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040/7 "2023-10-17T18:49:09Z")

</div>

There is also [Blink.jl](https://github.com/JuliaGizmos/Blink.jl):

> Blink.jl is the Julia wrapper around [Electron](https://electronjs.org/). 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.

---

<div class="post-metadata">

### Author: ![WuSiren](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wusiren/32/42529_2.png) [@WuSiren](https://discourse.julialang.org/u/WuSiren)
#### Post date: [October 18, 2023, 2:29am UTC](https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040/8 "2023-10-18T02:29:06Z")

</div>

Thanks to everyone! All answers are benifitial! 🤝

---

<div class="post-metadata">

### Author: ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)
#### Post date: [March 27, 2025, 11:31am UTC](https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040/10 "2025-03-27T11:31:15Z")

</div>

For desktop, if you need dynamic complex GUI, then there is CImGui.jl library.  
App executable can be compiled with PackageCompiler.jl.  
There is also AppBundler.jl to create msix packages, but I find it more difficult to use (it is separate from PackageCompiler, just wraps sources and precompiled code with Julia itself).

---

<div class="post-metadata">

### Author: ![WuSiren](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wusiren/32/42529_2.png) [@WuSiren](https://discourse.julialang.org/u/WuSiren)
#### Post date: [March 28, 2025, 8:24am UTC](https://discourse.julialang.org/t/does-julia-support-desktop-software-development/105040/11 "2025-03-28T08:24:45Z")

</div>

Thank you for your valuable experience! 🤝
