Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:01,389 --> 00:00:07,199
[Music]
2
00:00:04,960 --> 00:00:09,199
hello everybody thank you for joining i
3
00:00:07,200 --> 00:00:09,960
am maddie legere i am a program manager
4
00:00:09,199 --> 00:00:12,479
on
5
00:00:09,960 --> 00:00:14,559
the.net.net maui team and i am here to
6
00:00:12,480 --> 00:00:17,039
talk to you about how you can build
7
00:00:14,558 --> 00:00:20,759
cross-platform apps for ios android
8
00:00:17,039 --> 00:00:22,800
windows and mac with visual studio 2022
9
00:00:20,760 --> 00:00:26,080
using.net maui
10
00:00:22,800 --> 00:00:28,399
so dot net maui is new with net six it's
11
00:00:26,079 --> 00:00:30,399
in preview right now um it'll be
12
00:00:28,399 --> 00:00:32,879
shipping in 2022
13
00:00:30,399 --> 00:00:34,640
as a like ga product but the premise of
14
00:00:32,880 --> 00:00:37,520
dot net mali is that you can have your
15
00:00:34,640 --> 00:00:40,320
cross platform native ui built-in.net
16
00:00:37,520 --> 00:00:42,320
with xaml and c-sharp and run that same
17
00:00:40,320 --> 00:00:44,480
single code base on all four of these
18
00:00:42,320 --> 00:00:45,759
target platforms so when windows using
19
00:00:44,479 --> 00:00:47,679
when ui
20
00:00:45,759 --> 00:00:49,519
mac os with mac catalyst apps and then
21
00:00:47,679 --> 00:00:50,320
of course ios and android apps for your
22
00:00:49,520 --> 00:00:52,320
phone
23
00:00:50,320 --> 00:00:54,238
and everything is from a single project
24
00:00:52,320 --> 00:00:56,840
with a single project system a single
25
00:00:54,238 --> 00:01:00,320
code base it's all in.net 6 and the
26
00:00:56,840 --> 00:01:02,559
future.nets whatever comes after six so
27
00:01:00,320 --> 00:01:04,558
it's modern you get the newest project
28
00:01:02,558 --> 00:01:07,039
file types that you use in visual studio
29
00:01:04,558 --> 00:01:09,519
and it was built to be optimized
30
00:01:07,040 --> 00:01:11,439
it was optimized to be used with visual
31
00:01:09,519 --> 00:01:13,280
studio 2022
32
00:01:11,438 --> 00:01:14,559
and like i said you get to deploy to all
33
00:01:13,280 --> 00:01:16,560
your different devices mobile and
34
00:01:14,560 --> 00:01:18,159
desktop so we'll look at how we can do
35
00:01:16,560 --> 00:01:20,240
that within vs
36
00:01:18,159 --> 00:01:23,118
um and the previews are out now so you
37
00:01:20,239 --> 00:01:25,599
can actually try it today uh the best
38
00:01:23,118 --> 00:01:27,519
visual studio to use right now with net
39
00:01:25,599 --> 00:01:31,759
maui is going to be the visual studio
40
00:01:27,519 --> 00:01:35,359
preview release so it's 17.1 right now
41
00:01:31,759 --> 00:01:38,239
as of this video airing so the ga brand
42
00:01:35,359 --> 00:01:40,560
new vs 2022 has some basic support for
43
00:01:38,239 --> 00:01:42,319
net maui but if you want that full
44
00:01:40,560 --> 00:01:45,519
file new experience i would definitely
45
00:01:42,319 --> 00:01:49,839
recognize uh recommend using the preview
46
00:01:45,519 --> 00:01:51,679
release um and you can do that at ak.ms
47
00:01:49,840 --> 00:01:53,118
vs preview i'll put it in the show notes
48
00:01:51,680 --> 00:01:55,118
so that you see it
49
00:01:53,118 --> 00:01:57,438
um but definitely check it out and then
50
00:01:55,118 --> 00:01:58,799
you can get uh more info on maui from
51
00:01:57,438 --> 00:01:59,679
the github
52
00:01:58,799 --> 00:02:02,240
so
53
00:01:59,680 --> 00:02:04,479
all of that is to say net maui is the
54
00:02:02,239 --> 00:02:05,759
most productive way to create native
55
00:02:04,478 --> 00:02:08,800
performance
56
00:02:05,759 --> 00:02:10,479
android ios mac os and windows apps all
57
00:02:08,800 --> 00:02:12,800
from a single code base so this is
58
00:02:10,479 --> 00:02:15,040
actually one of our like sample projects
59
00:02:12,800 --> 00:02:16,719
running on all four different types of
60
00:02:15,039 --> 00:02:18,159
platforms um
61
00:02:16,719 --> 00:02:20,159
just screenshots of it you can see it
62
00:02:18,159 --> 00:02:22,799
looks the exact same
63
00:02:20,159 --> 00:02:24,560
we have the.netbot saying hi
64
00:02:22,800 --> 00:02:27,360
and let's take a look at how we can
65
00:02:24,560 --> 00:02:29,759
actually get all this rolling right now
66
00:02:27,360 --> 00:02:30,800
in visual studio 2022
67
00:02:29,759 --> 00:02:34,159
preview
68
00:02:30,800 --> 00:02:36,719
so i'm gonna un on powerpoint um this is
69
00:02:34,159 --> 00:02:39,519
vs2022 preview branch
70
00:02:36,719 --> 00:02:41,120
and this is a filenew.net maui project
71
00:02:39,519 --> 00:02:43,039
so what i did was when i opened the
72
00:02:41,120 --> 00:02:45,439
visual studio installer
73
00:02:43,039 --> 00:02:47,039
uh i clicked on the xamarin mobile
74
00:02:45,439 --> 00:02:48,479
development workload
75
00:02:47,039 --> 00:02:50,878
and then there's a little checkbox that
76
00:02:48,479 --> 00:02:52,719
says dot net maui parentheses preview
77
00:02:50,878 --> 00:02:55,039
and that is checked by default now for
78
00:02:52,719 --> 00:02:56,560
you in the preview branch so you don't
79
00:02:55,039 --> 00:02:57,679
really have to do anything but go take a
80
00:02:56,560 --> 00:02:58,959
look at it
81
00:02:57,680 --> 00:03:01,120
and then i was able to go file
82
00:02:58,959 --> 00:03:02,719
newproject.netmaui
83
00:03:01,120 --> 00:03:04,719
and this is what popped up i didn't
84
00:03:02,719 --> 00:03:07,598
change anything except for uncommenting
85
00:03:04,719 --> 00:03:08,400
out this line right here
86
00:03:07,598 --> 00:03:10,238
um
87
00:03:08,400 --> 00:03:12,959
and these lines these two target
88
00:03:10,239 --> 00:03:15,039
framework lines here in my new sdk style
89
00:03:12,959 --> 00:03:16,959
project file with dotnet maui tell me
90
00:03:15,039 --> 00:03:18,878
all the different frameworks that i am
91
00:03:16,959 --> 00:03:20,080
targeting with this app with the single
92
00:03:18,878 --> 00:03:21,199
code base
93
00:03:20,080 --> 00:03:24,480
right here
94
00:03:21,199 --> 00:03:27,839
so i'm targeting ios android mac via mac
95
00:03:24,479 --> 00:03:28,959
catalyst um and then of course windows
96
00:03:27,840 --> 00:03:30,878
so let's take a look at what this
97
00:03:28,959 --> 00:03:33,439
project actually looks like let me pop
98
00:03:30,878 --> 00:03:36,239
this open so
99
00:03:33,439 --> 00:03:38,158
it's one project in my solution
100
00:03:36,239 --> 00:03:41,039
um and in this project i have just a
101
00:03:38,158 --> 00:03:43,679
xaml file that's where all my ui code is
102
00:03:41,039 --> 00:03:45,199
my logic for this app it's a sample
103
00:03:43,680 --> 00:03:47,200
template app it's a very simple it's
104
00:03:45,199 --> 00:03:49,518
just in the code behind i have my app
105
00:03:47,199 --> 00:03:50,878
entry point mauiprogram.cs
106
00:03:49,519 --> 00:03:52,640
c sharp file
107
00:03:50,878 --> 00:03:54,639
and then i have a platforms folder which
108
00:03:52,639 --> 00:03:56,719
if i ever needed to put any platform
109
00:03:54,639 --> 00:03:59,039
specific code for just the android app
110
00:03:56,719 --> 00:04:00,799
or the ios app or whatever that can go
111
00:03:59,039 --> 00:04:02,639
in my platforms folder
112
00:04:00,799 --> 00:04:04,799
um and then i have my resources folder
113
00:04:02,639 --> 00:04:07,199
which is my favorite part of maui that
114
00:04:04,799 --> 00:04:09,920
you can share everything across all the
115
00:04:07,199 --> 00:04:11,359
platforms with just one copy of it
116
00:04:09,919 --> 00:04:13,199
so previously if you were building a
117
00:04:11,360 --> 00:04:14,400
multi-platform app using xamarin or
118
00:04:13,199 --> 00:04:16,798
something else with
119
00:04:14,400 --> 00:04:18,478
net and bs you'd have to have different
120
00:04:16,798 --> 00:04:20,959
versions of the images for every
121
00:04:18,478 --> 00:04:22,879
platform you wanted it to be on
122
00:04:20,959 --> 00:04:25,840
um but in this case you just have one
123
00:04:22,879 --> 00:04:28,800
svg one app icon and the app icon
124
00:04:25,839 --> 00:04:30,959
foreground and we uh load them all in
125
00:04:28,800 --> 00:04:32,800
through the project file here
126
00:04:30,959 --> 00:04:34,560
and it's a wild card for images it's a
127
00:04:32,800 --> 00:04:36,960
wild card for font so anything i stick
128
00:04:34,560 --> 00:04:39,360
in there is gonna be good to go um and
129
00:04:36,959 --> 00:04:41,918
then those will all get loaded and sized
130
00:04:39,360 --> 00:04:43,759
properly for the platform i'm targeting
131
00:04:41,918 --> 00:04:46,240
what's also really cool about maui is
132
00:04:43,759 --> 00:04:47,919
that we have a app icon and splash
133
00:04:46,240 --> 00:04:50,319
screen helpers so instead of having to
134
00:04:47,918 --> 00:04:51,439
build custom ones for each platform you
135
00:04:50,319 --> 00:04:54,959
can
136
00:04:51,439 --> 00:04:57,600
just include a foreground file here
137
00:04:54,959 --> 00:04:59,359
and an app icon and then just call it
138
00:04:57,600 --> 00:05:01,520
is app icon true give it a background
139
00:04:59,360 --> 00:05:03,360
color if you need it and it will smush
140
00:05:01,519 --> 00:05:05,359
all those things together to create the
141
00:05:03,360 --> 00:05:06,879
app icon for you like the little launch
142
00:05:05,360 --> 00:05:07,840
icon when people click on the home
143
00:05:06,879 --> 00:05:10,639
screen
144
00:05:07,839 --> 00:05:12,239
and likewise with the splash screen so
145
00:05:10,639 --> 00:05:14,240
those are some really nifty tools we
146
00:05:12,240 --> 00:05:16,478
added into maui just kind of from the
147
00:05:14,240 --> 00:05:19,280
fundamental sdk layer to make developing
148
00:05:16,478 --> 00:05:21,758
really easy but this is a visual studio
149
00:05:19,279 --> 00:05:23,758
talk so let's take a look at how we can
150
00:05:21,759 --> 00:05:25,120
get this all working for fun with the
151
00:05:23,759 --> 00:05:27,600
ide
152
00:05:25,120 --> 00:05:28,959
um so i could target all the different
153
00:05:27,600 --> 00:05:31,039
platforms right here with my framework
154
00:05:28,959 --> 00:05:34,638
selector so you see all the ones that i
155
00:05:31,038 --> 00:05:36,959
have uh in my cs project file are listed
156
00:05:34,639 --> 00:05:38,800
here ios android mac windows
157
00:05:36,959 --> 00:05:40,719
and i'm going to deploy this to my
158
00:05:38,800 --> 00:05:42,079
windows machine to start
159
00:05:40,720 --> 00:05:43,680
so
160
00:05:42,079 --> 00:05:45,439
while this is building we'll give it a
161
00:05:43,680 --> 00:05:46,478
second it's just going to think up um
162
00:05:45,439 --> 00:05:49,439
it's going to pop up on my second
163
00:05:46,478 --> 00:05:52,159
monitor but vs2022 has a bunch of cool
164
00:05:49,439 --> 00:05:54,319
features not to mention the themes are
165
00:05:52,160 --> 00:05:56,240
amazing i have been loving playing
166
00:05:54,319 --> 00:05:58,159
around with them but this is like my
167
00:05:56,240 --> 00:06:00,000
favorite shade of purple so i actually
168
00:05:58,160 --> 00:06:02,000
left it but i did spend a lot of time
169
00:06:00,000 --> 00:06:03,038
before this customizing a new theme for
170
00:06:02,000 --> 00:06:05,120
myself
171
00:06:03,038 --> 00:06:07,038
um perfect okay
172
00:06:05,120 --> 00:06:09,360
the app actually popped up for me right
173
00:06:07,038 --> 00:06:11,918
here in xaml live preview which you
174
00:06:09,360 --> 00:06:14,479
might have seen in the keynote um
175
00:06:11,918 --> 00:06:17,279
xamlife preview is a tool in the ide
176
00:06:14,478 --> 00:06:19,360
that basically screen mirrors your
177
00:06:17,279 --> 00:06:21,038
running app so here's my windows app
178
00:06:19,360 --> 00:06:23,600
over here it popped up on my second
179
00:06:21,038 --> 00:06:25,279
monitor my main monitor um and i can
180
00:06:23,600 --> 00:06:27,439
drag it and interact with it but it's
181
00:06:25,279 --> 00:06:29,758
kind of a pain to bring this over
182
00:06:27,439 --> 00:06:31,439
and resize it and then resize vs and
183
00:06:29,759 --> 00:06:33,759
blah blah blah so i can develop all in
184
00:06:31,439 --> 00:06:35,360
one monitor so instead i have my live
185
00:06:33,759 --> 00:06:38,080
preview tool here
186
00:06:35,360 --> 00:06:40,080
um and i can add my rulers and see kind
187
00:06:38,079 --> 00:06:42,399
of the pixels and everything and clear
188
00:06:40,079 --> 00:06:44,478
that and zoom in and out
189
00:06:42,399 --> 00:06:46,560
and it's reflecting the app live so as i
190
00:06:44,478 --> 00:06:49,279
click on it and interact with it
191
00:06:46,560 --> 00:06:50,800
it's updating here in this window too so
192
00:06:49,279 --> 00:06:52,399
this is a very simple app this is the
193
00:06:50,800 --> 00:06:54,478
template like i said when you file new
194
00:06:52,399 --> 00:06:56,159
this is what you'll get um the only
195
00:06:54,478 --> 00:06:57,918
difference is it won't say hello windows
196
00:06:56,160 --> 00:06:59,199
it'll say hello
197
00:06:57,918 --> 00:07:02,719
world
198
00:06:59,199 --> 00:07:05,120
and one of the best things i think about
199
00:07:02,720 --> 00:07:07,199
net maui is the xaml heart reload
200
00:07:05,120 --> 00:07:09,439
feature which is just you change the
201
00:07:07,199 --> 00:07:11,919
xaml and it updates immediately so
202
00:07:09,439 --> 00:07:13,439
changing text is a pretty basic example
203
00:07:11,918 --> 00:07:15,120
you can delete a bunch of stuff add a
204
00:07:13,439 --> 00:07:16,478
bunch of stuff back my favorite one to
205
00:07:15,120 --> 00:07:18,000
demo is always changing like the
206
00:07:16,478 --> 00:07:20,159
background color to something obscene
207
00:07:18,000 --> 00:07:22,879
like hot pink right because that looks
208
00:07:20,160 --> 00:07:24,560
disgusting but you noticed it um i
209
00:07:22,879 --> 00:07:26,879
didn't have to save the file or anything
210
00:07:24,560 --> 00:07:28,319
i just was able to change that xaml and
211
00:07:26,879 --> 00:07:29,439
then i'm like i don't like that that's
212
00:07:28,319 --> 00:07:31,360
disgusting
213
00:07:29,439 --> 00:07:33,439
undo it and it goes right back to it um
214
00:07:31,360 --> 00:07:35,360
and with live preview it's all in the
215
00:07:33,439 --> 00:07:37,120
ide i don't have to like
216
00:07:35,360 --> 00:07:39,598
look at my second monitor and be like oh
217
00:07:37,120 --> 00:07:42,639
did it change nope it's all right there
218
00:07:39,598 --> 00:07:45,519
so zamaha reload's great big fan
219
00:07:42,639 --> 00:07:48,879
but we also have something new in visual
220
00:07:45,519 --> 00:07:51,598
studio 2022 called dot net hot reload
221
00:07:48,879 --> 00:07:53,759
because zamaha reload can only change
222
00:07:51,598 --> 00:07:54,878
xaml what if i wanted to change my c
223
00:07:53,759 --> 00:07:56,960
sharp code
224
00:07:54,879 --> 00:07:58,639
so this button here like i said it's
225
00:07:56,959 --> 00:08:00,478
very simple it's just the code behind of
226
00:07:58,639 --> 00:08:02,560
my xaml page i have a little incrementer
227
00:08:00,478 --> 00:08:04,560
here count plus plus um and then if i
228
00:08:02,560 --> 00:08:06,240
click it it increments it by one but
229
00:08:04,560 --> 00:08:07,120
what if i wanted to increment this by
230
00:08:06,240 --> 00:08:09,199
two
231
00:08:07,120 --> 00:08:10,478
i can change this to count plus equals
232
00:08:09,199 --> 00:08:12,720
two
233
00:08:10,478 --> 00:08:15,038
very expert code here um and then i'll
234
00:08:12,720 --> 00:08:17,440
hit this little hot reload button
235
00:08:15,038 --> 00:08:19,038
and you'll see that my state of my app
236
00:08:17,439 --> 00:08:21,038
actually saves
237
00:08:19,038 --> 00:08:22,240
so my current account is still 13 even
238
00:08:21,038 --> 00:08:23,839
though a bunch of stuff is happening
239
00:08:22,240 --> 00:08:24,960
behind the scenes and now when i click
240
00:08:23,839 --> 00:08:27,119
the button
241
00:08:24,959 --> 00:08:28,959
it goes up by two so it stays odd the
242
00:08:27,120 --> 00:08:30,639
whole time the odd numbers
243
00:08:28,959 --> 00:08:32,559
um and then i can change it back if i
244
00:08:30,639 --> 00:08:35,038
wanted to all those different things but
245
00:08:32,559 --> 00:08:36,799
my state is totally maintained when i do
246
00:08:35,038 --> 00:08:39,199
the net heart reload so the way that it
247
00:08:36,799 --> 00:08:42,079
works is anything within a method for
248
00:08:39,200 --> 00:08:45,200
mobile or uh yeah for mobile android and
249
00:08:42,080 --> 00:08:47,120
ios anything within a method
250
00:08:45,200 --> 00:08:48,480
the method just gets reloaded and so
251
00:08:47,120 --> 00:08:50,320
when i click the button again it
252
00:08:48,480 --> 00:08:52,720
triggers the new method i just sent over
253
00:08:50,320 --> 00:08:54,399
with dot net hot reload
254
00:08:52,720 --> 00:08:57,200
and it's it's really awesome especially
255
00:08:54,399 --> 00:08:58,639
for me when you make like ridiculous api
256
00:08:57,200 --> 00:09:00,320
calls and you have no idea what you're
257
00:08:58,639 --> 00:09:02,720
doing and you need to just tweak them as
258
00:09:00,320 --> 00:09:05,920
you go this has been a game changer for
259
00:09:02,720 --> 00:09:08,720
me and it's new in vs 2022. so
260
00:09:05,919 --> 00:09:10,000
windows is just one of the platforms
261
00:09:08,720 --> 00:09:13,360
i'm going to stop debugging that and
262
00:09:10,000 --> 00:09:14,399
we're going to switch over to android
263
00:09:13,360 --> 00:09:15,680
um
264
00:09:14,399 --> 00:09:17,759
so let me just
265
00:09:15,679 --> 00:09:18,879
check that everything good we're saved
266
00:09:17,759 --> 00:09:20,639
okay
267
00:09:18,879 --> 00:09:22,159
and then you can see my android emulator
268
00:09:20,639 --> 00:09:24,080
popped right up here so i had created
269
00:09:22,159 --> 00:09:26,639
this before it's persistent across my
270
00:09:24,080 --> 00:09:28,399
different visual studio instances um if
271
00:09:26,639 --> 00:09:30,080
i ever wanted to create a new android
272
00:09:28,399 --> 00:09:32,240
emulator i could use this android device
273
00:09:30,080 --> 00:09:34,879
manager right here um and i'm going to
274
00:09:32,240 --> 00:09:36,639
deploy it i think i have to
275
00:09:34,879 --> 00:09:38,080
switch and then switch back frameworks
276
00:09:36,639 --> 00:09:39,600
because i have a little bug right now
277
00:09:38,080 --> 00:09:41,839
that we're fixing
278
00:09:39,600 --> 00:09:43,680
switch and switch back to android and
279
00:09:41,839 --> 00:09:44,640
then deploy
280
00:09:43,679 --> 00:09:46,719
um
281
00:09:44,639 --> 00:09:48,639
and this is the same i mean it's the
282
00:09:46,720 --> 00:09:50,639
same xaml page we just had on windows so
283
00:09:48,639 --> 00:09:52,399
you'll see it says hello world now all
284
00:09:50,639 --> 00:09:55,278
the things we had before it did save all
285
00:09:52,399 --> 00:09:57,440
my files for me so we'll get that um odd
286
00:09:55,278 --> 00:09:59,200
counter increment um
287
00:09:57,440 --> 00:10:01,279
it's thinking down here deployment was
288
00:09:59,200 --> 00:10:02,959
successful fantastic
289
00:10:01,278 --> 00:10:04,720
it's launching
290
00:10:02,958 --> 00:10:07,599
you can see my little launch screen my
291
00:10:04,720 --> 00:10:09,680
purple with the.net logo and same thing
292
00:10:07,600 --> 00:10:11,200
as before the android emulator pops up
293
00:10:09,679 --> 00:10:14,000
on my second window but instead of
294
00:10:11,200 --> 00:10:16,079
resizing my ide i can just have it all
295
00:10:14,000 --> 00:10:16,958
beautifully right here
296
00:10:16,078 --> 00:10:18,639
um
297
00:10:16,958 --> 00:10:23,199
and then i'll zoom this out and we'll
298
00:10:18,639 --> 00:10:24,799
switch this from hello world to hello
299
00:10:23,200 --> 00:10:26,879
android
300
00:10:24,799 --> 00:10:28,399
easy just like that
301
00:10:26,879 --> 00:10:30,559
um and then i'll click this button we're
302
00:10:28,399 --> 00:10:32,799
incrementing by two how wonderful now
303
00:10:30,559 --> 00:10:34,159
it's all even numbers all the time
304
00:10:32,799 --> 00:10:36,719
and then what if i want to change this
305
00:10:34,159 --> 00:10:38,240
to like a decrementer get the count down
306
00:10:36,720 --> 00:10:41,040
hot reload it
307
00:10:38,240 --> 00:10:44,560
same situation same as i had on windows
308
00:10:41,039 --> 00:10:47,120
same code same live preview same
309
00:10:44,559 --> 00:10:48,879
hot reloading clicked it reloaded it and
310
00:10:47,120 --> 00:10:50,240
now it's going to go down by two you can
311
00:10:48,879 --> 00:10:52,399
even get into the negative numbers
312
00:10:50,240 --> 00:10:54,959
pretty exciting so
313
00:10:52,399 --> 00:10:56,559
um yeah same experience cross platform
314
00:10:54,958 --> 00:10:58,799
this is one of the things to me that i
315
00:10:56,559 --> 00:11:01,518
think has made maui really fun is like i
316
00:10:58,799 --> 00:11:03,359
feel at home developing for windows and
317
00:11:01,519 --> 00:11:05,200
for android at the same time
318
00:11:03,360 --> 00:11:07,600
but that's not all the platforms of
319
00:11:05,200 --> 00:11:08,959
course so let's stop this let's take a
320
00:11:07,600 --> 00:11:12,159
look here
321
00:11:08,958 --> 00:11:13,919
at my different platforms so
322
00:11:12,159 --> 00:11:16,000
we have mac catalyst and ios we haven't
323
00:11:13,919 --> 00:11:18,479
talked about yet so mac catalyst because
324
00:11:16,000 --> 00:11:19,440
that runs natively on your macbook or
325
00:11:18,480 --> 00:11:22,560
your mac
326
00:11:19,440 --> 00:11:24,160
um imac or whatever we can't deploy that
327
00:11:22,559 --> 00:11:25,359
here because this is a windows machine
328
00:11:24,159 --> 00:11:26,838
it's not a mac
329
00:11:25,360 --> 00:11:29,919
but i have an
330
00:11:26,839 --> 00:11:32,160
iphone and i would like to get this app
331
00:11:29,919 --> 00:11:34,719
running on my iphone without having to
332
00:11:32,159 --> 00:11:36,559
have my macbook in the loop um so it's
333
00:11:34,720 --> 00:11:39,519
off it's it hasn't been updated in a
334
00:11:36,559 --> 00:11:41,518
while i don't even know where it is um
335
00:11:39,519 --> 00:11:44,240
but i do want to get this ios app here
336
00:11:41,519 --> 00:11:46,480
running on my phone and it has the files
337
00:11:44,240 --> 00:11:47,919
it needs to launch from the file new
338
00:11:46,480 --> 00:11:50,560
template
339
00:11:47,919 --> 00:11:54,000
it just doesn't have the ability to
340
00:11:50,559 --> 00:11:56,559
build without a mac necessarily until
341
00:11:54,000 --> 00:11:59,519
we came out with xamarin and now.net
342
00:11:56,559 --> 00:12:02,078
maui hot restart and so i've signed in
343
00:11:59,519 --> 00:12:03,839
with my apple id to visual studio and i
344
00:12:02,078 --> 00:12:06,638
did that a while ago um and it's
345
00:12:03,839 --> 00:12:09,200
persistent across all my vs's
346
00:12:06,639 --> 00:12:11,519
and i have itunes installed so that it
347
00:12:09,200 --> 00:12:14,879
can communicate with my iphone
348
00:12:11,519 --> 00:12:16,480
if i switch my target there to ios
349
00:12:14,879 --> 00:12:18,240
you see i have these local devices
350
00:12:16,480 --> 00:12:20,159
simulators and remote devices that pop
351
00:12:18,240 --> 00:12:22,240
up and in local devices it actually
352
00:12:20,159 --> 00:12:23,919
recognizes my iphone
353
00:12:22,240 --> 00:12:25,200
so i can select that and let me just do
354
00:12:23,919 --> 00:12:27,759
that little framework switch thing one
355
00:12:25,200 --> 00:12:27,759
more time
356
00:12:29,200 --> 00:12:33,040
it just needs to like refresh the cache
357
00:12:31,120 --> 00:12:34,560
basically to remember to build for
358
00:12:33,039 --> 00:12:37,919
iphone instead of android it's very
359
00:12:34,559 --> 00:12:40,559
weird we filed the bug do not worry um
360
00:12:37,919 --> 00:12:42,319
and then i'm gonna go and deploy this on
361
00:12:40,559 --> 00:12:43,039
my iphone
362
00:12:42,320 --> 00:12:44,560
so
363
00:12:43,039 --> 00:12:46,399
it down here you can see it's doing a
364
00:12:44,559 --> 00:12:48,319
bunch of stuff but the most important
365
00:12:46,399 --> 00:12:50,879
thing is it actually provisions a
366
00:12:48,320 --> 00:12:52,160
profile for the ios app
367
00:12:50,879 --> 00:12:54,399
which would traditionally have to be
368
00:12:52,159 --> 00:12:56,399
done on your mac but it's doing it all
369
00:12:54,399 --> 00:12:58,159
on windows
370
00:12:56,399 --> 00:13:01,039
and i actually have my iphone screen
371
00:12:58,159 --> 00:13:03,278
mirrored so you can watch it
372
00:13:01,039 --> 00:13:05,599
using something called reflector
373
00:13:03,278 --> 00:13:07,200
this is not working for live preview yet
374
00:13:05,600 --> 00:13:09,360
so you're gonna now witness the pain of
375
00:13:07,200 --> 00:13:10,720
having to like drag this over and resize
376
00:13:09,360 --> 00:13:12,320
it and all that
377
00:13:10,720 --> 00:13:14,160
um which
378
00:13:12,320 --> 00:13:16,240
like feels archaic now that i have live
379
00:13:14,159 --> 00:13:17,919
preview to just pop it up for me
380
00:13:16,240 --> 00:13:19,919
but it's doing all the things it's gonna
381
00:13:17,919 --> 00:13:21,519
ask me to launch it once i have
382
00:13:19,919 --> 00:13:23,519
connected to a macbook once i actually
383
00:13:21,519 --> 00:13:24,320
don't have to launch it anymore myself
384
00:13:23,519 --> 00:13:25,839
but
385
00:13:24,320 --> 00:13:27,278
because i haven't connected this to a
386
00:13:25,839 --> 00:13:29,519
macbook yet
387
00:13:27,278 --> 00:13:31,838
this app i will launch it manually it's
388
00:13:29,519 --> 00:13:33,440
going to take a second to load up
389
00:13:31,839 --> 00:13:34,959
you can see that it's actually the old
390
00:13:33,440 --> 00:13:37,440
launch screen and that's because the way
391
00:13:34,958 --> 00:13:39,518
we use hot re the way hot restart works
392
00:13:37,440 --> 00:13:41,440
is we actually build like a shell app
393
00:13:39,519 --> 00:13:43,039
that we've provisioned that you stick
394
00:13:41,440 --> 00:13:45,360
your code into
395
00:13:43,039 --> 00:13:47,039
so it's the same app in there now and i
396
00:13:45,360 --> 00:13:48,800
can click it and interact with it i know
397
00:13:47,039 --> 00:13:50,399
it says hello android and the the
398
00:13:48,799 --> 00:13:52,479
counter is still going down by two but
399
00:13:50,399 --> 00:13:55,278
it's there it's running on my phone very
400
00:13:52,480 --> 00:13:56,879
exciting um and i'm actually now able to
401
00:13:55,278 --> 00:13:58,879
unplug my phone and test this app
402
00:13:56,879 --> 00:14:01,198
without debugging as well
403
00:13:58,879 --> 00:14:03,679
so i will stop this
404
00:14:01,198 --> 00:14:06,479
that was a whirlwind tour of.net maui
405
00:14:03,679 --> 00:14:08,399
and vs2022 and as i'm sure you've seen
406
00:14:06,480 --> 00:14:11,199
in all the other amazing presentations
407
00:14:08,399 --> 00:14:14,000
there's a lot in vs that shipped this
408
00:14:11,198 --> 00:14:14,958
year not to mention 64-bit hello very
409
00:14:14,000 --> 00:14:17,120
cool
410
00:14:14,958 --> 00:14:20,479
um so check out all the other talks but
411
00:14:17,120 --> 00:14:22,159
let's look at just for a second um the
412
00:14:20,480 --> 00:14:24,480
roadmap for maui
413
00:14:22,159 --> 00:14:27,519
the roadmap it's pretty simple use the
414
00:14:24,480 --> 00:14:29,278
preview version of vs2022 if you want to
415
00:14:27,519 --> 00:14:30,799
use dotnet maui
416
00:14:29,278 --> 00:14:33,120
um
417
00:14:30,799 --> 00:14:34,879
yeah that's the best way to do it like i
418
00:14:33,120 --> 00:14:36,639
said uh at the beginning of the demo if
419
00:14:34,879 --> 00:14:40,559
you want to
420
00:14:36,639 --> 00:14:42,799
use vs2022 17.0 which is what's shipped
421
00:14:40,559 --> 00:14:44,559
now the ga version it has some basic
422
00:14:42,799 --> 00:14:46,399
maui support but if you want it to
423
00:14:44,559 --> 00:14:47,359
install it for you if you want it to
424
00:14:46,399 --> 00:14:48,958
have the templates and all that
425
00:14:47,360 --> 00:14:50,320
wonderful stuff
426
00:14:48,958 --> 00:14:51,518
um
427
00:14:50,320 --> 00:14:54,000
preview is the way to go and then that
428
00:14:51,519 --> 00:14:56,560
will ship at some point in 2022
429
00:14:54,000 --> 00:14:59,198
as as the ga version of visual studio so
430
00:14:56,559 --> 00:15:03,039
maui will be part of your day-to-day
431
00:14:59,198 --> 00:15:06,000
life uh until.net maui itself ships ga
432
00:15:03,039 --> 00:15:07,759
probably around q2 2022 we're waiting to
433
00:15:06,000 --> 00:15:10,399
make sure that um we have all the
434
00:15:07,759 --> 00:15:12,879
tooling we need and that the quality bar
435
00:15:10,399 --> 00:15:15,278
is where we want it before we ship it
436
00:15:12,879 --> 00:15:16,958
ga but it will be part of net six which
437
00:15:15,278 --> 00:15:18,559
is shipping this fall
438
00:15:16,958 --> 00:15:21,518
and so some resources if you want to
439
00:15:18,559 --> 00:15:24,399
learn more about net maui of course the
440
00:15:21,519 --> 00:15:25,839
github the blog it's part of the.net
441
00:15:24,399 --> 00:15:28,720
blog now so you can just go into the
442
00:15:25,839 --> 00:15:30,800
maui category we have docs up there is a
443
00:15:28,720 --> 00:15:34,160
beautiful sample app that davidore now
444
00:15:30,799 --> 00:15:36,000
another pm on our team has built um it's
445
00:15:34,159 --> 00:15:37,679
a weather app so you can check that out
446
00:15:36,000 --> 00:15:40,000
it's kind of a more
447
00:15:37,679 --> 00:15:42,479
realistic example of what like a really
448
00:15:40,000 --> 00:15:45,839
pretty maui app could look like not just
449
00:15:42,480 --> 00:15:48,159
your file new hello world and like i
450
00:15:45,839 --> 00:15:51,279
said earlier there is a preview link aka
451
00:15:48,159 --> 00:15:54,000
ms vs 2022 preview and that is how you
452
00:15:51,278 --> 00:15:55,278
get the branch of visual studio that you
453
00:15:54,000 --> 00:15:57,519
need to
454
00:15:55,278 --> 00:15:58,559
get rolling with maui just like you saw
455
00:15:57,519 --> 00:16:00,959
today
456
00:15:58,559 --> 00:16:03,599
so that is all i have for you um
457
00:16:00,958 --> 00:16:07,439
hopefully you enjoyed this whirlwind
458
00:16:03,600 --> 00:16:11,040
ride of vs 2022 and developing for ios
459
00:16:07,440 --> 00:16:12,959
android windows and mac os with netmaui
460
00:16:11,039 --> 00:16:14,319
and you'll hear plenty more about this
461
00:16:12,958 --> 00:16:16,078
throughout the next few months as we get
462
00:16:14,320 --> 00:16:18,079
closer and closer to shipping so feel
463
00:16:16,078 --> 00:16:20,958
free to reach out anytime whether it's
464
00:16:18,078 --> 00:16:22,559
on twitter um over my email
465
00:16:20,958 --> 00:16:24,000
in all the different ways and i'll
466
00:16:22,559 --> 00:16:29,518
hopefully be able to answer some of your
467
00:16:24,000 --> 00:16:29,519
questions and enjoy visual studio 2022
33556
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.