Skip to content

Category: Linux

Posts related to Linux development.

Why building apps for macOS requires a Mac

Over the years, the list of technologies upon which Apple depends has grown longer. These technologies provide a great deal of benefit both to developers and end users. Fortunately, Apple provides, supports and maintains the tools required to use these technologies at no cost to developers. Unfortunately, Apple only provides tools that run on macOS.

Comments closed

Speeding up the Layout Editor

For more years than I’d like to admit, the Layout Editor has been slow in terms of dragging controls around. As you add more controls, it gets worse. For web layouts, it’s been even worse. That’s primarily because we have to draw everything for a web layout whereas for a desktop layout, the OS draws the controls for us.

In an engineering meeting, I mentioned a discussion I had with a user about the speed of the Layout Editor and Travis said he had recently been reminded of how slow it was too. While most of the time issues in Xojo are carefully calculated and prioritized for maximum bang for the buck (as we say around here), that’s not always how it happens. After the meeting, Travis decided to dive into the Layout Editor code and see what could be done to speed it up.

The results are pretty remarkable.

Comments closed

GTK3 Can Be a Pain in the Themes

Starting with Xojo 2017r2, Linux apps use GTK3. Since Xojo uses native controls that means your app’s controls will use the theme of the Linux distribution the app runs on. This can sometimes mean that your app’s UI will not look exactly like what you designed in the Layout Editor because a theme may dramatically change control sizes and padding. This is a problem that can occur with any modern GTK3 app.

If this is a problem for your apps, there are a couple ways you can work around it.

Comments closed

Goodbye GTK+ 2, Hello GTK+ 3

With the release of Xojo 2017 Release 2 we have updated our Linux Desktop framework to use GTK+ 3 instead of GTK+ 2. For those not familiar with Linux, GTK+ is a User Interface (i.e. UI) toolkit, much like Cocoa is for macOS and Win32 controls (or WinForms.NET or WPF) is for Windows. GTK+ 2 has been supplying the user interface for Xojo Desktop apps for Linux since we first targeted Linux over a decade ago. It has since been deprecated in favor of GTK+ 3 for quite some time now and GTK+ 2 is typically not installed by default on most Linux distros these days, which makes deploying Xojo Desktop apps on Linux more painful. Unfortunately GTK+ 3 is not ABI compatible with GTK+ 2 so we could not migrate to using GTK+ 3 without completely ditching GTK+ 2.

Let’s take a closer look at what this means for your Linux apps:

Comments closed

JSON Feed Desktop App

Recently, a new syndication format was introduced by Brent Simmons and Manton Reece called JSON Feed. It is an alternative to RSS/Atom to get feeds for blog posts and podcasts. RSS/Atom are XML-based making them complex to work with. As its name implies JSON Feed uses JSON and is much simpler. I’ve shown in previous posts how easy it is to make a web and iOS apps with Xojo to display the feed.

In this post, I’ll show you how to create a Xojo desktop app to display the JSON feed for Daring Fireball in less than 20 lines of code. This app works without changes on macOS, Windows and Linux.

Comments closed