Case Study: Pushing cross-platform to the limit
The Challenge
We at asapteq have developed cross-platform apps before. Cross-platform apps are a great way to reduce development time and costs, because you only need to develop one app for multiple platforms. The most popular cross-platform frameworks are React Native, Flutter and Ionic. Because we always want to be on the cutting edge of technology, we decided to evaluate all three frameworks and choose the best one for our clients. To evaluate the frameworks, we developed a rather complex app with a lot of features.
The test subject
To really dig into the frameworks and see how they perform, we decided to develop a complex app. After some brainstorming and design thinking we came up with bonq, a social media app that allows users to share their favourite memes and memories and capture immediate, authentic and emotional reactions from their friends in the form of a video. The app is offline first, which means that the app can be used without an internet connection. The app also has a realtime sharing video feature, which allows users to share videos with their friends in realtime. The app also has a lot of other features, like a feed, a profile page, a settings page, a login page, a registration page, a search page, a notifications page,… This while all being cross-platform. Take a look at the app here.
The solution
The above features, especially the data-intensive real-time video sharing, are very challenging for a cross-platform application. Once we designed our architecture with pipelines, data flows, and data models, we had a good idea of what and how we wanted to develop the app. We decided to develop the app using Capacitor. Capacitor is a cross-platform app runtime environment that allows you to use the same code base for web app development and native app development. React Native and Flutter, on the other hand, do not allow you to use the same Codebase to be used for web apps and native apps. It’s not just the additional web platform that Capacitor can be used on, but also the fact that you can use web technologies such as HTML, CSS, and JavaScript to develop the app has a huge time and therefore cost saving effect.
The result
The result is a fully functional cross-platform app that works great on all platforms. The app is very fast and has a low memory footprint. The app also has many features that we were able to implement in a short period of time. We have learned a lot about the different cross-platform frameworks and feel that we have understood the advantages and disadvantages of of each framework. We are very happy with the result and are looking forward to developing more cross-platform apps in the future.