Most of the materials about mobile development options are quite confusing and lack objectivity. With that in mind, we created an unbiased 5-steps guide to choosing the most suitable approach for your next project.
Step 1: Specify Your Timeframe and BudgetIs the goal you are trying to achieve with the mobile app time-sensitive? How much money can you spend on the development? Creating a native app, you need to employ a separate engineering team to code for each platform. This results in more investments and complexity of processes, where you need to manage numerous teams. Being lengthy and costly, native development is still a tried-and-true approach to mobile development.
Cross-platform development lets you save up to 50 percent of time and expenses by engaging one team to code for different operating systems. With porting costs to be about a 50 to 70 percent increment of the original app development budget, it is obviously better to choose this approach. In the long run, you benefit from maintaining a single code-base and keeping your product up to date with simultaneous upgrades across all platforms.
Step 2: Mind the Available ResourcesHaving an in-house IT department, you take its expertise as a starting point when choosing a mobile development strategy. For a broader perspective, you should consider engaging a remote team of experts. According to Forrester, 37 percent out of 1,611 global services decision makers have used third party resources to build an enterprise mobile app. The cross-platform approach has an obvious advantage: it usually requires only one development team. Thus, your staff is smaller and easier to manage.
On the other hand, iOS and Android have the largest developer communities, which means that the native approach offers a wider choice of accessible resources.
Step 3: Define the Required Level of PerformanceIt’s crucial to know whether software performance speed and working efficiency are crucial for your end users. No other technology can outperform a native solution in this regard. It is the best option for applications that process large amounts of data on the client side or have a heavily animated UI.
Cross-platform apps usually tend to be less responsive and productive: they are usually slower and their interactions are not so smooth. While the recent research shows that 83 percent of the users see flawless user experience across all devices as somewhat or very important, this approach works fine only for simple apps with a basic design. However, technologies are evolving fast to bridge this gap, so that might change soon.
Step 4: Consider Hardware UsageTo be able to interact with the device’s sensors or additional system capabilities, you should use native development. It provides full support for the hardware “out of the box”, so any feature can be implemented using native APIs. With the rapid growth of health and fitness app industry (78 percent increase in 2015), which tends to make the best use of the device’s hardware and sensors, compatibility with hardware becomes one of the key arguments when choosing between the development approaches.
Cross-platform tools use third-party plugins to access the hardware capabilities. Such add-ons often cover only the most widely used features like Bluetooth or camera. To use them in a non-standard way or work with more specific device capabilities, you will need to create a custom plugin. However, the reliability of such plugins is still a big question. Being open source projects, the plugins are supported by individual developers, so you cannot expect the latest compatibility and excellent performance.
Step 5: Know Your MarketUnder certain circumstances, it might be unnecessary to develop an app for more than one platform. It has to deal with platform-specific features or device capabilities as well as with the target audience and its needs. Talking about the USA, both iOS and Android platforms have a strong user-base. Thus, it makes sense to cover both markets and use cross-platform technologies.
On other markets, Germany for example, we see a clear dominance of Android OS with 75.2 percent of smartphones running on it as of August 2015. In this case, a more thoughtful approach would be to create a native app for one platform to start with.
The Answer Lies in the Product ItselfKnowing your product and its target audience can definitely help you make the right technology choice. Affordable and fast cross-platform development is perfect for a Minimum Viable Productor a prototype, serving to show if the software has the potential to become a successful product. Another common use case for this approach is to build internal employee-facing apps that don’t have to meet high-performance requirements.
If you are targeting a wider public and depend on the software performance, or you have a complex app concept that involves the use of hardware, the best option is native development. It can save you from repetitive investment in the product, needed to keep up with the market competition in the future.
To read more about mobile development technologies, download our recent whitepaper “Pros & Cons of Native vs Cross-Platform Mobile Development with Xamarin“ here.