1 00:00:02,300 --> 00:00:06,500 Now besides icons and splash screen, our app also might include other assets. 2 00:00:06,500 --> 00:00:08,110 This app actually doesn't 3 00:00:08,110 --> 00:00:13,480 but you might have other images here in the asset folder which you're using in your app with image component, 4 00:00:13,520 --> 00:00:16,670 so not network images but local images 5 00:00:16,670 --> 00:00:23,270 as we also use them earlier in the course or you might be using custom fonts as I did in many of the course 6 00:00:23,270 --> 00:00:24,440 modules. 7 00:00:24,440 --> 00:00:29,820 Now if you do that, there is actually something interesting happening in a managed expo app. 8 00:00:29,960 --> 00:00:35,540 When you publish your app and even if you later deploy it to the app stores which I will show you, these 9 00:00:35,600 --> 00:00:43,520 assets by default are actually taken by expo, are optimized and so on and are then uploaded onto one of 10 00:00:43,520 --> 00:00:49,940 their servers for free but they're uploaded there and your app is configured to download them from the 11 00:00:49,940 --> 00:00:52,070 servers when it launches. 12 00:00:53,110 --> 00:00:59,740 Now the advantage of this is that your app bundle is kept a bit smaller because the files are not included 13 00:00:59,740 --> 00:01:04,850 in your app but instead live on a server and are downloaded into the running app 14 00:01:04,960 --> 00:01:10,780 but the disadvantage of this approach can be that your app always needs an Internet connection because 15 00:01:10,780 --> 00:01:16,690 if you don't have an internet connection, your images and your fonts can't be loaded into the app and 16 00:01:16,690 --> 00:01:20,090 that of course might lead to your app not working in the way it should. 17 00:01:20,170 --> 00:01:26,740 So therefore, you actually might not want to have your images or fonts uploaded to expo's servers or 18 00:01:26,740 --> 00:01:28,390 at least not all of them 19 00:01:28,390 --> 00:01:31,500 and that's what you can control with that asset bundle patterns 20 00:01:31,510 --> 00:01:38,890 setting in the app.json file. Whichever path or paths you provide here will be excluded from uploading 21 00:01:39,250 --> 00:01:40,780 and you can use wild cards. 22 00:01:40,810 --> 00:01:47,920 Now as you see, what this basically says is all files should not be uploaded, so all files should be included 23 00:01:48,010 --> 00:01:49,340 into the app bundle. 24 00:01:49,420 --> 00:01:55,630 If this would be an empty array or if this would not be set at all, this option, then you would have the 25 00:01:55,630 --> 00:01:59,640 default behavior of uploading all assets to the servers. 26 00:01:59,860 --> 00:02:07,450 With this approach which was preconfigured here, you say upload everything to expo's servers except 27 00:02:07,450 --> 00:02:12,810 for what you find in this path and this path on the other hand is a wild card that says everything, 28 00:02:12,820 --> 00:02:20,110 so every file in every folder of this project should be part of the app bundle, so actually nothing 29 00:02:20,110 --> 00:02:22,030 will be uploaded with this setting. 30 00:02:22,030 --> 00:02:28,930 You could also be saying everything in assets or maybe everything in assets and subfolders of 31 00:02:28,960 --> 00:02:31,750 assets should be part of the asset bundle, 32 00:02:31,750 --> 00:02:37,930 if you had any other files which you use the app in other folders, you would upload them. So you can really 33 00:02:37,930 --> 00:02:40,150 control this in great detail 34 00:02:40,210 --> 00:02:46,210 and again you can learn more in the official docs if you wish to, attached you find a link to that as well 35 00:02:46,540 --> 00:02:49,020 and therefore you can control what's part of your bundle, 36 00:02:49,060 --> 00:02:54,400 therefore increasing the size of it a little bit and the loading time of the app a little bit or what 37 00:02:54,400 --> 00:02:59,650 should be stored on servers, which might make your bundle a bit smaller but which forces you to always 38 00:02:59,650 --> 00:03:01,050 have an internet connection.