Cross-platform development is the Holy Grail of programming because the idea is to write one set of code that can run on multiple platforms. The reality is that such cross-platform development always comes at a price.
The first price is that cross-platform development can’t take full advantage of the features of any particular platform. The moment you use specific operating systems, your code is no longer completely cross-platform.
It’s still far simpler to modify a small chunk of code rather than rewrite an entire project from scratch, but cross-platform development often targets the lowest common denominator of each operating system and often lags behind supporting the latest feature of any particular operating system.
Of course the greatest appeal of cross-platform development is writing one program to run on multiple platforms. If you’re willing to accept limitations in return for greater productivity, then you’ll likely want to look at cross-platform development tools.
Java represents the so-called “write once, run everywhere” mantra of cross-platform development. While you can technically write Java code to run on multiple platforms, the reality is that Java never completely fulfilled its promise.
One huge advantage of Java is that it’s the main programming language for Android and can also be ported to iOS, so if you’re looking for a mobile cross-platform solution, Java may be the answer.
Another possible solution is Xamarin, which lets you use C# code to create Android and iOS apps as well. Best of all, Xamarin is free and can run on either Windows or macOS. If you’re already a Windows developer familiar with C#, Xamarin is an attractive solution.
For desktop cross-platform capability, there’s Xojo, which offers a Visual Basic-like development tool for creating Windows, macOS, Linux, and iOS apps. Android support is coming soon and the price ranges from $99 to target a single operating system such as Windows or macOS, up to $299 to write iOS apps. For $699 or $1,999 you get more features.
One of the strangest cross-platform tools is LiveCode, which lets you create Windows, macOS, Linux, iOS, and Android apps. LiveCode is based on Apple’s old HyperCard card and stack metaphor that uses a unique programming language that closely resembles English sentences.
As a result, LiveCode syntax tends to be wordy and far different than traditional programming languages, but for novices, this can actually be a benefit. The huge drawback with LiveCode is their ever-increasing price annual price.
Initially LiveCode charged $299 a year, then $499 a year, then $699 a year, and now they’re up to $999 a year. This effectively prices them out of the reach of most people and insures that LiveCode will never become a popular option.
Cross-platform tools are great for tackling multiple operating system markets at once, but beyond Java and Xamarin, there may not be much of a market for cross-platform skills in specific tools like NSB/App Studio, Xojo or LiveCode. If you learn one of these tools, be sure to learn a more general programming language like Java or Swift as well.
Cross-platform tools aren’t the magic bullet for writing software but they do offer some advantages in writing a project once and running (and selling it) in multiple markets. Just weigh the advantages against the drawbacks and maybe a cross-platform tool will be the solution you’re looking for.