Hybrid App Development: A Product Manager's Perspective
Tags: mobile, product, productmanagment, frontend
Published: 2023-10-25 15:55:22

In the dynamic landscape of app development, the choice between hybrid and native paths has never been more critical. After a stint with native apps, my role as a Hybrid app product manager over the past seven years has provided me with valuable insights, which I can now share with those starting similar projects or facing decisions between native and hybrid approaches.

## Hybrid vs Native 

Native apps are created for specific platforms such as iOS, Android, or Windows Phone. They take into account the unique needs of each platform, utilising different programming languages like Objective-C, Swift, or Java. Developing native apps requires additional effort due to the platform-specific development tools, user interface components, and Software Development Kits (SDKs). Each native app is confined to a single operating system, which means that if you intend to launch your app on multiple platforms, you will need to develop separate versions for each one. 

Hybrid apps are mobile applications that combine web technologies (HTML, CSS, JavaScript) with a native app wrapper. This approach allows them to run on multiple platforms, providing cost efficiency, while still accessing certain device features. React Native, Xamarin, Flutter, and Ionic are [examples of popular cross-platform frameworks](https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/). 

## Trend or Reality 

Hybrid app development, or so called, “cross platform app development” has been a trend for quite some time. The use of hybrid app development has increased significantly since the introduction of frameworks like PhoneGap and Cordova in the early 2010s.

Today, hybrid app development has become a mainstream option for businesses looking to create mobile apps. Many popular apps such as Twitter, Uber and Instagram are built using hybrid technologies. A significant proportion of [the top 50 iOS retail apps in the United States, approximately 74%,](https://venturebeat.com/business/why-74-of-the-top-50-retail-apps-are-hybrid-apps-not-native-apps/) are built using hybrid technology. 

According to Persistence Market Research (PMR), the global cross-platform app development framework market is projected to grow [at a CAGR of 16.8% and surpass $546.7 billion by 2033](https://www.globenewswire.com/en/news-release/2023/06/21/2692007/0/en/Rising-Adoption-of-Mobile-Devices-to-Steer-Cross-Platform-App-Development-Framework-Market-Past-US-546-7-billion-by-2033-Persistence-Market-Research.html#:~:text=New%20York%2C%20June%2021%2C%202023,to%20rise%20at%2016.8%25%20CAGR), primarily driven by the increasing adoption of mobile devices.

In May 2022, Stack Overflow conducted [a survey ](https://survey.stackoverflow.co/2022)of more than 70,000 developers hailing from 180 countries worldwide. When you look at the numbers, a staggering 65.36% of respondents reported using JavaScript, making it the most commonly used programming language for the 10th consecutive year. Following closely is HTML/CSS at 55%, with Java at 33%, Kotlin at 9%, Dart at 6.5%, Swift finding its place in only 4.91% of respondents' toolkits, and Objective-C being used by less than 3% of developers.

While termed a [2023 trend](https://radixweb.com/blog/mobile-app-development-trends#Trends), 'cross-platform app development' is now a reality.

## How does hybrid app development impact product managers?

-- _You need to dedicate additional time to collaborate with the Design/UX team in order to create a uniform user experience across multiple platforms_

The primary challenge is grasping platform-specific guidelines, such as those set by [Apple](https://developer.apple.com/design/human-interface-guidelines/designing-for-ios) and [Google](https://m2.material.io/design/guidelines-overview), to craft a user interface that caters to all mobile users. Moreover, users now anticipate a smooth experience as they transition between desktop and mobile. Achieving this is simplified through a hybrid cross-platform strategy, where you can provide the same features and user experiences on both desktop and mobile, all managed from a single codebase. 

-- _You have to interact even more closely with the Development team_  

The good news is that there is a single front-end team that works with all of the platforms. Hybrid applications have dependencies on different frameworks and libraries like Ionic, Cordova, which must be synchronised with the latest versions and modifications of the platform. Hybrid apps can access all native device features such as Touch. However, these apps still depend on native plugins, so a whole new device feature may not be immediately available as a native plugin. You as a Product Manager will need to understand the limitations of the specific framework (if they are) and dependencies on plugins.
  
_-- You can spend more time on product discovery, focusing on **what** to deliver_

There is no longer a need to manage two separate backlogs for iOS and Android, making it easier to maintain feature parity between both platforms and execute updates for both apps concurrently. The apps are uploaded for AppStore/ Google Play review as usual,  the only difference here is still that Apple Store reviews still take longer.
 
_-- You are able to iterate faster_

Compared to native toolsets, many development teams find it faster to build hybrid apps using familiar web tools like HTML, JavaScript, and CSS. This translates into faster iteration to test out new features and design concepts, and to respond to user feedback. 

Besides, having a common codebase means that it is easier and faster to make bug fixes and release them to all of the clients. 

The dawn of hybrid app development as a mainstream practice has opened doors to innovation and opportunity. As a product manager, flexibility and unity across platforms will be your guiding principles in this dynamic landscape. Welcome the shift, for the journey ahead is brimming with possibilities and progress.