Skip to content

Category: Cross-Platform

Good News: IBM is Pushing the Mac

Before we dive into what it means for developers, and in particular Xojo and other cross-platform developers, that IBM is pushing the Mac, let’s look at the recent history of the computer market. 10 years ago, the Mac had market share in the low single digits and was ignored by most of the world. These days the Windows PC market is in decline while the market share for Mac is rising at the expense of Windows.

How does IBM fit into this?

Comments closed

Pro Tip: Inserting Text Quickly in a Xojo iOS App

Manipulating text can be a time-consuming operation. I recently found myself with the need to insert text in various places in a large text document. Normally I would use a regular expression to solve this problem, but this is an iOS app and Xojo doesn’t have regular expressions available for iOS just yet. So I wrote some code to loop through the document and find and replace. Then I wrote some better code to do it a lot faster.

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

A Better Alternative to PHP

Are you tired of the hassles of creating web apps using PHP? Why not develop faster and smarter with Xojo?

Like PHP, Xojo is object-oriented. Unlike PHP, Xojo has a coherent framework design that is easy to work with; plus the Xojo language is simple and focused.

Comments closed

Big Transitions, Little Effort: One App’s Update to 64-bit

Our goal has always been to let you focus your energy on what makes your app unique. One of the ways we do that is by handling the nitty-gritty details of the various platforms Xojo supports. For example, you don’t have to worry about the differences in how files are accessed on Windows, Linux, macOS or iOS. We take care of that for you.

Saying all this is one thing, however, and delivering it is quite another. We’ve been through some significant technological hurdles over the years. Over the past 12 months we’ve had two big transitions. The first was support for HiDPI (called Retina on macOS and iOS) which made it possible for apps created with Xojo to support high definition screens. For Xojo users, adding HiDPI support was mostly a matter of recompiling their app. If they had pictures or icons, higher resolution versions needed to be supplied but aside from that, it was effortless.

The second big feature we’ve been working on is support for 64-bit. Integers are the issue here and are almost certainly the most common data type used in apps built with Xojo. If you have used the generic Integer type, in theory, building a 64-bit version of your app should be a simple matter of recompiling. That’s the theory. What’s the reality?

Comments closed

Clear the iTunes Apple Music Cache on macOS and Windows

I love listening to music and have been a happy Apple Music subscriber since it was first released in 2015. Having access to 30 million songs is great even if I mostly just listen to the ones in the “Hard Rock” category (current favorite song: You Don’t Know by Kobra and the Lotus). Unlike some other streaming services, when you listen to a song with iTunes that has not been downloaded to your computer, it does not technically stream it while it’s playing. Instead iTunes downloads the full song to a cache folder and plays it locally from there. This has the advantage of there being fewer stutters as the song is playing, but does mean it takes a moment before the song starts playing the first time. Subsequent plays of the same song are instant, though, since it doesn’t have to download it again which may also save you some Internet data usage. A notable downside to this design is that it also means that these songs are using up space on your drive and with today’s smaller SSDs often every bit of space counts. It doesn’t appear that this space is ever cleared by iTunes, either.

These songs files are saved in a cache folder buried in hidden folders on macOS and Windows, which you can get to manually if you are comfortable with the command line.

Alternatively, you can easily make a quick Xojo app to do it for you.

Comments closed

A Cure For iOS App Obesity

John Gruber of Daringfireball.net recently wrote about the problem of so many iOS apps being over 100MB in size, which means they cannot be updated over a cellular connection. It really stinks to be forced to wait until you can get on WiFi just to update an app. And it can be especially bad if you really depend on the app.

Yesterday he mentioned that a big part of the problem is that apps written in Swift (and some other tools) end up bundling in a lot of standard libraries and developers don’t take the time to consider the ways in which they can trim their overweight apps down to size before shipping updates.

But you don’t have to be knowledgable about the many techniques you will need to trim your iOS apps. There is simpler solution to this problem: write your iOS apps in Xojo.

Comments closed

Daring to Defy Software Extinction: A Limited History of Development Tools

In 1998 Steve Jobs was the interim CEO of Apple and trying to keep his unprofitable company from sinking into bankruptcy. Just the previous year, when asked what he would do if he were in charge of Apple, Dell CEO Michael Dell said, “I’d shut it down and give the money back to the shareholders.”

The Mac had single digit marketshare. Creating a development tool, independently of Apple or any company that makes a platform such a tool would support, was considered a fool’s errand. There were plenty of tools available from large companies. Apple made MPW (the Macintosh Programmer’s Workshop). Symantec created THINK C. Metrowerks developed CodeWarrior.  IBM’s VisualAge. Macromedia Flash. If you needed to create a cross-platform desktop app, you’d be told to look no further than SUN Microsystems Java: THE cross-platform language. We were all promised that Java was going to run on everything from our computers to our cars to our can openers. Java was the safe and popular choice. Developers made up only about 5% of computer users anyway. Honestly, who would be crazy enough to launch a new development tool in a  market crowded by giants?

We were.

Comments closed