So Google have another mobile app development
type product called Flutter.
So what is Flutter,
and is this something you should be focusing on and using?
Let's talk about that in today's video.
This video is brought to you by
the Learn Programming Academy's
Spring framework master class.
Comprising over 45 hours of training,
this course will give you the skills to apply in confidence
for Spring developer positions,
understand core technologies such as Spring core,
Spring MVC, and Spring Boot.
Visit lpa.dev/YouTubeSpring
or click the link in the description below.
(energetic electronic music)
Welcome back my name is Tim Buchalka
with another programming tip of the day,
and 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,
and more on Dart later in the video.
So, Flutter starting gaining attention
perhaps more mainstream,
after the Google I/O conference in 2018 actually,
because Google started sort of promoting it more heavily.
And 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.
So 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.
But 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 I'm recording this video.
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.
So 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 I'm shooting this video,
Google are 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.
And 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
were 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, 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 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 sharp 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
so, 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 you know,
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 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 are 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.
But what I will do in the future
is I'll release another video
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 video,
so I'll actually look at addressing that in a future video.
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.
Alrighty so I hope that helped,
if you've got any questions feel free to leave a comment
and I'll get back to.
If you're ready to look at the next tip,
click on up here and you can check that out.
If you're interested in coding specific programming videos,
click on that link in the bottom left hand corner.
Consider subscribing by clicking on the link up here,
and I'll see you soon.