The Xojo community is vibrant and active, with all kinds of clever, open-source software being created for iOS, desktop, web and Raspberry Pi. By my latest count, there are at least 80 open-source projects for Xojo on GitHub and other places!
It talks about how you could make a maze-like structure on a Commodore 64 with just this one line of code:
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
The author then goes on to show you how you might do something similar using Python and pygame.
I love all things retro and this seemed like fun, so I thought I would whip up the same thing in Xojo.
In today’s world, the only way to be sure you are reaching all your potential customers is to target multiple platforms. But cross-platform development is crazy-hard, right? Perhaps, if you are using tools like Java, Qt, Delphi or Xamarin it certainly can be. But with Xojo, cross-platform apps are simple to create.
In fact, Xojo lets you easily cross-compile desktop apps for Windows, macOS, Linux and Raspberry Pi. Plus, you can use the same Xojo language to create web and iOS apps too (Android coming soon!).
If the deprecations and changes to the FileMaker platform have you searching for alternatives, Xojo is a solid place to start. FileMaker developers use Xojo for a variety of reasons, including lower cost, more powerful apps and native iOS apps.
Xojo is a powerful, full-featured development tool and as far as professional development tools go, Xojo is amazingly easy to use. For people with programming experience or those that want to learn, Xojo is a great choice for creating powerful apps to meet any business need – from cross-platform desktop apps, web apps, mobile and iOT apps.
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:
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.
Visual Studio for Mac was recently released. In a previous post I compared how much easier it is to make native Mac apps with Xojo than with Visual Studio for Mac. Now I’d like to talk about making cross-platform desktop apps.
At the recent Build conference, Microsoft released the final version of Visual Studio for Mac. As a former Visual Studio developer who left that world for the fun, fast development that is Xojo, I had to check it out to see how it compares to Xojo.
First, if you’ve ever used Visual Studio on Windows before, be aware that Visual Studio for Mac is not the same thing. Essentially Visual Studio for Mac is new branding for Xamarin Studio (Microsoft bought Xamarin in 2016), so Visual Studio for Mac looks and works nothing like Visual Studio for Windows.
The ContainerControl is one of the most versatile control classes included in the Xojo framework both for Desktop and Web apps. In fact, it paves the way to complex UI controls creation with the same simplicity you are used to while designing your window layouts. Even better, once you create your complex UI controls using the ContainerControl, you will be able to add them to your Window layouts as if they were regular controls. Plus, you will enjoy the fruits of better OOP encapsulation and the fact that you can create and use the controls dynamically at run time. Want to see this in action? Follow this tutorial and video to create the basis of a multiplatform search field based on the ContainerControl class.