What is Dart?
Who uses Dart?
Why developers like Dart?
Here are some stack decisions, common use cases and reviews by companies and developers who chose Dart in their tech stack.
I use Dart because it is a fast, modern language with an intuitive package manager and syntax similar to Java, while less verbose (i.e. public by default,
_ in front of a variable, class, etc. to be private). Dart has an excellent asynchronous syntax making asynchronous calls such as filesystem interaction or HTTP requests simple and concise.
Recently we were looking for a tool to build cross platform mobile apps. The primary goals for us were two fold:
- Ability to rollout 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
- Our web development team must be able to build the 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.
Hot Re-load is one of the key features that makes 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 statement management skills in Flutter seamlessly & built beautiful reactive apps.
Easy integration with Android Native SDKs: Flutter provides 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 month and release it for Beta preview! If we had started out
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.
- Dart’s comprehensive libraries give you lots of choices
- Pub package manager
- Dev Server