Although multi-platform development is simplified for desktop software with tools like Xojo, creating native multi-platform mobile applications remains a challenge.

But perhaps you really don’t need a native mobile application? These days, mobile devices have powerful web browsers that can run HTML5 and JavaScript to allow sophisticated web applications. Depending on your needs, a mobile web application may be a much better solution than a native mobile application.

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 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.

The key to successful and useful multi-platform mobile web applications is HTML5 and Javascript. These two powerful technologies when used together with a framework such as the Xojo Web Framework make the creation of web applications simpler than has ever been possible before.

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 typical 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:

And on Android:

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. If it turns a mobile web app won’t meet your needs, you can of course use Xojo to just as easily make native iOS apps.

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 create desktop apps. And with Xojo, you also get the ability to create native desktop apps as well as native iOS and Raspberry Pi apps; plus we’re working towards native Andorid apps in the future! (updated April 2015)