So Google has another mobile app development type product called Flutter. What is Flutter, and is this something you should be focusing on and using? Let's talk about that today.
Today we're talking about Flutter. What is it, and is it something you should be focusing on?
We're starting with a definition. The Google Flutter product is a mobile app development framework and the first version of Flutter actually came out rather way back in 2015. It had a code name of Sky and it initially ran only on the Android operating system. Now, Flutter's created by Google and uses the Dart programming language. More on Dart later in the part of this article.
So, Flutter started gaining attention perhaps more mainstream after the Google I/O conference in 2018 actually because Google started sort of promoting it more heavily. As of 2019 it's still building up a solid fan base. Personally, I think the direction the product is going is fantastic, and it's looking great for the longer term.
So, what are some of the features though, of Flutter? Well, the first big one that comes to mind for me is the fact that it targets both iOS and the Android platforms. Basically with one code base, you can target both iOS and Android and basically release apps to both app stores. That's a big feature.
In addition, it also targets Google Fuchsia, and that's the operating system that Google is currently working on and it hasn't been released as of the time this blog is posted. So basically the theory is you'll be able to, or your apps rather that you're creating in Google Flutter will work on Google Fuchsia when that comes out as well.
As I mentioned previously, Google Flutter uses the Dart programming language. Now Dart's an object oriented programming language and uses C style syntax and yes, that's also open source, the same as Safari's. Now Dart allows compilation to JavaScript, number one. But it also allows you to run your apps in a standalone environment, or AOT compiled ahead of time compilation as well which is pretty good. So it covers the three different areas there, and that's one of the reasons that it works from both iOS and Android for that reason.
Now at the Google I/O conference in 2019, one that's only just wrapped up as of the time of writing this article, Google is now talking up Flutter as also being good not only for the iOS and Android platforms, but also for web based apps and even desktop apps as well targeting Linux, Mac and Windows. This is obviously in addition to working for iOS and Android which was really the primary purpose of the product or at least that was the focus that Google was giving it, at the Google I/O conference in 2018.
So, is Google Flutter something you should be switching over and using right now? Well, in my opinion, not yet. I'd like to see more adoption of it by companies before you invested in it. However, that said, if you're looking for a great product to actually start targeting multiple platforms such as iOS and Android, then yes, absolutely it could be a good product to look at because traditionally, there's a couple of other products you can look at and one of them is Xamarin.
Xamarin's already a very popular Microsoft product. Microsoft bought the company a few years back now and that allows you to use C# to create apps to target both the iOS and the Android app store and our desktop environment as well. But this is sort of a competing product to that. This is Google's version.
So Google basically created Flutter and created the Dart programming language for that reason. With that said, it's a good option but personally I don't think it's something that you should really be moving over to yet because we haven't seen what sort of mass adoption by companies and for that reason there's not a lot of job opportunities for Flutter/Dart at this point in time. But definitely, it's definitely something you should keep an eye on perhaps start getting some training together for it. Now looking at it purely from an Android perspective, this is a question that I get a lot from my students, what it's lacking in some of the features of a Java/Kotlin or C++, native app solution. So that's the current platform if you're writing Android apps you usually end up using Android Studio and writing it in Kotlin, Java or even C++. That version is still more powerful.
There's features missing at the moment from Flutter. So you can't really perform or do everything you can in that environment in Flutter, in Dart but that's obviously gonna change. Google is heavily promoting this, so I see that over time those features will be added to Flutter as well. So if you're not using Flutter purely because of the fact there's some killer features not there yet, chances are in my opinion fairly high they will be added over time. What I will do in the future is I'll release another blog post talking about or giving you my thoughts on whether this is actually a viable alternative or a replacement, for Android Studios.
In other words do I think that in the longer term, Android Studio and Java Koltin is gonna go away and be replaced by Flutter and Dart. There's a lot to be said about that and that really needs its own discussion, so I'll actually look at addressing that in a future post. For now though, my suggestion for Android app development is to continue with our focusing on Kotlin and Java, and our native app development using Android Studio, but keep this in the back of your mind as a viable alternative and something that perhaps is going to become more mainstream in the future.
All right, so I hope that helped. If you've got any questions feel free to leave a comment and I'll get back to.
Comments