Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:02,260 --> 00:00:10,220
So what is Flutter? Flutter is a tool that allows to build native cross-platform and that means for iOS
2
00:00:10,240 --> 00:00:14,830
and Android apps with the one programming language and codebase.
3
00:00:14,860 --> 00:00:17,770
So let's have a closer look at this nice sentence here.
4
00:00:17,920 --> 00:00:21,470
Important is that we build native cross-platform apps,
5
00:00:21,520 --> 00:00:25,330
so we build both an iOS app and an Android app.
6
00:00:25,330 --> 00:00:28,450
We're not building a web app that runs in the browser,
7
00:00:28,450 --> 00:00:31,560
we're not building an app that gets wrapped by native apps,
8
00:00:31,570 --> 00:00:37,480
we build real apps, two different kinds of apps in the end for iOS and Android, which you then distribute
9
00:00:37,600 --> 00:00:39,850
through the different app stores,
10
00:00:39,880 --> 00:00:42,980
so through the Apple App Store and the Google Play store,
11
00:00:43,030 --> 00:00:45,490
that's what you get as a result.
12
00:00:45,490 --> 00:00:51,610
Now you get there by using one programming language, so that you don't have to learn two different programming
13
00:00:51,610 --> 00:00:54,050
languages, one for iOS, one for Android,
14
00:00:54,220 --> 00:01:00,030
instead you have one programming language, Dart but I'll come back to that and also one codebase.
15
00:01:00,040 --> 00:01:06,120
So you work in one project, you write your code once and you still get two different apps as a result
16
00:01:06,130 --> 00:01:08,490
and that's the cool thing about Flutter,
17
00:01:08,500 --> 00:01:10,680
you only learn one programming language,
18
00:01:10,720 --> 00:01:14,810
you only write your code once and you get two apps. Without Flutter,
19
00:01:14,830 --> 00:01:21,580
you would normally build an iOS app by writing some Swift or Objective C code and using the iOS development
20
00:01:21,580 --> 00:01:27,460
environment and for Android, you would be using Java with the Android framework or you would be using
21
00:01:27,460 --> 00:01:33,010
Koplin and also the Android development environment and you would have to learn all these different
22
00:01:33,010 --> 00:01:39,100
languages and tools and you would have to write two totally different apps or work in two totally different
23
00:01:39,100 --> 00:01:40,510
projects and with Flutter,
24
00:01:40,510 --> 00:01:41,610
that's not the case,
25
00:01:41,620 --> 00:01:47,590
one programming language and one codebase. If we have a closer look at Flutter though, it's actually
26
00:01:47,590 --> 00:01:48,990
a combination of things,
27
00:01:49,060 --> 00:01:52,770
the term Flutter refers to two major things.
28
00:01:52,840 --> 00:01:56,290
One is an SDK, a Software Development Kit,
29
00:01:56,380 --> 00:02:03,370
you could say a collection of tools that allows you to write one codebase or use one codebase with
30
00:02:03,370 --> 00:02:09,850
one programming language because it includes tools to then compile this code, which normally would not
31
00:02:09,850 --> 00:02:16,600
run on iOS and Android into native machine code that does run on these platforms because if there would
32
00:02:16,600 --> 00:02:21,740
be one programming language that would work on both platforms, we wouldn't need Flutter
33
00:02:21,760 --> 00:02:22,960
but there isn't.
34
00:02:23,050 --> 00:02:27,270
Now therefore, the one programming language Flutter uses doesn't work on iOS and Android,
35
00:02:27,430 --> 00:02:33,270
so it needs to be compiled to native machine code for iOS and native machine code for Android
36
00:02:33,280 --> 00:02:39,190
so that we have code that has run on these platforms and that compilation task, along with a couple of
37
00:02:39,190 --> 00:02:39,870
other things,
38
00:02:39,910 --> 00:02:45,280
that's all part of Flutter but of course, it's not just a collection of tools,
39
00:02:45,280 --> 00:02:49,530
it also gives you everything you need to create beautiful applications.
40
00:02:49,570 --> 00:02:55,900
It gives you a framework, a widget library for that one programming language which is called Dart which
41
00:02:55,900 --> 00:02:58,260
you can use to build beautiful Flutter apps
42
00:02:58,270 --> 00:03:01,710
and that's what we will spend the majority of time with of course.
43
00:03:01,840 --> 00:03:08,270
It gives you a vast collection of reusable UI building blocks, these so-called widgets,
44
00:03:08,290 --> 00:03:15,400
so these are things like buttons, tabs, text inputs, drop downs, you get all of that out of the box. You
45
00:03:15,400 --> 00:03:20,900
can style them and customize them and then you build user interfaces with these tools.
46
00:03:20,920 --> 00:03:26,590
In addition, you get a couple of utility functions and generally, some packages that help you build what
47
00:03:26,590 --> 00:03:32,140
your users see and what your users interact with and then that code which you built with the help of
48
00:03:32,140 --> 00:03:36,820
that framework, that is then compiled native machine code with the help of the SDK.
49
00:03:36,910 --> 00:03:38,690
So that is what Flutter is.
50
00:03:38,810 --> 00:03:44,800
Now as I mentioned, Flutter uses a programming language called Dart. Dart is a programming language which
51
00:03:44,800 --> 00:03:49,760
is focused on building front-end user interfaces, front-end apps.
52
00:03:49,780 --> 00:03:52,050
It's not limited to building mobile apps,
53
00:03:52,060 --> 00:03:54,250
that's just what Flutter uses it for
54
00:03:54,340 --> 00:04:00,940
but Dart is independent of Flutter and you can also build web apps with Dart but we'll not focus just
55
00:04:00,940 --> 00:04:06,820
on Dart here, we'll focus on Flutter and how it use Dart and Flutter uses Dart mostly for
56
00:04:06,820 --> 00:04:14,450
building mobile apps. So it's a programming language built to make it really simple to build front-end
57
00:04:14,540 --> 00:04:15,820
user interfaces.
58
00:04:15,830 --> 00:04:21,470
It's a programming language which was developed by Google or is developed by Google, just like Flutter,
59
00:04:21,470 --> 00:04:27,320
so these are actually two independent teams in Google but of course they're working together to improve
60
00:04:27,350 --> 00:04:28,030
each other
61
00:04:28,190 --> 00:04:31,520
and therefore, we have a hand in hand solution here
62
00:04:31,520 --> 00:04:36,980
and in case you already have some programming experience, it's an object oriented and strongly typed
63
00:04:36,980 --> 00:04:42,200
language and its syntax is a bit like a mixture of Javascript, Java, C#
64
00:04:42,200 --> 00:04:46,640
but you don't need to know any of these languages and actually, you don't need to know anything about
65
00:04:46,640 --> 00:04:49,310
programming to follow along. In this course,
66
00:04:49,370 --> 00:04:55,720
I will teach you Dart from scratch along with Flutter, so we'll build Flutter apps and you'll learn Dart
67
00:04:55,730 --> 00:05:00,980
and the features you're using there along the way because I think that's the most fun way of learning
68
00:05:00,980 --> 00:05:04,050
that programming language and already see nice results,
69
00:05:04,070 --> 00:05:10,850
the apps we're building. So Flutter and Dart are not really alternatives, instead they're working together.
70
00:05:11,150 --> 00:05:13,240
Flutter builds up on Dart,
71
00:05:13,310 --> 00:05:18,900
it's a framework for Dart and Dart actually is the programming language which we're using, Flutter then just is
72
00:05:18,930 --> 00:05:25,610
a collection of tools, a set of features, utility functions and these widgets which are implemented
73
00:05:25,640 --> 00:05:30,680
using Dart, so that you don't have to reinvent the wheel there but you can write your own Dart code and
74
00:05:30,680 --> 00:05:37,730
use these existing widgets in your code so that you don't have to again reinvent how a button should
75
00:05:37,730 --> 00:05:43,370
look like and work but use the pre-built button instead and then just customize it to your requirements,
76
00:05:43,370 --> 00:05:45,220
that's how this works.
77
00:05:45,290 --> 00:05:48,500
And in addition as mentioned, Flutter also gives you that SDK,
78
00:05:48,650 --> 00:05:51,440
so all these tools for compiling your code in the end.
8702
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.