All language subtitles for 08-Building cross platform apps with .NET MAUI in Visual Studio 2022 (720p_30fps_H264-128kbit_AAC)

af Afrikaans
sq Albanian
am Amharic
ar Arabic
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 Download
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: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.