How is product development different for native and cross platform apps?

Juli Gupta
Unboxing Product Management
7 min readJul 12, 2019

I’ve often seen people in a fix when it comes to choosing between native mobile development and cross-platform mobile development. The debate often revolves around cost, time, and quality of code. Don’t worry, this is not one of those blog posts where we’ll discuss the “pros and cons” of each side.

I have another perspective.

What role should product managers play in helping their partners arrive at a sound decision? Why native development? Why cross-platform? Shouldn’t they play a guiding role in choosing the right platform?

After all, product managers are the ones who are responsible for the success of the product. So, if product managers are well informed about the right choices, they would drive the mobile app development in the right direction. On the other hand, if they aren’t aware of why they should choose one over the other, or how the approach of product development varies in native/cross-platform, they’re more likely to fail.

I gave this thought some time and came up with a few pointers for product managers. Below are a few aspects of mobile app development that you can feel accountable for-

Guiding stakeholders in choosing the right platform

There are considerable differences in the development of native and cross platform apps. Startup founders are often aware of just one or two aspects of mobile app development- cost and time.

Also, over a period of time, the thought has perpetuated among the startup community that the speed of execution, cost of development and maintenance of cross platform apps is less than native apps. However, it’s not a smart decision to just take the cost and time into consideration when you’re planning to build a mobile app.

I believe, here you can be of great help to your partners. The breadth of knowledge that you have acquired on the subject combined with the experience of building numerous apps can be put to good use in guiding startup owners.

For example, you can help them understand that if their are making an app which has hardware dependent features, then they must go for native app development. But if it’s a business oriented app, like an e-commerce platform or a book reading app, a cross-platform app can help them get to the market quickly and see results.

Considering the maturity of the development framework

The major portion of a cross-platform app is built using web technologies using HTML, CSS and JavaScript (or similar language). Since cross platform apps have to function on all operating systems, the language only supports the minimum set of functions that will work reliably across the most common set of devices. On the other hand, separate coding is done for each OS while developing native apps. This means that all code is handled by native functions and it allows full support to include even the most complex functions (e.g. animations, video processing, etc.) and processing huge data without any speed impediments.

The difference is similar to buying free size pants and then altering it as per your measurements v/s ordering your tailor to stitch your pants. Undoubtedly, the latter will give you a better fitting.

Therefore, as a product manager, you must guide the product owners about all the challenges that come in cross platform v/s native development.

For example- if you’re building an Android app and the features include large amount of animations and micro-interactions, it’s better to go for native development as you can develop fast and beautiful animations from Android Design Support Library. However, if you are adamant on building it on cross-platform, you’ll have to recreate a similar function of native app yourself.

So far, React Native (in cross platform) is the most admirable framework that works well with huge community support. Flutter, by Google is relatively new, so there is very minimal support and very few libraries.

Managing cross-functional teams

Developing native apps requires more team members. You need one team of android developers and one team of iOS developers.

However, in cross-platform app development, you need a relatively small team as the code is written once and only a few tweaks are required to make the app run on all platforms.

Now, let’s consider the first scenario- native app development.

Since the team size is bigger and teams are working on different code, you need to make sure that both teams are in sync with respect to their deliverables. The speed of execution of iOS team should match the speed of execution of Android app. If the teams aren’t in sync, the deliverables of the entire team would be impacted.

From the perspective of a product manager, you not only need to oversee the development work but you’ll also need to develop camaraderie with each team member, do regular 1:1s with them, and give them feedback to improve their work. Therefore, you need to help both (Android and iOS) teams manage their work and timelines so that nothing unexpected falls through the cracks.

The same is true for cross-platform development as well. However, since the team size is bigger in native, the responsibility of a product manager is more here as compared to cross-platform.

Investing time in Quality Assurance

Just like development, doing QA in native apps requires more time as compared to cross-platform.

In Native development, every test case needs to be tested for different devices. Since the code is written by OS specific teams, it’s absolutely necessary to check each functional as well as non-functional use case on each device.

Contrary to this, in cross-platform app development, the code base is the same for all devices. So, the quality assurance team just needs to check if the UI is getting rendered as expected. There is no need of testing each use case on every device because the code base and logic is the same for each device and if it functions correctly on one, it will be fine on other devices too.

Choosing the right team members

Behind every successful product is a great team who relentlessly worked towards building and delivering a quality product. A team with a vision and great execution skills. But here’s the catch- it’s important that the team is made of the right people who are motivated and have the right skills for the job.

Therefore, it’s important for the product manager to onboard the right people in the team. For example- one who has knowledge of native development can easily shift to cross platform development because he/she has an idea of how mobile development happens.

So, for someone moving from native mobile app development to cross platform mobile development, it’s not a paradigm shift, but just a technology shift. Thus, it’s easy for the person to make the transition.

For example, an iOS developer (native developer) who’s moving to cross platform development is already confident in coding for iOS. So when he/she makes the transition to React Native, he/she just needs to learn some aspects of Android development (or Windows development).

However, moving from cross platform mobile app development (which is mostly written in Javascript) to native mobile app development, there is a huge paradigm shift in the developer’s role. Thus, this role change makes the transition a bit difficult.

For this reason, a product manager must carefully choose the team members on the basis of their background and experience.

Building a mobile app from scratch is a big responsibility. A lot is at stake with respect to how the product will sell in the market. Therefore, as a product manager, it’s upon you to not just look after the timely delivery of the product but also look into the right platform for mobile app development. Use your experience to guide stakeholders and help them understand what will work in their favor.

I hope this blog helps you take the right decision whenever you face the BIG question- Native or Cross-Platform development?

I wrote this blog for our Medium Publication- Unboxing Product Management. The publication is a weekly column by people of Quovantis to share their learning.

--

--