1 00:00:02,380 --> 00:00:06,220 So what's in this course now? What will you learn in this course? 2 00:00:06,220 --> 00:00:12,520 We're almost done getting started and therefore with this basic module, we set everything 3 00:00:12,520 --> 00:00:16,900 up and you get a rough idea of what React Native is and how it works. 4 00:00:16,900 --> 00:00:23,700 After this, we'll of course have a very important module where we dive into the React Native basics. In 5 00:00:23,710 --> 00:00:29,500 this module, you learned all the core fundamentals you need to know about React Native - how these apps 6 00:00:29,500 --> 00:00:35,260 work, how you work with React Native components, how you build your own components, how you make that all 7 00:00:35,260 --> 00:00:39,930 work as a native app, what you can test on your emulators or real devices, 8 00:00:40,090 --> 00:00:43,180 all of that is in this super important module. 9 00:00:43,480 --> 00:00:49,390 Now after all these core basics which are really important, we'll also have a look at debugging. 10 00:00:49,390 --> 00:00:51,100 How can you track down errors? 11 00:00:51,100 --> 00:00:53,530 Which tools are there to help you with debugging? 12 00:00:53,530 --> 00:00:57,070 these are all questions we'll tackle in the debugging module. 13 00:00:57,260 --> 00:01:03,550 Now thereafter, we will dive back into the basics but into the advanced basics if you want to call 14 00:01:03,550 --> 00:01:08,500 it like this. We'll have a look at how you build real apps, how you style apps, which different options 15 00:01:08,500 --> 00:01:13,840 you have there, how you work with all these components that are baked into React Native and with your 16 00:01:13,840 --> 00:01:18,300 own components that you can build based on those, how you layout your apps, 17 00:01:18,310 --> 00:01:25,300 so here we'll really bring together many concepts and compose that all in a more realistic app which 18 00:01:25,300 --> 00:01:31,660 does more useful things and where we'll need to tackle certain problems you have to tackle in real apps. 19 00:01:31,720 --> 00:01:37,600 So that's another core module for you to learn how React Native works and how React Native apps are 20 00:01:37,600 --> 00:01:39,050 built. 21 00:01:39,070 --> 00:01:43,900 Now once we completed this module, we'll have a solid understanding of all these fundamentals but there 22 00:01:43,900 --> 00:01:46,530 will be one problem. Up to this point, 23 00:01:46,630 --> 00:01:49,990 the apps we built thus far are not really flexible, 24 00:01:49,990 --> 00:01:56,050 they're not really adapting to different screen sizes and there might be differences between iOS or 25 00:01:56,050 --> 00:01:56,880 Android 26 00:01:56,950 --> 00:02:03,910 regarding how apps should look like or how certain things should behave which we don't really cater 27 00:02:03,910 --> 00:02:10,300 for. Therefore we'll then have a module where we dive into how to build responsive and adaptive apps, 28 00:02:10,300 --> 00:02:15,970 so how you make sure that your apps look great and work the way they should work on different devices, 29 00:02:15,970 --> 00:02:19,690 different device sizes and also on different platforms, 30 00:02:19,690 --> 00:02:27,530 so on Android and iOS and how you can use one project and one codebase to still fine tune your app to 31 00:02:27,550 --> 00:02:30,970 different platforms in certain areas. 32 00:02:30,970 --> 00:02:36,970 Now after all of that, you'll have very solid fundamentals but we'll also only have worked on apps that 33 00:02:36,970 --> 00:02:39,260 have mostly one screen. 34 00:02:39,580 --> 00:02:45,640 Now in most apps, you have tabs, you have a side drawer, you can navigate forth and back between different 35 00:02:45,640 --> 00:02:52,180 pages and you have nice transitions and animations for these navigation actions and therefore, we'll have 36 00:02:52,180 --> 00:02:59,080 a whole module dedicated to navigation and how you can build navigation into your app, how you can provide 37 00:02:59,290 --> 00:03:05,500 beautiful transitions, how you can add tabs, different kinds of tabs to your application and all these 38 00:03:05,500 --> 00:03:10,980 core techniques and things that you need in most applications you're going to build. 39 00:03:11,050 --> 00:03:17,920 Now by then, we'll also have a feeling for a problem, that managing state, managing data in our application 40 00:03:17,920 --> 00:03:23,040 can be tricky as our application grows and therefore we'll then have a whole module where we dive in 41 00:03:23,040 --> 00:03:30,280 to how to manage state with the help of Redux and how you can pass data around in your application. 42 00:03:30,280 --> 00:03:35,470 After all of that, it's really time to practice and therefore, we'll have a whole module where we build a 43 00:03:35,470 --> 00:03:41,260 brand new application from scratch, where we incorporate all the things we learned thus far. 44 00:03:41,620 --> 00:03:47,710 That's a module where you can practice this on your own or you just follow along with me or you practice 45 00:03:47,710 --> 00:03:50,000 first and then compare your solution to mine, 46 00:03:50,050 --> 00:03:56,350 so it's a big practice module where all these core things we learned about come together and can be seen 47 00:03:56,350 --> 00:03:57,590 in practice. 48 00:03:57,660 --> 00:04:02,830 Now after that, we'll take that same app and enhance it, for example by handling user input in a better 49 00:04:02,830 --> 00:04:10,720 way, by validating it, by showing error messages, by making sure that our app has certain data criteria 50 00:04:10,810 --> 00:04:14,670 that needs to be fulfilled before we can continue and so on. So that's 51 00:04:14,740 --> 00:04:20,840 another core module because of course in many applications, you'll need to gather user input. 52 00:04:20,840 --> 00:04:27,790 Now thereafter, we'll also leave our application in a certain sense because we'll learn how to send data 53 00:04:27,790 --> 00:04:31,760 to a server and store it on that server in a database. 54 00:04:31,780 --> 00:04:36,130 Of course, that's another crucial task because not all data lives on your device, 55 00:04:36,130 --> 00:04:41,770 instead there is some data that needs to be shared with other users for example or that should be backed 56 00:04:41,770 --> 00:04:48,400 up or that should be available even if users reinstall your app and for all of that, that data needs 57 00:04:48,400 --> 00:04:50,000 to be stored away from your app, 58 00:04:50,050 --> 00:04:54,340 it needs to be stored on a server, it needs to be stored in a database and that's exactly what we'll 59 00:04:54,340 --> 00:04:58,200 have a look at in this HTTP Requests Module. Now 60 00:04:58,230 --> 00:05:05,790 speaking of servers and so on, many applications also need user authentication. You need to be able to sign users 61 00:05:05,790 --> 00:05:08,900 up and log them in, log them out, manage their session 62 00:05:09,000 --> 00:05:14,250 and that's exactly what we'll have a detailed look at in the user authentication section, another core 63 00:05:14,250 --> 00:05:19,800 section with another core feature that you need in many applications and we'll have a detailed look 64 00:05:19,800 --> 00:05:21,950 at all of that in this module. 65 00:05:22,170 --> 00:05:27,320 After this module, you will have a lot of core building blocks you need for apps you typically build 66 00:05:27,510 --> 00:05:32,730 but one thing will be missing and that's how you tap into native device features, how you can use the 67 00:05:32,730 --> 00:05:38,730 device camera, how you can get the user location or how you can use Google Maps and that's what we'll 68 00:05:38,730 --> 00:05:44,280 have a look at in this native device features module. You will learn how you can get the user location, 69 00:05:44,310 --> 00:05:51,360 how you can use it, how you can store it on an on device SQLite database, all that fun stuff is in 70 00:05:51,360 --> 00:06:00,140 this module and therefore, this is another crucial module of course. Now thereafter, I'll dive into different 71 00:06:00,140 --> 00:06:06,050 ways of building your React Native app because for the majority of this course, we actually use expo, the 72 00:06:06,050 --> 00:06:11,750 tool we got started with in this first course module because it makes building React Native apps such 73 00:06:11,750 --> 00:06:17,070 a breeze, it's such fun, it's easier and therefore definitely my recommended approach 74 00:06:17,240 --> 00:06:19,910 but you might not always want to use it 75 00:06:19,910 --> 00:06:26,840 and in this module, I explained when you might not want to use it and how you then build apps without 76 00:06:26,840 --> 00:06:33,920 it, though I can already have a little spoiler at this point, for most applications, the vast majority, 77 00:06:34,100 --> 00:06:39,740 expo is an amazing tool and also important, really important, all what you learned in this course 78 00:06:39,950 --> 00:06:46,160 can be applied to expo and non-expo apps and I make that clear in this different workflows module as 79 00:06:46,160 --> 00:06:52,440 well and I show how non-expo works and how you write code for them and surprise, 80 00:06:52,520 --> 00:06:56,130 it's exactly the same as you learned in the rest of the course basically. 81 00:06:56,540 --> 00:07:02,060 Now thereafter, we of course aren't really there to just build app and then throw it away, 82 00:07:02,090 --> 00:07:04,280 instead you typically want to publish it. 83 00:07:04,400 --> 00:07:09,350 So I'll have a whole module focusing on how you publish apps and we'll not just have a look at how 84 00:07:09,350 --> 00:07:12,100 you build it and how you then get it into the App Store, 85 00:07:12,110 --> 00:07:18,320 we also will have a look at over the air updates for example, how you can automatically update the installed 86 00:07:18,320 --> 00:07:24,140 apps without forcing your users to redownload an updated version which is really amazing, so that's 87 00:07:24,140 --> 00:07:27,160 also covered in this module. 88 00:07:27,180 --> 00:07:31,860 A lot of content, all these modules of course are extremely detailed, 89 00:07:32,040 --> 00:07:37,230 you'll get tons of knowledge about React Native and by the end of the course, you'll be able to build 90 00:07:37,230 --> 00:07:39,120 amazing React Native applications.