Backend server platform, the all-important questions
Perhaps the most underrated, and under considered questions at the beginning of many mobile discussions are “do you need a backend platform”, “how complex does that backend platform need to be” and “how many users / simultaneous sessions do you need to support”?
Our apps typically have millions of users during peak time. Of the many possible backend systems we need something that can intrinsically supply load balanced, fault tolerant, secured, redundant APIs. Our mobile apps tend not to mind what sits behind the APIs as long as they are enterprise capable and highly scalable. One frequent mistake we see when people size or estimate the work involved in creating a mobile app is a failure to properly size or cost the platform work. Since the platform component is frequently bigger in terms of effort than the mobile component, this can be a costly mistake. The choice of future mobile technology in our case equates to our choice of future backend technology. We chose something based on a language that eats APIs for breakfast, heck it practically re-invented the modern compact API
Mobile code bases – there are sooo many to choose from …
Let’s list the key ones:
Pure Native
· Swift for iPhones
· Java for Android phones
Advantages
· You are creating mobile phone apps as the Great and Mighty Platform Creators intended
· If it is possible at all then it is possible by doing it natively
Disadvantages
· Different code bases for Android and iPhone
· An awful lot of writing from scratch
Hybrid Native
· React-Native
· Flutter
· Xamarin
Advantages
· Common codebase between iPhone and Android
· Lots of community support with huge numbers of Open Source packages
· Ability to still leverage Native components easily where needed
· Lower cost base
Disadvantages
· If you use too many Open Source packages you may find them to be abandoned and unsupported over time
· Apart from the security issues of abandoned packages, not many other disadvantages
HTML5 Apps
· PWA
· Cordova
Advantages
· Super easy to code
Disadvantages
· These apps are inevitably a bit crap (oh no Jon used a bad word, and how dare he say that)
· Sorry, but it’s true folks, these are at the knock-off car boot sale end of the spectrum. They might do what you want, but then again the handles might fall off after the first day
Another Way
Now we have talked about how most businesses do it, let's have a look at how the real pros do it ...... I am talking about the game manufactures .....Yes, we have created our latest mobile apps with a full on gaming engine. Most people think we are mad when they first hear this, but read on, because it makes a lot of sense. The engine we use created many PlayStation and XBox titles

We are talking about the Unity Engine
Advantages
· Results are stunning
· Its language base is C#
· It handles Virtual Reality in its sleep
· It can do anything the other frameworks can do
· Because code is in C# it is highly maintainable
· Thanks to C#, 3rd party integrations such as ERP and Scheduling systems are straight forward
· It handles rich media including videos seamlessly (surprisingly it’s not as seamless as you would hope in other frameworks)
Disadvantages
· The development house requires a commercial license
· It is a new skillset to learn (hey I never said it was all downhill)
Wrong assumptions common misunderstandings
· It is large and bloaty => not really. 30-40mb is nothing these days, we all have connections that will grab this in seconds and phones with 64GB of storage
· Its too heavy for old phones => Definitely not true. We have been playing games on our phones for well over a decade. When it comes to optimizations for the full spectrum of phones, no platform has had the investment or effort anywhere near close to that the games manufactures have put into backwards compatibility
· Its not for me => sorry I can’t help you there
So in summary the secret source / sauce in creating our next generation of apps is using a gaming engine, and not just for games, but also for normal informational apps. Because if an app is to succeed it needs user engagement, and well who doesn’t like beautiful graphics, smooth animations and easy to use advanced gesture control.

Some final food for thought. Our current crop of apps developed with Unity are way cheaper than our pure native apps, but surprising to many, slightly cheaper than the equivalent Hybrid Native apps.
I am guessing that's something you may not have been expecting.
For more information: Talk to David Larner at Adappt (contact@adappt.ai)
Learn more about Unity here https://unity.com/
Key Takeaways:
- Resistance from Traditional Developers: The unconventional method has generated significant hostility from developers accustomed to traditional mobile app approaches.
- Importance of the Backend Platform: Properly sizing and choosing the backend platform is critical, as it directly influences the scalability and performance of mobile apps.
- Comparison of Development Strategies:
- Pure Native (Swift, Java): Offers full platform capabilities but requires separate codebases and extensive coding.
- Hybrid Native (React-Native, Flutter, Xamarin): Shares a common codebase between iOS and Android with robust community support, though dependency on open-source packages can be a risk.
- HTML5 Apps (PWA, Cordova): Easiest to code but often deliver subpar performance and user experience.
- Innovative Use of Gaming Engines: By employing the Unity Engine, traditionally used for game development, the company achieves exceptional graphics, maintainability (using C#), and seamless third-party integrations, making it an unexpected yet effective approach for general mobile apps.
- Cost-Effectiveness: Despite initial skepticism, Unity-based apps have proven to be cheaper than pure native apps and even slightly less expensive than hybrid native apps, offering great value without compromising quality.
