Opinion Our Insights Post 5 mins Rob Sandbach Native Apps or Cross Platform There’s an important debate that’s been dividing app developers for years and it’s around whether native or cross-platform development is the best when it comes to creating mobile apps. There are clear merits to both routes which makes the decision even more difficult for businesses outsourcing app development – should you go with an agency that favours native development, or one that specialises in cross-platform development? Before we explore the pros and cons of native and cross-platform development, let’s take a moment to understand what each term means and how both relate to businesses interested in getting apps developed. Unless you’ve been living under a rock for the last decade, you’ll be aware of that the mobile device market is dominated by two major operating systems: Apple’s iOS which is exclusive to Apple devices and Google’s Android which works across multiple devices from different manufacturers. According to figures from IDC, Android has the majority of the global market share – currently 87% in 2019 – while iOS has the rest. Other alternatives to these two main players own less than 1% of market share. Obviously creating a successful app requires it to be available to users across both platforms. But ensuring it’s a success on both operating systems can be a challenge. In the beginning, apps were built exclusively through the native development process. In native development, an app has to be built twice – once for each operating system, requiring a complete build for both because each of the operating systems has its own specific build requirements and preferred languages. Native development is still very much in use and favoured by larger organisations with plenty of budget to spend. Conversely, cross-platform development is a very different process which emerged as an alternative. Cross-platform development sees the app built once in one piece of software – known as middleware – for both operating systems. In the beginning the presentation was handled using web technologies (such ash HTML and CSS) but now we can write code one and benefit from native interfaces with technologies such as React Native and Xamarin. Native vs cross-platform Pros for native: Native development has its own benefits over cross-platform development such as a more familiar user interface on both operating systems and better support for new features and services from Apple and Google. The apps are smaller and in cases where a highly complex UI with many animations and transitions are required native could be the way to go. However when it comes to developing for both iOS and Android there are the significant cost requirements that come with building twice through the native development route. This is where cross-platform development has a clear edge over native development. The requirement to only build the app once for deployment across both iOS and Android will save the business significant budget. This means more budget can be directed towards creating a better user experience in the app with a wider feature set which is available across both operating systems. Another issue with native development is that the app can very quickly become more advanced on one operating system than the other, meaning those using your app on Android might not be experiencing the same quality of experience or getting the same range of features as users on iOS, or vice versa. This is because ensuring feature parity across both operating systems is costly in native development. A cross-platform developed app will not have the same issues having been developed once and released across both operating systems. Any tweaks and updates made to the app are deployed to users on both iOS and Android. A further advantage of cross-platform development is a wider choice of people with expertise in JavaScript or C# than there is with native development; which is typically more costly too. Not only do you need to two people to deliver native development, they’re likely to cost more too. Our Take For most apps, most of the time, building with a cross platform solution is the right approach. The sacrifices of a slightly larger download and slightly less performance are mitigated by modern download speeds and device capabilities. We accept that using middleware tools to have the same the interface across platforms, abstracted from the normal UI expectations does present a less familiar experience to users, but we believe the trade offs are worth it when you’re able to have a more feature rich experience. But can you have your cake and eat it? One of the reasons we’re big fans of the Xamarin platform is you can have your cake and eat it. With this framework you can share all of your code but still have an individual, customised and native interface implementation. You get reduced development time, your users still get a responsive app with UI interactions they’re used to. For too long, businesses have had to choose between the two approaches when it comes to having their apps developed, but opting for a native UI built on a shared Xamarin codebase will ensure users get the possible digital products that provide the best possible experience whilst allowing you to spend more time adding value to your app, not duplicating code.