Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:02,340 --> 00:00:09,030
Now how does Flutter and Dart therefore then work internally? How is your Flutter app actually converted
2
00:00:09,030 --> 00:00:15,360
to a native app which can be published to the app stores? Well you have your Dart code which uses the
3
00:00:15,360 --> 00:00:21,630
Flutter framework or the Flutter API as I call it here, which stands for application programming interface.
4
00:00:21,630 --> 00:00:26,490
In the end that just means that Flutter gives you a collection of functions, of widgets, which you can
5
00:00:26,490 --> 00:00:29,630
use in your code to build the interface you want to build.
6
00:00:29,850 --> 00:00:36,420
So you have your own widgets and your own code then composed of that set of built-in widgets or your
7
00:00:36,420 --> 00:00:41,210
own widgets which you can also build and you want to build for Android and iOS.
8
00:00:41,350 --> 00:00:48,120
Now as I said, Flutter simply compile that Dart code to native code for these different platforms
9
00:00:48,570 --> 00:00:51,350
and that happens with the help of the Flutter SDK
10
00:00:51,570 --> 00:00:58,920
and as a result, you get real apps spit out with highly optimized high performance code that's based
11
00:00:58,920 --> 00:00:59,620
on your code
12
00:00:59,730 --> 00:01:01,650
but that's not your code itself,
13
00:01:01,650 --> 00:01:06,600
instead it's the compiled version of that code and therefore you really ship code that runs on the different
14
00:01:06,600 --> 00:01:07,340
platforms
15
00:01:07,500 --> 00:01:12,690
and that's optimized and high performant because performance is actually a huge advantage of Flutter
16
00:01:12,690 --> 00:01:18,510
apps, Flutter out of the box gives you high performance applications.
17
00:01:18,540 --> 00:01:24,580
Now in case you worked before with let's say React Native which is kind of an alternative to Flutter and I'll
18
00:01:24,580 --> 00:01:26,120
come back to this in a second,
19
00:01:26,200 --> 00:01:30,240
it's important to understand that Flutter does not use platform primitives.
20
00:01:30,250 --> 00:01:35,520
Now what do I mean with that? We're having our Flutter app and we're targeting iOS and Android.
21
00:01:35,520 --> 00:01:42,450
Now if we want to add a button then in Flutter with this UI as Code approach, we do so by adding a
22
00:01:42,570 --> 00:01:43,730
RaisedButton.
23
00:01:43,920 --> 00:01:49,440
Now this is just an instruction in your Flutter code which tells Flutter to render a button in that part
24
00:01:49,590 --> 00:01:51,430
of your widget tree.
25
00:01:51,450 --> 00:01:57,840
Now you could think that what happens when the code gets compiled to that native code is that this
26
00:01:57,840 --> 00:02:00,470
RaisedButton is translated to hey iOS,
27
00:02:00,480 --> 00:02:07,200
please give me your default button, which would be a UI button element in the iOS development world and
28
00:02:07,200 --> 00:02:13,770
for Android, a widget.button, that we get these native buttons which are of course part of the native
29
00:02:13,770 --> 00:02:15,140
development environments
30
00:02:15,150 --> 00:02:17,610
and that's not what happens.
31
00:02:17,610 --> 00:02:23,520
Instead Flutter has its own implementations because Flutter, and that's really important to understand
32
00:02:23,520 --> 00:02:28,260
and to keep in mind, directly controls every pixel on the screen.
33
00:02:28,440 --> 00:02:36,000
So Flutter does not compile your code to some native equivalence or native alternatives, instead Flutter
34
00:02:36,000 --> 00:02:42,960
ships with its own engine which controls the entire screen, everything the user sees and renders every
35
00:02:42,960 --> 00:02:47,770
pixel on its own and that gives Flutter a lot of control and a lot of flexibility.
36
00:02:47,820 --> 00:02:52,140
Now you don't have to care too much about that because Flutter does it for you but it's important to
37
00:02:52,140 --> 00:02:59,610
be aware of that because that gives Flutter more control and less limitations and therefore, you implicitly,
38
00:02:59,940 --> 00:03:02,160
indirectly benefit from that.
39
00:03:02,190 --> 00:03:03,620
You have a good performance,
40
00:03:03,720 --> 00:03:06,670
you have a lot of power, a lot of things you can configure,
41
00:03:06,690 --> 00:03:10,530
you have full control over how you want to build your user interface.
4599
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.