All language subtitles for 005 How Flutter & Dart Code Gets Compiled To Native Apps.en

af Afrikaans
sq Albanian
am Amharic
ar Arabic Download
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
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. 4762

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.