FROM BOTH BUSINESS AND DEVELOPMENT POINTS OF VIEW
Ok, let’s start with some data.
Graph below is from the Google Trends and there you can see how popular some search term has been in the passed time. Since the middle of 2020 Flutter has taken first place among the hybrid frameworks and is still leading the race.
So, there must be a reason why is Flutter gaining so much popularity over the time. For me, its very simple:
Because it’s a really good tool :)
From a developer point of view:
Easy to learn
Compared to native Android or iOS development, Flutter is much easier to learn, especially if you have some programming knowledge from before. To start off with Flutter development, you only need to know the basics of Dart language. There are lots of courses and tutorials online, questions answered on StackOverflow and generally a very big community of Flutter developers and supporters.
It has its own Youtube channel where lots of interesting topics are covered and you can learn a lot.
Flutter’s github account is one of the most starred of all:
And on stackoverflow, there are 108k questions related to Flutter.
Hot reload and hot restart
Flutter supports JIT(just in time) compilation which allows partial changes in running program(in debug mode) – we only push to the device portions of code that are edited(changed) and that can take literally milliseconds.
There are 2 ways you can update your program:
Hot restart updates Dart Virtual machine with newest changes in your program, destroys your app state and starts app from the beginning. This is much faster than initial start of the app, ‘cos only new portions of the code are inserted in the VM, unlike initial start – it compiles Java/Kotlin/Swift code, which takes much more time.
Hot reload preserves your app state, injects new(updated) code into Dart VM and redraws the widget tree. It’s super useful for UI development.
This saves lots of time and nerves :) You stay at the same screen, see changes there, no matter how deep your screen is in the widget tree!
Building apps with Flutter reminds me of building something with Lego toys. There are so many predefined widgets, you just need to put them in place. For example:
Ok, make me a list of 3 items, containing the text ‘Hello’, with some margins and colours. This is all the code :)
Object-oriented language, type-safe with static type checking. Since recently supports sound null safety. So, modern, easy to learn. Check it out here.
Also, check the online Dart console to try how it works:
A few years ago, there were few Flutter jobs on the market, but now, there is more and more each day. Only at LinkedIn, there are 12.6k at the moment.
From a business owner point of view:
Building apps with Flutter is fast! Not only apps are being written lots faster than the native ones, but there is also single code base for mobile, web and desktop, ‘cos Flutter project can be run on mobile, web and desktop. So, instead of having 3 teams, you pay for one, THE SUPERFAST ONE :) math is pretty clear here.
Flutter is all about the UI. In Flutter, we OWN each pixel on the screen, so there’s nothing it can not be done on the UI part. The only variable here is the time – something takes more or something takes less to write. So, you can let your designer get carried away here, no problem :)
Performance is native, or almost native. You don’t have a feel that app built with Flutter is not a native one. Apps run at 60fps.
Besides JIT compiler(that Dart uses in debug mode, for fast development), it uses AOT(ahead of time) compiler when building in release or profile mode.
AOT compiles Flutter app into machine code(supported architectures x86_64, armeabi-v7a, and arm64-v8a), so you can expect fast start and better performance then in debug mode.
.. And for the end
If you’re a developer, thinking of starting to learn some new technology, choose Flutter!
I would advise it to myself :D
Lead Flutter Developer at Sipod
Article originally published on medium
Read Jelena’s articles on https://jelenaaa.medium.com/