Now here's a big picture of the steps you typically go through when you deploy your app.
The first step is one you might already have finished, that is that you should of course thoroughly test
and polish your app and your code. Make sure that it works, test it on different devices, on real devices
if possible, test it on different device sizes, different operating system versions,
so all of that,
that's something you should go through and make sure your app really works on all these devices and
feels and looks the way it should look and feel,
so that's really important.
Now I assume that we did all of that for this module here,
so the next step is that we configure the app and the deployment.
That means that we set a name for the app, an identifier which identifies it in the app stores,
every app needs a unique identifier
and so on. In the expo managed workflow, this also means that we can configure some additional nice features
which I'll dive into.
Now you obviously also want to add your own icons and a nice splash screen,
so a loading screen before the app opens up to your app.
Last but not least, it's time to then build and deploy the app.
Now these are actually two steps because building the app means that you now bundle up your app into
a deployable app bundle and deploying then really means that you set up the store page in the Apple
App Store or Google Play Store and that you then get your file into that store.
That's the last step
and then of course it's all about tweaking that store page and uploading some nice images there, setting
description texts and so on.
So these are the steps you typically go through and in this module, we'll have a look at the deployment related
steps and the configuration steps and I will show you how you can get your app onto the devices of
other users.
Of course there also is kind of a difference if we talk about expo apps and non-expo apps if you want
to call it like this. With expo apps, I mean apps that use managed workflow which we used throughout this course
and non-expo means bare app, so using the bare workflow offered by expo or not using expo
at all created with the React Native CLI. In the managed approach, you have the app.json file which
you can use to configure your application, assets like icons and splash screen are automatically created
for you, you just provide some input assets there and then all the creation and optimization is handled
for you. You have a command which you can run to publish your app and then commands to build for the different
platform, for the different operating systems and that build will happen on cloud servers provided by
the expo team, so you can even build for iOS if you're running on Windows or Linux machine, something
you can not do if you have to build manually on your own, then you can only build iOS apps on a Mac
and you even get a nice feature, a nice extra feature which is called over the air updates which allows
you to push basic updates, code changes and so on to apps which are running on other devices over the
air, so over the Internet, over expo's servers without the need for those users to update your app physically.
So they don't have to install a new version from the App Store, instead you can push such code changes
behind the scenes, you can live update these apps whilst they're running on other machines or on other devices
which is pretty sweet.
Now in non-expo apps, you have to configure everything manually. You have to set up the name, identifier
and so on manually in different files. You have to provide all the icons manually, create them manually,
so a lot of manual stuff involved there and you also have to orchestrate the entire build manually. So
you have to build the app via Android Studio and Xcode and the that's of course a lot of simply
manual work you have to do and you have no built-in over the air updates. There are other third party
services you can use and therefore you can get that feature to work in this approach too but it's just
not as easy as with the expo managed workflow, that's just something to be aware of.
So with that, I want to start with the managed workflow and show you how you can publish and build your
app there and thereafter, I'll also briefly show you how that would work if you're not using expo.