
Testing
Due to various aspects of multiple-platform abstraction (including the variation in style), it can take a long time to test an andlabs UI application. As well as developing an application that, by design, looks and works slightly differently across Windows, macOS, and Linux, the application may be subject to additional user customization. All three of those platforms offer some user options to change the user interface—Windows allows color adjustments, macOS similarly has highlight colors and recently added a dark mode, and GTK+ (the Linux implementation) offers full theme support.
Part of testing an application built in this way is to decide which platforms and variations you will support. Should your Windows users all be on the latest version of Windows, or will you ensure the application works with older widget styles? On macOS, are you checking that your interface reads well in dark and light modes? With Linux, are you supporting (and therefore testing) a variety of different themes?
It's highly recommended that you have a configured test environment for every variation of a system that can impact how your application looks. Thankfully, this is made easier with virtual machines—you no longer need to have rows of computers or complex multi-boot configurations. If you can load and set up each of these configurations in separate virtual machine images, it should be possible to test all of these potential variations. Note that macOS licensing requires that it's run on a Macintosh computer—even if within a virtualized environment.
Of course, the impact of this cross-platform approach may be wider-reaching—operating systems have many non-visible differences as well. It's important to load and fully run through your application to check all features, simply looking at the user interface isn't enough to satisfy a solid test strategy.