Introducing the “Welcome to Xojo” Bundle!

New to Xojo and looking for guidance? We've put together a terrific bundle to welcome you! Xojo Bundle

This bundle includes six back issues of the magazine -- all of year 21 in printed book and digital formats -- plus a one-year subscription (beginning with 22.1) so you'll be learning all about Xojo for the next year. It's the perfect way to get started programming with Xojo. And you save as much as $35 over the non-bundle price!

This offer is only available for a limited time as supplies are limited, so hurry today and order this special bundle before the offer goes away!

Article Preview

Buy Now

Issue 20.5 ('Xojo Workflows')
Instant purchase and download via GumRoad!


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 and Text 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.