Cross-Compiled Apps

Mobile for B2B - Cross-compiled apps
Download PDF

This paper is one of a series we’ve written to help answer some of the questions we often hear from clients now that mobile content is firmly on the B2B marketing agenda.

Web apps or native apps? How to optimise content? What should an app look like? Why might I need an app and how can it benefit my marketing activities?

This series aims to give some useful context for anyone considering how to make the most of mobile as a marketing channel.

Introduction

Whilst there are a lot of factors to consider in deciding on a native or web app approach, understandably one of the largest factors is cost, especially when the intent is to target the largest possible audience natively on the broad spectrum of devices available.

Native apps fundamentally require that an app is redeveloped for each platform it needs to be accessed on, which essentially multiplies the build time and maintenance for every platform version that it exists on. It means that a native app can be a much more costly option than the web app route, which – despite its limitations – can extend the reach of your app to the much larger audience at a much lower cost. There is, however, a third option available that can sit in the middle ground between native and web apps – cross compilers.

Having your cake – and eating it too…

There are now several solutions, using cross compilation, that allow the publication of native apps to multiple platforms from only one round of development.

This process enables a developer to create a single app that can be published to multiple platforms as a native app and, in many cases they present a better solution for anyone wanting to develop a native app whether for one or several platforms.

With cross compiled applications, the development uses third party software, which is able to compile your application into multiple formats for distribution. Although this process can save time when compared with the time needed to develop unique versions for different platforms, the use of cross compilation carries with it its own set of positives and negatives.

The pros

The major positive for cross-compiled applications is the reach that can be achieved from one single build. The ability to quickly publish the same application to multiple platforms means a much lower production time than developing natively for each platform.

Additionally, maintenance and updates to cross-compiled applications require editing just one primary build, which can then be republished across platforms, in contrast to having to update and maintain different versions of the same application, as would be the case if building each app separately.

Many cross compilers carry the ability to ‘wrap’ web-apps into a native application, meaning you can develop an app with web app functionality that can then be turned into and delivered as a native application in addition to the web version. By developing multiple native apps and a web app from one central build you can increase reach and reduce costs.

The cons

There are, as you might expect, a few downsides to cross-compiling apps. Principally that the application itself is reliant on the functionality provided by the cross compiler software and that is common across device platforms.

Some functions that may be provided on one platform, say Android, may not be available to you through the cross compiler software as they may not be present on iPhone. In addition, there are many features missing in the cross compilers available today, especially as smartphones continue to appear and develop.

This means that cross compilers are mostly limited to simpler applications—anything requiring more complex functionality or the use of specific platform API’s may require developing a specific native app.

Finally, by using a third party to compile your application, you become reliant on the software owners to update and fix any bugs and issues that crop up on the various mobile platforms they compile to. This can often happen when a mobile operating system undergoes an update, which carries with it the potential to introduce errors into your application. While not necessarily a deal breaker, especially as operating system upgrades are relatively infrequent, it does mean putting your application into their hands in being able to quickly fix the issue-causing bugs, rather than taking ownership of the problem yourself.

Conclusion

Compiled applications can be the best solution in many cases, particularly if the app functionality required is quite basic.

They enable the creation of the native ‘app experience’ on multiple platforms, but at a fraction of the cost.

However, the use of a cross compiler to create a native application needs to be weighed up with its cons as well; determining what the application needs to do to ensure it is feasible for the cross compiler to handle. For more complex applications or those that require extensive device-based functionality, developing for each platform independently is most likely the best option.

Read the rest of the Mobile for B2B series.