So I was a python programmer for a while and I always wanted to make mobile apps even before I started coding. But even after learning C++, Python, HTML/CSS I always tend to think mobile app development is hard. This is not the reason I chose flutter but we will talk more about that later.
I transitioned to flutter as a non-mobile developer and have around 8 working months of experience in Flutter. At the time of writing this article, flutter was at the major version of 2.0.
How I started with flutter?
I already had some experience with JS so I was thinking about using Ionic or React Native, but while I was deciding I came across flutter. With the help of some articles, I was convinced that If I choose flutter I need to learn a whole new programming language called “Dart” before I start making apps. Also, I kinda like Google’s projects more than other projects so I was getting skewed towards the background of the project rather than the use of the tool itself.
Now, with that being, I was more convinced with flutter because it had faster performance out of the box, great support for attractive UI’s, and the number of platforms it supports. One main reason is that I found flutter has more easy and understandable tutorials ever, I mean Flutter itself has a YouTube channel to teach about almost everything about flutter.
I just took a leap of faith on flutter and started following some tutorials and realized dart is more like JAVA and it was quite easy to learn(This doesn’t mean you need to know JAVA before learning flutter, Dart is strictly typed and OOP. So knowing any OOP language should help you learn faster). Dart is like a cocktail of goodness, it follows JAVA’s syntax with extended functionality like python and speed of C++. The last statement was only my experience, I am not sure if that is true.
Should you learn Flutter?
Well, it depends. I know you heard that statement so many times but let me explain.
Ask these questions to yourself,
- Are you willing to learn a new language
- Can you not be lazy
- Do you have a backup plan
Are you willing to learn a new language?
If you are ready to learn then just start. Dart isn't tough language to learn and there are plenty of tutorials for it. You don't even have to install the dart compiler, you can use the online editor called Dartpad.
Can you not be lazy?
I ask this because, as I said dart is a strictly typed language and you will need to follow the conventions properly. And that’s a good thing. And you should also be able to learn the new changes because flutter is a growing framework and you can expect some changes over the years.
Do you have a backup plan?
This question might throw you off but so far google has a good reputation for abandoning projects😅, (sorry Google). So if you had to switch to another platform you should be able to switch and rewrite the apps you made if necessary. But you won’t be worrying about this as the growth of flutter seems to make the cross-platform good and by that time you will have massive community support. I just wanted you to know that this is a possibility. I believe flutter will grow better every day.
So, what’s the conclusion?
If I were to advise someone on mobile app development, I still would suggest native solutions as they will be easier to learn and generally will have a massive community but if your goal is to make a cross-platform application then I would strongly suggest Flutter as you can start building right away once you learned the fundamentals.
Remember unlike Ionic or React Native where you can use you existing JS and HTML knowledge you will need to learn a new programming language called Dart, just remember that.
So, happy programming my fellow mobile dev’s😀. Adios.