Migrating Native Apps to Flutter – Case study

Whenever a company decides to develop a mobile application, they face the choice “native vs hybrid app development” and most importantly they are looking for efficient ways to implement the idea. If you’ve ever wondered how to save cost for customization when it is time for a major update or a complete redesign in both Android and iOS applications – the answer is FLUTTER

 

Business Background:

 

We had a great opportunity to work on a project with Treble Wallet AG which provided a white label license for the Bitcoin Wallet bought by cpi Crypto Payment International GmbH, a company from Berlin, Germany. After taking into consideration the client’s needs, Treble Wallet AG suggested their software as a native mobile app as it offers a fast, reliable, and most responsive experience to users. To save cost for customization, cpi decided to transform the native app to a hybrid development platform. The main selection criteria for the hybrid platform were security and the ability to integrate native components into a hybrid code. That was a crucial moment when they settled to go with Flutter.

 

Technical Realization:

 

Our team recognizes that one of the advantages of working in Flutter is managing a single codebase. If a multi-platform application is generated, instead of building two apps, you’re building one app and simply tweaking it a bit so it works on both platforms. It has the benefit that it needs to be tested once, as it supports modern testing frameworks. What they also bring up as a preference is easy UI development. As with native apps, hybrid apps let you retain the same ability to access device features.

 

Challenge: 

 

  But certainly, every big and important project has its challenges. The biggest challenge our teams have faced was connecting Flutter code with the code to the native platform. Their approach to that challenge was defining connectivity standards at the project level. They stepped up to the plate also when there was no library that had already solved the problem, so as part of the solution they wrote it manually on both platforms. New language and frequent platform updates caused another obstacle for them because the version can be changed and Flutter improved, but it does not necessarily mean that the version is compatible with the libraries. So the only reasonable thing to do was to wait before it switches to the new version.

 

Learnings:

 

Whether you are developing an entirely new app for one or both mobile platforms, or simply adding a new feature to existing native apps, Flutter seems like the ideal platform provided by Google, for your project as a cross-platform development tool. Approved by our team!