Xojo 2015 Release 3 is now publicly available. This release is, by far, the biggest Xojo release in many years – if not ever. All targets can now be built for 64-bit and also for Raspberry Pi (32-bit ARM).
Building your application for 64-bit in Xojo is as simple as going to the build settings for each platform (Mac OS X, Windows, Linux) and setting the Architecture to 64-bit. On Linux builds in addition to the 64-bit option there’s also the ARM 32-bit option to build for Raspberry Pi. It really is that simple.
All this is really good news because Xojo put a lot of time and effort to get the 64-bit compiler working. They’ve obviously been working on 64-bit much longer than just this release period but to add twelve new targets (Mac OS X 64-bit desktop, console, web, Windows 64-bit desktop, console, web, and Linux 64-bit desktop, console, web, and Linux ARM desktop, web and console) is impressive, to say the least.
Raspberry Pi support is better than initially announced at XDC 2015. Initially we were told that Xojo would only support console applications for the Raspberry Pi. Instead, we have the ability to not only create console applications but also desktop and web applications for Linux ARM.
I’ve taken some random web and desktop projects and ran them on the Raspberry Pi with few to no issues. The only thing I’ve not been able to get working is cgi web applications even though I installed Apache (I’m sure it’s simply a matter of getting the configuration correct).
One of the cool things about the Pi is that you can use GPIO and create all kinds of cool projects with switches, LED’s, and sensors of all types. In the examples that come with R3, look in Platform-Specific/Linux/Raspberry Pi/ and you’ll see four projects that make use of the Wiring Pi library.
If you want to dive into Xojo and Raspberry Pi I highly recommend you take a look at the Xojo GPIO page on the Einhugur blog at https://einhugur.com/blog/index.php/xojo-gpio/.
If that wasn’t enough for one release, Xojo didn’t stop development on other parts of the IDE. Web applications can now use drag and drop between objects on a WebPage. They added a new AcceptingConnections property that allows you to start/stop a web app from accepting connections. Standalone web apps now use TLSv1.2
There’s some new features in iOS too. iOSLabel has new clipping modes that you can use instead of wrapping. iOS now has container controls which should allow for some really complex user interface designs. The iOS advanced tab in Build Settings now gives developers the ability to modify the Entitlements of built apps.
The desktop app FileTypes Editor is completely revamped and now allows developers to specify UTI’s for Windows and Linux too. The new editor also lets you know if the icon set is complete.
A few important IDE bugs have been fixed. If you delete an object that has open tabs those tabs are closed. The grab handles on Layout Editor objects are now inline with the control frames than outset slightly. These are annoying little things and I’m glad they’ve fixed.
Moving your own applications to 64-bit seems to take two routes. One, it will just work and you’re on your way; or two you’ll have some work to do. This seems to depend entirely on if you’re using plugins and libraries. MonkeyBread Software and Einhugur have 64 bit versions of their plugins ready to go so check with them for 64-bit compatible versions. MacOSLib may cause some issues and while I know the developers have been updating it I don’t see anything on their GitHub site saying they’re compatible yet. Windows Functionality Suite users out of luck since it was made before structures were available in Xojo so if you’re using any of those classes you’ll have to find alternatives.
I would expect a few things about 64 bit to come to light now that it’s released to a bigger audience. While I can’t confirm a dot release is coming I expect one to fix anything major to come up in the next week or so.
Everything is not yet perfect for 64-bit in the R3 release. For one, the debugger doesn’t work in 64-bit applications yet. Until that’s released you’ll need to debug the old fashioned way using console messages and log files doing full builds. You cannot do remote debugging for ARM targets either.
A few other items are unavailable for R3. XojoScript is unavailable for 64-bit or ARM targets. You cannot build 64-bit Mac OS X apps from Windows or Linux. Icons are not preserved in Windows 64-bit apps. Tooltips class and tooltips on the ListBox do not work on Mac OS X 64-bit.
The Xojo IDE itself is not 64-bit. I don’t think this is a huge deal yet but it’s also impressive that they were able to get 64 builds from a 32 bit application.
This release is massive and impressive with 64-bit builds and Linux ARM as well as over 300 changes and bug fixes should make everyone happy for a while. Xojo should be congratulated for their hard work.
What did I miss? What are you happy or disappointed with?