GUI library for Windows with static binding

sai sai at tmp.com
Mon May 1 19:22:41 UTC 2023


On Monday, 1 May 2023 at 09:24:56 UTC, blueberry wrote:
> Hello folks! :)
>
> I am a software engineer and started recently working with D; I 
> really love the design of the language!
>
> Now, for a current project of mine, I am having a very special 
> constraint. I need to create a tiny client-desktop application 
> for the Windows platform, which shall be shipped as a single 
> executable only. So far, I have tried out different GUI libs 
> available for D, however all of them rely on dynamic binding, 
> i.e. I would need to ship the executable together with DLLs. Is 
> there any solution for this?
>
> Best,
> blueberry

I am in a similar boat.

Requirements: Small GUI apps on Windows. Absolutely no dynamic or 
runtime libs (dlls, etc). All files must be statically 
linked/packaged into a self contained executable. Need to develop 
apps really really fast. Small size preferable, but not a must. 
Should have very good documentation, I should not have to see the 
library source code.


Some solutions that worked for me are:

1) Dlang + DWT.
I feel that DWT is very mature, has lots of widgets (since its 
port of SWT), has very good configurability. (like easy to change 
font sizes, image + text in buttons, almost no crashes from bugs, 
etc). Tonnes of documentation and examples on web (very 
important). I love this option so much that I am even trying to 
port latest SWT to D. But 600 java classes just for SWT is no 
joke. Currently exploring if I can use JavaParser to automate 
this.

2) Python + Tkinter or PySimpleGui + PyInstaller + auto_py_to_exe
To create a standalone executable. Like it or not, more people 
know Python than D, so more preferable when working with 
colleagues. Executable size is 5mb larger, large but not bad. 
PySimpleGui is fun.

3) C++ + Ultimate++
Nice all in one package, including compiler. But C++. Error 
messages are wild especially when using templates.

4) Bundle Java app + JRE runtime with Jlink.
Very large bundle, runs in 30-40MB. But I can use Netbeans + 
swing + Gui builder ... small app development done in minutes! 
Even with complicated layouts.


For some reason I never liked using browser or webview, etc. 
Mucking with HTML, javascript, etc makes me lose interest quickly.





More information about the Digitalmars-d mailing list