How to choose a cross-platform framework

May 14, 2023
Jeffry Ghazally

Octave has a reputation for building complex web applications that scale. We have a proven track record in delivering great websites, but recently we’ve been approached to develop some exciting mobile applications. We're excited about broadening our development offering. So to kick things off, we set out on our comparison of the top cross-platform frameworks.

What are cross-platform frameworks?

Cross-platform frameworks are frameworks that allow developers to export the same code into different computing platforms (Web, Android, iOS, Windows). 

Apps built using cross-platform frameworks do not need separate coding for each platform. The top three cross-platform frameworks today are Flutter, React Native and Cordova. 

Examples of Apps built using cross-platform frameworks include Facebook, Instagram, BMW, eBay, and Google Pay.

Why use a cross-platform framework?

1. Faster time to market

By using a cross-platform framework, you don’t need to develop the same presentation layers multiple times. You can write it once and deploy it to various platforms. This allows developers to focus on an app's unique offering and not on the different platform requirements.

These frameworks are an area where React Native shines. React Native has a cloud service called Expo. Expo simplifies the hosting, deploying, and publishing process.

2. Low maintenance costs

Maintaining your projects can be a full-time job, and keeping things up to date and working with new releases of Android and iOS can become a time sink. 

In a traditional codebase, as new features are added to a project, your work would need to be changed in three, sometimes four languages (API, Web, Android, iOS). These code changes would require different developers with different language and skill sets, an API developer, a web developer, a Kotlin developer (Android) and a Swift developer (iOS).

In a cross-platform application, you would need to change at most two different codebases, the API and the app. In some instances, the two codebases can be the same language and can be implemented by the same developer.

3. Multi-discipline teams

Traditional codebases require multiple developers or developers with the ability to write in various languages 🦄 . This causes complexity in the teams as context switching and team sizes increase. With cross-platform frameworks, developers can write their code in a single programming language, significantly reducing the complexity and requirement to context switch.

Which cross-platform framework?

When we compared the differences between Flutter and React Native, the choice was difficult. In the end, the choice depends on the project at hand.

One project we recently completed was for Te Whata for Te Kāhui Raraunga. TKR wanted to increase the presence of Te Whata by featuring its product on the Apple App and Google Play Stores. This meant creating an Android and iOS app. The app leverages the work done on the TeWhata.io website whilst simplifying navigation using native UI patterns. 

For this app we chose React Native as our cross-platform framework. The main reasons for this are:

  1. It has excellent documentation and a proven track record, with many apps in app stores being built using React Native.
  2. Our developers were familiar with it. React is a library our team has a lot of experience with, so the overlap with our existing development practices is quite significant.
  3. Expo – the cloud service that assists React Native developers in development, certification storage, testing and deployment services, significantly improving the developer experience.

Do you want to know how Octave can help with your next App? Get in touch.