Before we get started installing Flutter, let's first go through what it is that you'll need in order
to be able to work with Flutter and also run your apps on iOS and Android.
Now, first things first, you're going to need a computer of some sort, to be able to develop for Flutter
and it can either be Windows or Mac.
It doesn't really matter at this stage.
In order to create Flutter apps, you can do it on both platforms.
The next step of being able to develop Flutter apps requires us having some sort of code editor to be
able to create Dart code so that we can build Flutter apps.
And, the two contenders that you should consider are Android Studio and VS Code and they're both pretty
capable in terms of developing for Flutter.
Now personal preferences aside, we're going to be using Android Studio for this course. And there's many
reasons including it makes it easier to work with the emulator,
it allows us to upgrade to Android X or Jetpack really easily, and down the line, even if you're using
VS code,
there will be places where you'll need to use Android Studio anyways.
So we might as well commit to one platform and the one that we've chosen is Android Studio.
Now if you have a preference for VS Code, you can use it for this course but just be aware that when
we're using certain specialized tools that have been developed for Android Studio, you might have to
have a quick google and see what the equivalent is for VS Code.
Now outside of Android Studio, IntelliJ and VS code, I wouldn't recommend using any other type of
code editor. And it's because we really do need a fully powered IDE to be able to hint and suggest code
to us, to be able to do code completion, and to be able to work seamlessly with our emulators, simulators
and running our apps on devices.
Now the next thing is testing our apps.
So when we create a Flutter app, we can build it either as an Android app or as an iOS app. And as a
Windows or a Mac user, you'll find it incredibly easy to run the Android counterpart of your Flutter
app. All you need is either a physical device running Android or a emulator which I'm going to shortly
show you how to download and how to setup, and that is a pretend version of a Android phone that's going
to run on your computer and both work just as well for the purposes of this course.
Now on the other hand, if you want to test the iOS counterpart of your Flutter app, things get a little
bit more tricky.
Now traditionally, Apple has always been very sandbox.
So in order to develop an app and run it, either on a physical iPhone device or on an iOS simulator,
you will need a Mac.
And this is the part that's quite difficult to get around.
The reason being that Apple has something called Code Signing and this is done for security reasons,
so that when people download or sideload an app onto their iPhone, that there isn't something malicious
on them. And every app that gets deployed onto a device requires a certificate issued by Apple and to
issue that certificate,
you're going to need a Mac of some sort.
Now what about the simulator, because similar to an Android emulator, it's also just a computer program
that runs on your laptop or your desktop and it simulates a real iPhone device.
Now in this case, you're not loading it onto a physical device so you won't need a certificate for it.
But the iOS simulator is a program that will only run on a Mac.
So basically, you'll find that in order to work with the iOS app to be able to test it, to be able to
build it, and to be able to put it onto the iOS App Store, you will make your life infinitely easier by
simply getting a either a second hand Mac if you don't have one or you might just have to borrow it
from a friend for a couple of days while you do your testing and while you upload your app to the App
Store. Because for the most part we're going to be doing our development using Flutter and that is platform
agnostic, so we can do that on Windows or on Mac and it doesn't matter. But it's the testing on iOS part
that's the tricky part.
Now Flutter has created some tools to make this a little bit easier.
So for example here, you can see that I'm running an app on the Android emulator on the right here and
inside the Flutter Inspector, there's a platform that toggles the rendering to switch from Android to
iOS and you can see that this top bar changes in appearance to show you roughly what it would look
like if this was being run on iOS.
And this is great while you're testing and you don't want to have both a simulator and an emulator up
or both an iPhone and Android phone running the app at the same time.
So this is a really neat trick that you'll surely find useful if you're working on Windows with an Android
emulator. Now there's also tools like Codemagic, which allow you to use continuous integration, build,
test and deliver your Flutter apps straight to the App Store.
But again, I wouldn't recommend building an iOS app without ever having tested it on a real iOS device.
Even if you need to borrow one or get a secondhand one, it's worth doing just to ensure that you get
the best user experience and you've tested the app fully before you put it onto the app store.
So, as a summary in order to develop Android apps with Flutter, you can use a Mac or a PC. You'll need to
download Android Studio and you're gonna need an android emulator or a physical device. In order to build
iOS apps with Flutter,
I recommend that you have a Mac that you can work with.
And again we're going to be using Android Studio and you'll need an iOS simulator or a physical device
to be able to test your iOS apps.
Now in the coming lessons, we're going to be showing you step by step guidance on how to install Flutter,
install Android Studio and set everything up to ensure that you're ready to get started with development.
So once you're ready, head over to the next lesson and choose your track based on which system you're
running, Mac or PC.