1 00:00:02,190 --> 00:00:07,040 Getting started with React Native apps can be really hard work. 2 00:00:07,080 --> 00:00:09,260 It wasn't that hard with expo and 3 00:00:09,270 --> 00:00:15,330 indeed generally, expo makes working with React Native pretty simple and fun but it's important to understand 4 00:00:15,360 --> 00:00:21,030 that React Native is not about writing Javascript once and running it everywhere, it's instead about 5 00:00:21,120 --> 00:00:27,210 learning React Native once and then write code that is flexible regarding the platform it's running 6 00:00:27,210 --> 00:00:32,970 on. For example and you will see that throughout the course, there aren't that many components React Native 7 00:00:32,970 --> 00:00:39,210 ships with that would automatically adapt the way they look to the underlying platform, you as a developer 8 00:00:39,210 --> 00:00:45,290 instead have to find out on which platform your code is running and then adjust your styles to that 9 00:00:45,290 --> 00:00:51,830 platform to get a look that fits the platform or maybe even adjust your logic to that platform. 10 00:00:51,870 --> 00:00:58,680 The same for orientation or device size changes, you need to write code that is flexible, you will learn 11 00:00:58,710 --> 00:01:03,900 all about that in this course but you will see that writing React Native code is not about writing code 12 00:01:03,900 --> 00:01:09,870 once but instead, you will have to add some if checks to find out on which platform you're running, to 13 00:01:09,870 --> 00:01:16,190 adjust the look and feel of your app based on the platform and device size your app runs on. 14 00:01:16,200 --> 00:01:22,380 So to sum it up, you have no or very little cross-platform styling of components, most components that 15 00:01:22,380 --> 00:01:23,660 are built into React Native 16 00:01:23,660 --> 00:01:26,090 don't come with a lot of styling attached to them, 17 00:01:26,100 --> 00:01:32,470 you have to take care about styling instead and you only have a basic set of pre-built components anyways, 18 00:01:32,520 --> 00:01:36,510 don't expect a vast amount of pre-built components. 19 00:01:36,510 --> 00:01:43,020 If you worked with other alternatives like Flutter or Ionic, you're used to having a bunch of components 20 00:01:43,050 --> 00:01:49,140 which are prestyled and give you a lot of awesome functionality out of the box. React Native is much 21 00:01:49,140 --> 00:01:55,920 more barebone, you got some basic components which you need but then all components that would be a 22 00:01:55,920 --> 00:02:02,100 bit more complex are components you will have to build on your own based on these primitives you're 23 00:02:02,100 --> 00:02:07,350 given and indeed, you will see these primitives you're getting are actually all you need 24 00:02:07,350 --> 00:02:12,810 but again we're back to you will need to combine them manually and style them manually and that's something 25 00:02:12,900 --> 00:02:16,130 other alternatives sometimes do for you, for React Native, 26 00:02:16,140 --> 00:02:18,250 you have to do it on your own. 27 00:02:18,390 --> 00:02:24,840 Also as I just mentioned, for creating responsive designs where your app looks good on different device 28 00:02:24,840 --> 00:02:30,410 sizes and different device orientations, you don't really have tools that help you with that, 29 00:02:30,480 --> 00:02:36,300 you will have to write code that is flexible, that checks the available device size and that then automatically 30 00:02:36,300 --> 00:02:37,410 adjusts. 31 00:02:37,410 --> 00:02:40,920 So there is a lot of manual work to be done by you 32 00:02:40,920 --> 00:02:41,750 as you can tell 33 00:02:42,240 --> 00:02:44,220 but that also gives you a lot of power 34 00:02:44,340 --> 00:02:50,000 and in this course, you will get all the knowledge you need to master this and build truly amazing React 35 00:02:50,010 --> 00:02:51,120 Native applications.