Is Flutter an enterprise-ready technology? Doubts were dispelled during the "Flutter Warsaw #17 - Flutter in Banking" event organized in late June 2022 by LeanCode. Around 120 people gathered at Brain Embassy Czackiego in Warsaw, along with 300 other Flutterers online at the peak, to hear about lessons learned from delivering one of the largest Flutter projects in the world - mobile banking app built with Flutter for Credit Agricole Bank Polska. During the event, the project's scale and course were presented and also the selected technology's importance.
Read our summary of the "Flutter Warsaw #17: Flutter in Banking" event.
You can also download a "Building Mobile Banking Apps with Flutter" eBook!
We rush with an explanation for those who didn't have a chance to participate in any of Flutter Warsaw's events. Flutter Warsaw is an IT community focused on modern Flutter technology dedicated to developers and everyone interested in this solution. It is one of the largest so-called meetups dedicated to Flutter in Europe, initiated by LeanCode (a software house from Warsaw, Poland) in 2018. Today, the Flutter Warsaw community has over 1,800 members worldwide who want to share knowledge and experience of using Flutter. Each edition of Flutter Warsaw is devoted to a different issue. This time the 17th edition focused on using Flutter to create complex mobile banking applications.
Since the premiere of Flutter in 2018, over 400,000 startup applications have been developed with this technology. However, there aren’t many large-scale use cases of Flutter yet. So far, Flutter has been used for the development of mobile banking applications for banks such as: Nubank (Brasil), ING Bank Śląski (Poland), Rosbank (Russia), and Credit Agricole Bank Polska (Poland). The CABP’s "CA24 Mobile - full of benefits" application was released in May 2022.
You can find more details about this mobile application in the Case Study of Credit Agricole Bank Polska.
Or in a "Building Mobile Banking Apps with Flutter" eBook!
During the event, the CABP team, represented by Katarzyna Tomczyk-Czykier and Tomasz Czerwiński, presented a speach called "CA24 Mobile - full of (Flutter) benefits." They started their presentation by providing information on Credit Agricole Bank Polska. Participants could hear that the bank belongs to the 10 largest financial groups in the world, that it opened its digital banking in 2000, and was the third bank in Poland that took such a step. Its operations are today based on the strategy of "being 100% digital and 100% human" for their customers.”
Katarzyna and Tomasz added that choosing a suitable technology was crucial to the business goals. Their new mobile application was to be full self-service for the client, have simple processes, and provide additional value in the form of benefits. The bank's goal by the end of this year is, among other things, to achieve the TOP3 position in the ratings of Polish banking applications - a rating prepared by Boston Consulting Group. The selected technology had to enable the implementation of several modern functionalities, assure short time-to-market, respond to new customer needs, provide the possibility of personalization based on CRM, as well as flexibility and ease of further development of the application or integration with other components.
Initially, other native and cross-platform technologies were also considered - such as React Native - but Flutter turned out to be the best choice. As Tomasz Czerwiński said: "We were looking for a technology that would support us. We did three proof of concepts (POC) with different companies, including LeanCode, which showed that this solution is efficient, effective and will ensure fast development. Our expectations were answered in a working demo of the application, which confirmed the effectiveness of Flutter on two different platforms."
They summed up by presenting data on the “CA24 Mobile” app project: the team of developers consisted of approx. 30 Flutter Developers at the highest peak who worked on the project for about 12 months in an Agile approach. On the other hand, over 200 people were involved in the project, 100 of whom were the IT team. The project was divided into 12 business squads and 4 technical squads.
To get the full picture of the business perspective on choosing Flutter and the analysis of the risks of this decision, watch the following video from the event:
The bigger the project, the more challenges await, but most can be solved if the project and responsibilities are properly organized. Large scale project means a project spread across different teams, companies, and professions because development is only a small part of the whole. In a project of this size, everyone must follow the limit and set boundaries exactly where they should be. However, these will not come out naturally. But if all people engaged in the project do this right from the beginning, rules won't feel artificial and won't be questioned. That's why a proper project organization is so important from the beginning.
Mateusz Wojtczak and Jakub Fijałkowski, senior developers from LeanCode presented a speech on "Flutter at Scale at CABP." In their speech, they presented the project's technical and organizational aspects, as noted in the introduction: "This talk is not going to be deep into the Flutter code. It’s more about how to manage the whole project. You will see us sharing our thoughts and experience from our year-long journey with Credit Agricole.”
Mateusz and Jakub started by addressing such issues as: code management and code ownership in a large team, feature-based project structure, and the use of the so-called code packages. Then they discussed the issues of synchronous and asynchronous communication, exchanged useful tools for code and package management, and finished with technical details such as Localization & Translation Management Systems, APIs, automated UI tests, and navigation.
Watch the following video to find out more about Flutter app development on a large scale:
The third and last presentation during the "Flutter Warsaw #17 - Flutter in Banking" event was the speech of Albert Wolszon, Flutter developer from LeanCode, who was responsible for implementing the Design System in the “CA24 Mobile” app. During his talk entitled “Design system in a large Flutter app. Developer's perspective." Albert enabled the participants to see what is usually invisible to the ordinary user of the application, i.e., how transforming projects in Figma into functional widgets looks like for developers distributed in different teams in a large corporate project.
A good mobile app design should have consistent behaviors, a consistent color palette, consistent approaches to similar user stories, and so on. Moreover, this should not come from the code because the UX/UI and design don’t come from developers. Developers merely implement the thoughts and concepts of designers that they work with. That’s why they have to maintain a design system and do it in tight collaboration with designers. Developers should always use design system components, and one squad should be responsible for the design system itself.
Referring to the importance of having a design system in such a complex mobile banking project, Albert stated that:
“The design team should prepare the foundations of their design system at this point. Most primitive of which is a style guide that contains the very-very basic elements such as:
Those basics are reused in Figma as well as in Flutter widgets. Deciding on how to define those styles must be well-thought-out.“
Albert also recalled the scale of the project - about 5,000 merge requests, 800 of which were made by the Overall Design squad, and over 200 smaller and larger components created. He discussed the management of the design architecture of the project and the importance of the so-called Motion Design, as well as outlined some of the logistics, technical and communication problems encountered. He also presented lessons learned and good practices that the event participants can use in future projects.
Watch the following video to find out more about the developer’s perspective on the Design system in mobile banking app:
The main conclusion from the event and the speeches were that the Flutter technology is fully ready for the implementation of corporate projects, including demanding and complex banking applications - which is confirmed by the "CA24 Mobile - full of benefits" app project. However, the selected technology, the community around it, and a well-chosen technical team also significantly impact the success of such ventures.
Download a "Building Mobile Banking Apps with Flutter" eBook!
5.00 / 5 Based on 2 reviews