Today, in our traditional #rnc_experts, our experienced iOS developer Katerina will share her experience and impressions of switching from iOS to Flatters development.
Let’s look at this topic together with Katerina.
Join the Dart side. Cookies?
Native programming is more than common since it’s reliable, provided by the OS development companies and, by the first sight, transparent. But such flexibility offers less ready-to-go solutions and most of them are needed to be written in code.
This is the Android you’re looking for
My journey into Flutter started in 2023 after the overall numbers of projects in iOS development offered had drastically decreased. What, actually, are Flutter and Dart?
Dart is a client-optimized language for developing fast apps on any platform.
Flutter is an open source framework by Google, written in Dart.
Never tell me the odds
If you’re coming to Flutter from an imperative framework, you need to start thinking from a new perspective.
Now it’s okay to rebuild parts of your UI from scratch instead of modifying it. Flutter is declarative. It builds the user interface to reflect the current state of the app.
This is the way
I’m rewriting one unfinished project for iOS in Flutter. It mostly covers many of the standard cases of UI building and data processing.
Flutter has many built-in solutions for routine tasks such as lists with flexibly constructed tiles, global Navigator for routes in your app, etc.
Exceptions raised have comprehensive and complete descriptions in their libraries. Really miss that, investigating strange crashes in XCode, when the only description you have is an error code and a huge stack trace.
Flutter offers support of MVVM architecture “out of the box”. No more enormous controllers or classes responsible for everything.
Flutter offers a flexible mechanism of UI creation. Native Swift or ObjC UI classes more likely have to limit you with an inner realization. Wanna make a custom app bar? It’s easy with Flutter, just put your Widgets here, but requires you to subclass the bar in Swift.
Asynchronous programming is always quite challenging, but Dart offers a thread-safety mechanism that allows you not to worry about the interface interactions (a ridiculously frequent case of the weirdest bugs).
A good library of third-party solutions. You can find popular packages for your needs without additional implementation, and the tracker shows how many programming guidelines they follow.
Summarizing all above, I’d like to say, I have a quite positive experience with Flutter. It is a great time-saver for most tasks. So, if you wanna try something new, trendy and perspective in cross platform development, do have a look. May the Force be with you.