How To Choose Platform and Technology for your Mobile App?


Technical Articles
Oleg Mishyn
9 September 2015
1392

If you have ever built a mobile app or you are just looking for the best mobile solution to improve your business, you must have encountered a problem with the choice of a platform and a technology.

The market research shows the current statistics of mobile platforms in use.

OS usage

Android, iOS, Windows Phone, Java ME - which to choose? Take several options? Or find out a decent compromise? Let's try to figure out this issue.

Criteria for selecting the mobile app platform

First of all, let's find out the criteria for a good development platform.

1.Multi-platform and multi-channel capability

Application development will be much more efficient if the platform can be used to develop once and deploy to desktop and mobile apps based on a single effort and skill-base.

2. Support for agile programming

It’s important to have an ability to develop and test mobile apps quickly that can be adjusted and perfectly adapted to user requirements.

3. Security

Security must be built at all levels - device, application and user levels enabled by platform usage.

4. Auditability and governance

Platforms have the ability to encode auditability and governance automatically into applications going beyond the user interface.

5. Future proof

Mobile application usage is growing and it’s going to grow further. You should be sure your platform will be updated and let you cost-effectively scale your product.

Native apps vs cross platform

Native apps vs cross platform

Well, let's say the criteria part is clear enough now, but which decision should be made with a platform? Should it be the native or cross-platform application? Let's go through the pros and cons of both of them.

Native Apps

There are several advantages to developing a mobile app on a native platform. For sure, the code will be running faster, new features will be integrated more quickly and easily, Android or iOS will likely provide a good support if something goes wrong. One of the most important things - the end user will feel more confidence and be more comfortable with native UI and UX conventions.

The biggest disadvantage of native platforms is its cost. You have to hire specialists to develop your app for different mobile platforms like Android, iOS and Windows, as each platform has its particular code language and development environment. It takes a lot of your time and money, but in the end it works perfect.

Cross-platform apps

native apps + html 5

What about cross-platform solutions, they allow companies to get an app onto different platforms without having to invest in a team or a developer specific to the ecosystem. Also, it’s a good choice for mobile gaming. For example, very often game developers use Corona and Cocos2d-x SDKs, which make it easy to add physics to 2D games with the underlying engine built around Box2D.

There are Three Different Approaches in cross-platform app development:

Completely cross-platform

advantages: small amount of code shared between the different platforms, as differrent models, templates and libraries (such as Javascript) will be reused

disadvantages: unnatural UI, poor performance as JavaScript components are slow and heavy for mobile

Hybrid cross-platform (mobile website + native app shell for each of the platforms).

Advantages: good portion of reusable JS and native UX and UI.

disadvantages: undocumented frameworks, so the project may run the risk of failing

Native core, with native navigation and feature-specific cross-platform views

Advantages: flexibility, transitions between different sections and views within the app are performed with native components

disadvantages: code reusability is limited to the amount of cross-platform views, so it makes it the most expensive option

Cross-platform mobile frameworks

xamarin vs phonegap

Now that we’ve talked about the benefits and cons of cross-platform mobile app development, the next step is to go deeper and to find out which are the best tools available to develop flexible mobile applications with seamless compatibility.

There are several cross-platform frameworks, which you can use with your app. Both of them have their own specifics and both of them can solve such issues as version control, cost-effective smartphone solutions development, avoiding of the continuous revisions on the platform e.t.c. Perhaps the most popular of these frameworks are Xamarin, PhoneGap and Unity. They now account for 70 percent of all primary development use:

cross platform apss

Source: http://readwrite.com/2015/06/24/phonegap-apache-cordova-cross-platform-tools

PhoneGap is a free hybrid cross-platform development framework, which is not purely web-based and not truly native. It allows HTML web applications to be deployed and installed as native apps. Also, it supports seven different platforms and offers complaint UI language.

As for Xamarin, it seems to be a perfect tool for developing larger projects as it supports MVVM and MVC development patterns. It allows creating native user interface for every targeted platform. That’s why there is no need opening or buying separate IDE’s. Another pleasant thing - Xamarin features an absolute code reusability and allows testing applications and detecting bugs directly in the cloud.

Important tips for choosing your best platform

Build for performance

Nowadays is important and necessary to deliver the highest performance and user experience within your app. Application performance is not guaranteed with every platform. So choosing your best platform, be sure it includes such features as:

  • Comprehensive testing features
  • Mobile friendly coding
  • Slim data-transfer protocols
  • Secure on-device storage
  • Background activities
  • Network identification capabilities
  • Server-side mashups of back-end data

Enable collaboration and efficiency

If you are going to hire a team of developers for your project it is important to maintain a centralized overview of the process. The right tools can simplify your life, so when you will be choosing a platform, be sure that your solution has collaboration tools, source control management system, ability for testing and error reporting capabilities and simple integration with third-party frameworks.

Manage mobile apps, devices and data

Choosing a platform, be sure that it supports Mobile Application Management (MAM) functionality and Mobile Device Management (MDM) features. Some of these features can address issues such as centralized access control, application version management, Over-The-Air (OTA) updates, remote disablement e.t.c. Also, it is necessary to collect and export customer engagements data from mobile devices, as well as analyze it in corporate business intelligence systems and draw actionable conclusions from it.

Evaluate supporting services

No time to sleep or relax, your application must be available 24x7, from anywhere in the world and at any time. It’s an important thing, especially when it comes to business transactions with customers, employees and partners. Be sure that the platform vendor you are dealing with can support your mobile initiative with the experience and knowledge that will help extend and scale your project.

Protect your investment

Finally, before choosing a mobile application platform, сheck whether the vendor has a support framework that fits your service level agreements (SLAs). Your strategy platform must be able to be quickly supported with new environments as they reach the market and allow you to extend your capabilities to meet a business success.

Conclusions

It’s not easy to choose the platform and technology for mobile application development. But understanding your requirements and expectations is a critical part in this issue.

You should think about money savings, hiring super team and in the end – the born of the best app in the world. Since it’s difficult to have all, it’s about figuring out where the most impact can be positively felt.

You may choose native or a cross-platform solution. In first case you will have an advantage in native UI, good support and high performance, whereas a disadvantage will be represented in high price for development. In case of cross-platform development, you will meet 3 approaches (completely cross-platform, Hybrid cross-platform and native core, with native navigation and feature-specific cross-platform views ) and many frameworks with their own advantages and disadvantages. Anyway, cross-platform development will offer you such benefits as flexibility, small amount of code and money saving.

Previous
Previous
Advantages and Disadvantages of Using Cross-Platform Mobile Development
Next
Next
How to Write a Scenario for Usability Test