I’m going to upset some people with this, but if you’re going to learn how to build native AmigaOS GUIs, then learn MUI. Forget about the other GUI systems. Yes, I just said that even though ReAction is AmigaOS 4’s official GUI toolkit. And that’s for one very good reason. Actually, there are multiple reasons, but the key one is this…
MUI (a.k.a., Magic User Interface) is the most capable GUI system on AmigaOS, and by a fair margin. It has a wider range of classes and gadgets to use, and they are generally more flexible (i.e., have more features). MUI gadgets support full drag and drop, which ReAction is still missing. Not only is it the most capable AmigaOS GUI system, but it also has the highest development momentum, which means that it’s continuing to improve, while the alternatives are lagging further behind.
Finally, MUI is available for all AmigaOS variants: AmigaOS 4, 3, MorphOS, and AROS via Zune the open-source MUI clone. AmigaOS 4, MorphOS, and AROS have MUI installed by default. So, if you write your GUI in MUI then you can get your app running on all AmigaOS variants and clones. Potentially, that is. It depends on what else your code is using.
The Backstory
If you’re wondering why I’m saying this, it’s because I’ve had to make a similar decision in the past, and I got it wrong. I was writing software that I wanted to run on multiple OSes, including AmigaOS. There were two main cross-platform GUI toolkits to choose from: Qt, and wxWidgets. Neither ran on AmigaOS at the time, but Qt was by far the most capable of the two, and also had much greater development momentum.
I chose wxWidgets, because I reeeeally wanted my app to use the native GUI toolkit on each OS instead of faking the look and feel like Qt does. If you’re not familiar with wxWidgets, it maps its widgets to the OS’ native gadgets on each platform, so you have a cross-platform GUI toolkit that’s still “native.”
Anyway, fast-forward to today, and Qt is doing very well, wxWidgets is lagging further and further behind. Qt exists on AmigaOS 4, whereas the wxWidgets port never materialized. My main reason for using wxWidgets turned out to be silly, because end-users don’t care what GUI toolkit I’m using, so long as the app works well. It was the wrong choice for me, and I paid for it.
The Amiga Parallel
There’s a similar choice on AmigaOS. Choosing ReAction because it’s “the official OS GUI toolkit,” is a very weak reason. My apologies to the developers who have worked hard to improve ReAction, but my advice for Amiga developers, and especially newcomers, is to choose MUI. It’s more capable, more flexible, works on all Amiga variants and clones, and has fewer limitations.
MUI Series Coming…
I bet you’re thinking now, okay Hans, put your money where your mouth is, and use MUI. Sure, I’m planning a short series on building a small MUI app for the Kea Campus’ Amiga Corner.
So, sign up to the Amiga corner to support creating the series, and others like it. You’ll get to see it first. And, if you sign up to the Creator or Elite tier, then you’ll be able to download the source-code too.