Article Preview
Buy Now
REVIEW
The XUI Framework
Issue: 20.5 (September/October 2022)
Author: Marc Zeedar
Article Description: No description available.
Article Length (in bytes): 5,744
Starting Page Number: 12
Article Number: 20502
Related Link(s): None
Full text of article...
y>Some developers avoid third-party plugins to Xojo because they don't want to become dependent on someone else's work. Another drawback to plugins is they can't be modified by the developer, either to fix bugs or customize the features. Plugins also have to be compiled to support each operating system.
Those problems aren't an issue for the XUI Framework, a fantastic collection of Xojo classes and utilities from longtime Xojo developer Gary Pettet. That's because XUI is entirely written in pure Xojo—most of the code will run on any system Xojo supports (even future platforms Xojo hasn't added yet.)
There are logical limits to this, of course: user interface elements won't work in console apps, and some controls are only for desktop use. For instance, a few key controls require the included TextInputCanvas plugin (
https://xui.software/textinputcanvas/
). These limits are minor, however, and you definitely have more flexibility than with some plugins that only work on specific operating systems.Because Gary developed these classes and controls for his own use over many years, there is an incredible variety of items in the framework. However, that also means the collection is a little random; you may not find items you expect and some of the included controls you may not need. That said, it's a terrific value, even if you only need one or two of the marquee features.
Overall I'd divide XUI into two groups: small "convenience" items such as simple controls or handy utility routines, and major features such as a Code Editor control or a Markdown converter class.
Major Features
The headline items of XUI have to be its Code Editor, MarkdownKit, and Undo Manager. These are classes that would take you eons to create yourself, so there's huge value in gaining them via a software license. All are impressively well-done, look beautiful, are flexible and customizable, and the full source code is included for you to make your own modifications if you wish.
The Code Editor, for instance, supports auto-complete, syntax color coloring (some are included or you can add your own), rich themes to adjust the appearance of the control, and much more.
MarkdownKit automatically converts text to HTML, but lets you access the content in a syntax tree for developing your own conversions. Since it's pure Xojo with no dependencies, it works on all platforms!
There are also other items such as FileKit, which helps with copying, moving, and deleting files, and a powerful in-app notification system.
Convenience Items
Quite a few of the items in XUI aren't essential, but are handy. Some of the controls included are an improved Color Picker, Tab Bar, Source List,
Image andText buttons, and a Tag Canvas control (ideal if your app supports tags).Others are language improvements, such as XUI Strings, which has dozens of handy string functions (like
IsLowercaseCharacter
). There are many of these that add new math, font, and color routines. There's even a replacement to the Xojo Dictionary that supports case sensitivity.Too Much Stuff
There's
way too much in the XUI Framework for me to cover in a review. Your best bet is to explore the elegant documentation(https://docs.xui.software/
) and/or download the demo (https://xui.software/products/xui-desktop/demo/
) and see which features you find useful.While initially the amount of items in XUI can be overwhelming, you may later wonder why there's no grid control or Listbox replacement. Perhaps more controls will be added in the future. If you only need one item (say, MarkdownKit), you may find an alternative product less expensive.
However, if you need a great collection of controls and classes to improve upon Xojo, you can't go wrong with XUI. Highly recommended
End of article.