As of today, the number of smartphone users worldwide exceeds three billion. It is predicted to grow further in the next few years. The majority of devices run on iOS and Android. That is why developers often release app versions for both platforms when creating mobile apps. To do this, they turn to native or cross-platform (“hybrid”) development.
Native development is a classic solution that implies coding for each platform separately. In contrast, hybrid frameworks allow you to prepare iOS and Android versions using one tool. In this post, we will consider one such framework and find out why it is suitable for fintech apps.
What is Flutter?
Flutter is an open-source SDK for building mobile apps from Google. It suits iOS and Android development, and it is also the only way to develop apps for Google Fuchsia so far. The first version of Flutter was called “Sky” and only worked for Android. It was presented in 2015 and announced to have rendering capability 120 frames per second. On December 4, 2018, during Flutter Live, the release of the first stable version 1.0 was announced.
Flutter uses Dart programming language and works in a Dart virtual machine with a JIT compiler. Dart platform supports hot reloading, where a change in source code is applied immediately to a running app without having to restart it. Besides, Flutter has many tools and well-structured documentation for creating software. With this framework, you can build iOS and Android apps from a single codebase.
How Flutter works
Flutter consists of three layers: Embedder, Engine, and Framework.
- Embedder. It is a platform-specific code responsible for interacting and running on the target platform.
- Engine. It is written in C/C++ and includes:
- Dart, which acts as an abstraction layer for working with the CPU
- Skia, a 2D drawing library
- Text rendering subsystem, borrowed from Android
3. Framework. It is the largest part written entirely in Dart. Its layering allows you to build apps of any complexity. You can use ready-made widgets, implement specific components based on basic widgets, and work with animation and gesture processing. Thus, you have the opportunity to utilize high-level widgets and redefine deeper layers.
Flutter architecture differs from similar technologies. A unique feature is that it independently draws every pixel as well as handles gestures and animations. Unlike React Native, it doesn’t utilize OEM widgets but has in-house widget collections – Cupertino for iOS and Material for Android. Flutter developers re-rendered all UI elements, fully reflecting their behavior.
Why use Flutter?
While the hybrid framework enables creating an app suitable for iOS and Android, the choice often turns to native development. The thing is that no tool can replace native technologies made for a specific operating system. Today, there are many cross-platform frameworks except Flutter. The most popular are React Native, PhoneGap, Xamarin, Titanium, Ionic. Still, all of them have certain limitations that are related to user experience.
A perfect cross-platform should meet two requirements:
- be economical in terms of development
- provide a quality UX
With this in mind, Flutter seems to be a top choice. It saves company resources as you hire one team instead of two. Besides, it provides native elements familiar to the user with smooth animations and a convenient interface. The primary advantages of using Flutter include:
High performance. Unlike other frameworks, Flutter does not use intermediaries (other than the Dart virtual machine) to execute the code. Therefore, the performance of Flutter apps is equal to native solutions.
Fast development. Thanks to the “hot reload,” you can see changes almost instantly after modifying something in the code. In-built Material and Cupertino widgets facilitate the creation of a native-like design.
Full control. Flutter has only a thin layer of C/C++ code, whereas most of the system (compositing, gestures, animation, widgets) is written in Dart. It allows developers to easily make any possible changes providing great control over the system.
Flutter in fintech
Today, fintech apps are much in demand. You can find services for wealth management, budgeting, investing, loans, insurance, and more. According to the Global FinTech Adoption Index, 64% of users worldwide have used at least one fintech platform, and this number is growing.
For such apps, security plays a key role. Given this, Flutter seems to be a promising technology because it may be even safer than native solutions. With native apps, you can use reverse engineering to restore the source code. Even after obfuscating the code, its structure and some class names remain the same. At the same time, reverse engineering makes no sense for Flutter apps since their source code is compiled into native code and is not readable for humans.
To strengthen security, you can also use the platform capacities: Touch ID, Face ID, or a fingerprint scanner. In this case, there will be no difference from native development since native APIs are used.
Modern fintech firms are more and more interested in Flutter. Even though the technology is young, it penetrates various finance projects around the globe. Let’s see the most known names that benefit from it.
Apps built with Flutter
Nubank is a Brazilian digital bank and one of the biggest fintech companies in Latin America. It has more than 20 million clients worldwide. Currently, they are using Flutter as the primary technology in mobile development. Nubank developers say they like Flutter for its hot reload abilities, well-organized documentation, and a stable API.
Birch Finance is a personal finance app that directs users in a wise way of using their credit cards. The app analyzes financial behavior and advises the best card to use. Thanks to the in-depth spendings tracking, it offers many options to collect rewards. As a result, users never miss a chance to get an extra income.
Cryptograph is a finance app that analyzes and provides comprehensive data on more than 1600 cryptocurrencies. The target audience of Cryptograph is people who deal with blockchain and cryptocurrency. With the app, they are always up to date about the latest trends in the field. An intuitive UX allows you to access exchange rate charts, add coins to favorites, and do other things related to cryptocurrency management.
Xianyu is an e-commerce app developed by the world-known Alibaba. It is a pioneer Chinese app selling used goods, which now has more than 50M downloads. In addition to the common buy-sell option, it supports recycling, donating, and renting. Currently, the app runs on the combined Flutter-native engine. The native container uses messages to manipulate the Flutter page’s container, thus ensuring synchronization between the native container and the Flutter container.
AppTree is a corporate app client that lets you utilize standard enterprise app features. The main functions include human resources registration, workflow setup, audit and inspection, data gathering, requests, and approvals with actual business software data.
At Softensy, we specialize in big and small fintech projects. We work with corporate clients and deliver BPM/CRM software, mobile banking solutions, finance management apps, and more. In one of our largest projects Eсоbank, we have successfully applied Flutter. With its help, we developed individual app sections using cross-platform technologies. In particular, we used Flutter to build a mechanism for displaying push notifications.
Besides, we used it to create an internal app for employees. The app offers advanced functionality for the effective interaction of employees within the company. The users can search employees, track working hours, review name badges, scan QR codes to access meeting rooms, and do many other things.
Thus, Flutter is beneficial both for the client and the team as it helps reduce development costs and accelerate product launch time. Having combined native and hybrid technologies, you can achieve the most effective result in the shortest possible time. Nevertheless, the tech stack choice directly depends on the project specifics. If you are unsure about what is best for your app, contact us. We consult for free.