Creating multi-platform mobile applications
Posted by Paul Lefebvre
Everybody is taking about multi-platform software development these days. From a desktop to a laptop to a tablet to a phone, people and companies want their software to run on whatever device they are using.
Although multi-platform development is simplified for desktop software with tools like Xojo, creating native multi-platform mobile applications remains a challenge.
Try a mobile web app
One significant advantage of a mobile web app is that you only need to have a single web application to cover multiple mobile devices such as phones and tablets. In fact, a single web application could also even cover your desktop and laptop users as well. Creating a single web application is much less work than creating separate native mobile applications for platforms such as iOS, Android and maybe Windows Phone using completely different technologies such as Objective-C, Java and .NET.
Second, it is much easier to distribute a web application than it is to distribute a native application. A web application does not go through an app store of any kind and does not need approval from anyone to make it available; just publish its URL. Even better, this means you won't have to give away a share of your sales to a third party. In particular, for in-house business applications, which may not have any reason to go through an app store at all, a mobile web application can dramatically simplify deployment.
When designing a multi-platform mobile app, you can take advantage of the Session to identify the device that is connected to the app. With this information, you can switch the user to web pages that are specifically designed to look good on the device being used.
For example, a web application when run on a tablet has more screen space, so it could display more information on the screen at once. But if the web application detects it is running on an iPhone, it could use a completely different screen layout that spreads the information across multiple screens to make it look more like a native iPhone application.
By taking advantage of this capability, your web app can adjust its screen layout for any device, including desktops, laptops, small tablets, large tablets, small phones and large phones. You can even tweak the layout to better match the user interface style of iOS and Android. For example, this is how the Xojo Eddie's Electronics sample application looks when run on an iPhone with iOS 7:
And on Android 4.3:
To be fair, a web application is not the perfect solution for all types of mobile applications. For starters, you will not get the native platform user interface, although you can get pretty close as seen above. Additionally, a mobile web app will likely need an active internet connection (especially for Xojo mobile web apps). But as always-on Internet access becomes more common (3G and 4G/LTE cellular connections along with Wifi), a web application is a great way to create a multi-platform mobile application.
How Xojo can help
Of course, Xojo is a great way to create your multi-platform mobile apps. Xojo is quite possibly the easiest way to create a web app because you can focus on a single technology and create your app using event-based, object-oriented development that is very similar to how you may have created desktop apps. And with Xojo, you also get the ability to create native desktop apps as well as native iOS apps; plus we're working towards native Andorid apps in the future! (updated April 2015)
Xojo is free to use (you only pay to deploy), so download it and get started today!