Decisions 1
Jeyabalaji Subramanian
CTO at FundsCorner
For a slide deck view of this content, visit https://www.slideshare.net/JeyabalajiSubramania/flutter-at-fundscornerpptx
Context: Recently we were looking for a tool to build cross-platform mobile apps. The primary goals for us were two fold: 1. Ability to roll out the mobile app fast. Being in the FinTech segment, our focus is more on usability & accuracy and less on the flashiness of the app in itself 2. Our web development team must be able to build mobile apps. The UI & UX fundamentals are pretty much the same.
With the above in mind, we evaluated React Native, Vue Nativescript and Flutter. While we were able to build fast in all these three choices, we chose Flutter for the following reasons:
Pre-built widgets: All the standard widgets that are required for us to build a functional app were readily available, & required minimal or no tweaking! It was pretty much like cooking up something on the web with Vue & Vuetify, which offer the fastest time frame from code to reality. The key differentiation Flutter offers over it's rivals is the native feel you get on all the widgets. No one can figure out whether it was built in Native android or Flutter.
Availability of Pre-built widgets in Flutter makes it a natural choice for going the fastest from design to reality.
Easy programming constructs & Hot Re-load: The component coding for Flutter is done through Dart. It is kind of a cross between Java & JavaScript. It is easy for the developers. I found asynchronous programming in Dart a breeze! Dart is one of the key reasons why you would build an app in record time with Flutter. Also, you will love the hot reload feature in Flutter, through which you can immediately validate the user interface and interactions.
Hot Re-load is one of the key features that make development in Flutter a breeze.
Rich set of plugins & great documentation: Flutter eco-system has matured over a period of time. We were able to easily find solutions to various problems & all the plugins worked without breaking anything. For example, we wanted to build a web view for integrating with a Payment link & flutterwebviewplugin was readily available and we were zooming in less than 30 minutes!
With great documentation and eco-system, you are always a plugin or a widget away from completing your functionality!
Great support for Reactive State Management: We were spoilt for choices when we looked at the various options for implementing Reactive statement management. After looking at a number of options, we settled with RxDart and Provider Consumer (Bloc) pattern to implement reactive statement management.
You will be able to apply your hard earned reactive state management skills in Flutter seamlessly & built beautiful reactive apps.
Easy integration with Android Native SDKs: Flutter provides a platform interface to integrate with native SDKs. Being in the FinTech industry, we were required to integrate with a number of industry-standard SDKS for payments & KYC, which were available only in Native. We were to connect with these SDKs and code with ease with the platform interface.
In the end, we were able to build and release an end-to-end, material design compliant and functionality rich Borrower app within a matter of one month and release it for Beta preview!
With the announcement of Flutter for Web in this year's google I/O, I think Flutter is going to go big and will shake up the world of cross-platform development.