Hi everyone!

I noticed how much Nim changes the economics of software writing- you can write 
easily distributable GUI apps just as quickly as web apps, making GUI apps just 
as cheap. This is quite remarkable- try writing one in C++ or Rust, and suffer. 
Or just use Nim instead.

Researching libraries, I finally found what I liked in `uing`, the libui-ng 
wrapper that has remarkably Nimish code. The `ui` package heritage from the Nim 
core team really shows, and the new `uing` is really well-maintained and works 
without a hitch. It also worked like a charm in my tests. Who cares if it says 
'mid-alpha', finding out where the limits of functionality are (if any) is much 
less horrible than testing JavaScript code on different browsers.

There was only one thing missing- an easy way to cross-compile `uing` 
applications for Windows, Mac and Linux. So I have released my efforts into 
this direction as a starting point.

CGUI - a cross-compilable native-gui-widget example app in Nim, based on the 
amazing `uing`.. <https://github.com/capocasa/cgui>

The hardest part is setting up the osxcross compiler, I had to figure out 
`build_compiler_rt.sh` in addition to the README description but doesn't say 
so. But it does work perfectly. I also describe a way to use quickemu to get a 
way to test things.

I didn't put it into a script because everyone's setup will be different, but 
this would make a really great docker image. With this on a linux server, you 
can just develop your GUI app and push it to main and you will have 
downloadable software you can give to users. And because Nim lets you develop 
so quickly, you can now develop GUI apps just as easily as you would develop 
web apps. This is quite the gamechanger, and really rather hard to copy. So if 
you can think of a way to do something useful with a Nim GUI app, you'll be 
much harder to compete with than if you used a web app, where everyone and 
their dog knows how to do it, and you will likely program loops around a C++ or 
Rust team doing something similar.

One language to rule them all! That it's not quite that well known yet as 
others- use it to your advantage!

I hope this is useful. Please feel free to give feedback here in the thread.

Reply via email to