1 00:00:00,150 --> 00:00:05,730 All right, so now that we are finally down with the basics of Scotland, let's jump into jetpack compose 2 00:00:05,730 --> 00:00:08,100 and see what it has to offer and what it even is. 3 00:00:08,520 --> 00:00:13,620 So in the past couple of years, developing native Android applications has improved quite significantly, 4 00:00:13,740 --> 00:00:19,350 ranging from architecture improvements to the tools and libraries that help in speeding up development. 5 00:00:19,740 --> 00:00:26,550 But the way we create UI widgets and its interactions remains the same where we most times needs to 6 00:00:26,640 --> 00:00:34,650 have a layout built with XML and then an activity or fragment that we have to write with either Java 7 00:00:34,650 --> 00:00:38,400 or codling to interact with the user interface widgets in the layout. 8 00:00:38,880 --> 00:00:44,520 The good news is all of this changes with the newest UI framework Jetpack Compose. 9 00:00:45,180 --> 00:00:51,570 So Jetpack Compose is a declarative toolkit for creating high quality user interface components, making 10 00:00:51,570 --> 00:00:55,230 it easier and faster to write beautiful applications with less code. 11 00:00:56,340 --> 00:01:02,340 So there is no need for separate Exmor layouts or multiple activities. 12 00:01:02,610 --> 00:01:07,350 So just one activity that will serve as an entry point into the API is required. 13 00:01:07,920 --> 00:01:14,130 Composable functions are capable of building, maintaining and updating the user interface. 14 00:01:15,210 --> 00:01:22,860 And since XML files are no longer required, there's no need for find few bayad view binding or data 15 00:01:22,860 --> 00:01:28,800 mining, which each were quite complicated and cumbersome to a degree, while find few body was quite 16 00:01:28,800 --> 00:01:31,020 simple but had its flaws by itself. 17 00:01:31,320 --> 00:01:34,830 So all of those techniques, they were there and they served their purpose. 18 00:01:34,830 --> 00:01:38,640 But now it's time to have a better approach, which is jetpack compose. 19 00:01:39,180 --> 00:01:46,170 So Jetpack Compose is interoperable with the traditional way of developing Android applications and 20 00:01:46,170 --> 00:01:53,520 can be added to already existing projects while you migrate gradually to using composable only is just 21 00:01:53,520 --> 00:01:57,330 about a normal function with the at composable annotation. 22 00:01:57,340 --> 00:02:02,280 So we have this function my app here, where, for example, we have the greeting while we'll call the 23 00:02:02,280 --> 00:02:03,800 greeting function and pass. 24 00:02:03,810 --> 00:02:09,389 Welcome to tutorials you and we're going to see how this actually works in an actual application. 25 00:02:09,389 --> 00:02:11,280 We're going to build a bunch of composable. 26 00:02:11,340 --> 00:02:14,820 We're going to use existing composable but also build. 27 00:02:14,940 --> 00:02:16,440 Many of them are selves. 28 00:02:16,440 --> 00:02:24,180 We're even going to go as far as to build entirely custom composable that are going to be quite advanced 29 00:02:24,180 --> 00:02:30,540 and complex, but super powerful and not too difficult to understand because of the beauty of jetpack 30 00:02:30,540 --> 00:02:31,560 compose in general. 31 00:02:32,070 --> 00:02:35,100 So let's go ahead and see this in action.