1
00:00:01,080 --> 00:00:05,679
How'd you like to listen to dot
NetRocks with no ads? Easy? Become

2
00:00:05,679 --> 00:00:09,839
a patron for just five dollars a
month. You get access to a private

3
00:00:10,000 --> 00:00:14,279
RSS feed where all the shows have
no ads. Twenty dollars a month,

4
00:00:14,279 --> 00:00:18,839
we'll get you that and a special
dot NetRocks patron mug. Sign up now

5
00:00:18,879 --> 00:00:23,519
at Patreon dot dot NetRocks dot com. Hey, Carl and Richard here with

6
00:00:23,600 --> 00:00:28,399
your twenty twenty four NDC schedule.
Will be at as many NDC conferences as

7
00:00:28,399 --> 00:00:32,200
possible this year, and you should
consider attending no matter what. The Copenhagen

8
00:00:32,240 --> 00:00:37,079
Developers Festival happens August twenty sixth through
the thirtieth. Early bird discount ends April

9
00:00:37,079 --> 00:00:44,759
twenty sixth. Tickets at Cphdevfest dot
com. Ndcporto is happening October fourteenth through

10
00:00:44,759 --> 00:00:51,240
the eighteenth. The early bird discount
ends June fourteenth. Tickets at Ndcporto dot

11
00:00:51,280 --> 00:01:07,079
com. And we'll see you there, we hope. Hey, guess what

12
00:01:07,200 --> 00:01:10,760
it's dot net rocks Live from Bild. Okay, not live from bill but

13
00:01:10,799 --> 00:01:14,319
we're at build. I'm Carl Franklin, Beth Massy is here with us.

14
00:01:14,319 --> 00:01:18,200
We're gonna be talking to her in
a minute. But first, the weather

15
00:01:18,239 --> 00:01:23,400
report from Seattle, gray, cloudy, situation normal, Well it was northwest,

16
00:01:23,400 --> 00:01:29,200
lots of rain, it's mild,
it's very much. The sun did

17
00:01:29,239 --> 00:01:30,799
come out for a brief moment yesterday, Yeah, for a little while.

18
00:01:30,920 --> 00:01:34,159
Yeah, and then it's like just
kidding, Yeah, listen, we value

19
00:01:34,239 --> 00:01:38,840
when sun does show up, we
go outside because it doesn't happen very much.

20
00:01:38,000 --> 00:01:44,359
Right, anyway, let's jump right
into my better noa framework, all

21
00:01:44,439 --> 00:01:53,159
the crazy music. All right,
what do you got? Well, this

22
00:01:53,239 --> 00:02:00,879
is a nod to how long the
three of us have been in the profession.

23
00:02:00,040 --> 00:02:04,519
Oh my goodness. Some of you
remember Vim? Oh sure, yeah,

24
00:02:04,560 --> 00:02:07,199
the editor? Yeah, the editor. Well, now there's Neo VIM,

25
00:02:07,800 --> 00:02:13,280
NEOVIM dot io. Is it the
one? It's the new Vim,

26
00:02:14,000 --> 00:02:20,120
Yeah, the one hyper extensible VIM
based text editor. Oh no, So

27
00:02:20,199 --> 00:02:27,280
the API is first class discoverable version, documented message pack, structured communication,

28
00:02:27,439 --> 00:02:32,800
enables extensions in any language. Remote
plugins run as coprocesses safely, and they

29
00:02:32,879 --> 00:02:38,560
synchronously and the list goes on and
on. Is this like, you know,

30
00:02:39,319 --> 00:02:46,919
congratulations on making the ultimate console based
text editor. They really went nuts,

31
00:02:46,759 --> 00:02:50,759
right with all the features. Yeah, yeah, you know, editors

32
00:02:50,800 --> 00:02:53,680
became when VS Code came along and
sort of said, ah, here you

33
00:02:53,680 --> 00:02:55,639
go here, I have an editor. Yeah, works everywhere. So I

34
00:02:55,680 --> 00:02:59,599
think it's and it made a difference. Yeah, a good editor does make

35
00:02:59,599 --> 00:03:01,639
a difference. And then you know
it's well received. Well, the bigger

36
00:03:01,680 --> 00:03:06,000
thing here is the book exiting VIM, right, Like that's one real thing?

37
00:03:06,599 --> 00:03:09,879
Is it? Colon w Q Yeah, yeah, something like that.

38
00:03:09,960 --> 00:03:14,879
I don't know. Hey, it
brought about us trying to use vim on

39
00:03:15,039 --> 00:03:16,240
you know. So I think it
was Don Box who was like, you

40
00:03:16,280 --> 00:03:19,719
know, Vim, that's what I
used, and I tried it and I'm

41
00:03:19,719 --> 00:03:24,120
like, reminds me of word perfect. Yeah, from the nineties. Yeah,

42
00:03:24,360 --> 00:03:28,159
don't do that. That's so funny. All right, all right,

43
00:03:28,199 --> 00:03:30,479
I love it. That's what I
got. If you're interested, go for

44
00:03:30,520 --> 00:03:34,080
it. He was talking to us
today. Rich Ah grabbed a common Healf

45
00:03:34,159 --> 00:03:37,240
show eighteen thirty three, the one
we did back in February of twenty three

46
00:03:37,719 --> 00:03:42,879
when we were in Sweden Sweat Hug
and Stockholm, and we grabbed Orton Now

47
00:03:42,879 --> 00:03:47,080
and Maddie, the two troublemakers of
Maui to talk about the state of Maui

48
00:03:47,120 --> 00:03:50,520
because coast things have been moving pretty
quickly. Yeah, and I think that

49
00:03:50,560 --> 00:03:53,280
was the first time we ever talked
about Blazer Highbred. Yeah right, and

50
00:03:53,319 --> 00:03:55,879
I think we're probably going to go
there today too, So it only made

51
00:03:55,919 --> 00:03:59,719
sense. And Rob Gardner had his
comment, admittedly from a year ago.

52
00:03:59,719 --> 00:04:01,639
He said, I can confirm that, yes, you can put a Maui

53
00:04:01,680 --> 00:04:05,759
and Blazer wads a app in the
same solution and share controls in a Razor

54
00:04:05,759 --> 00:04:10,960
class library. Then you can employ
to pretty much everything except maybe Xbox.

55
00:04:12,599 --> 00:04:15,520
It should be a little employed.
I'm okay with that. It's coming to

56
00:04:15,560 --> 00:04:17,959
my default way of building applications.
You never be sure you won't want that

57
00:04:18,000 --> 00:04:23,120
web app to include a phone app
later down the line, so you know,

58
00:04:23,279 --> 00:04:26,240
just not blocking your options. If
I go this way, then whatever

59
00:04:26,279 --> 00:04:29,399
happens later, I can make that
for other devices. Really, this is

60
00:04:29,399 --> 00:04:30,439
great, he said it all.
We don't even have to interview back.

61
00:04:30,399 --> 00:04:34,800
It's like, don't you Samuel use
Blazer and the end of story. Thanks

62
00:04:34,839 --> 00:04:42,160
for playing faces on stunt kirkout.
Yeah we come a piece. You can

63
00:04:42,240 --> 00:04:47,879
laugh, Oh, Rob, thanks
so much for your coved. We're you

64
00:04:47,879 --> 00:04:50,279
know, it's the last day of
build. We're all a little a little

65
00:04:50,319 --> 00:04:54,319
silly at this point. So thanks
again for your comment, and a copy

66
00:04:54,319 --> 00:04:56,199
of music codey is on its way
to you. And if you'd like a

67
00:04:56,240 --> 00:04:58,600
copy of music go by. I
write a comment on the website at donnat

68
00:04:58,639 --> 00:05:00,399
Rocks dot com or on the facebooks. You publish every show there, and

69
00:05:00,399 --> 00:05:02,600
if you comment there and I read
it on the show, we'll send your

70
00:05:02,600 --> 00:05:06,399
comed mused to go by. Yeah, and if you can follow us on

71
00:05:06,800 --> 00:05:12,360
x you can Twitter. It used
to be Twitter x Twitter. That's what

72
00:05:12,360 --> 00:05:15,839
we'll call it, because it used
to be you can follow us on x

73
00:05:15,920 --> 00:05:18,959
Twitter. We've been there for a
long, long, long long time.

74
00:05:19,279 --> 00:05:23,800
But the cool kids are hanging out
on macedon. I'm at Carl Franklin at

75
00:05:23,800 --> 00:05:26,879
tech Hub dot social, and I'm
rich Campbell at macedon dot so, and

76
00:05:26,879 --> 00:05:29,800
of course you can get in touch
with me millions of ways by going to

77
00:05:29,839 --> 00:05:34,839
Carl Franklin dot com. Okay,
let's bring back our good friend Beth Massi.

78
00:05:34,959 --> 00:05:38,480
She's been on the show several times. I don't have the number in

79
00:05:38,519 --> 00:05:40,959
front of me, but Richard probably
will look it up by the time I'm

80
00:05:41,040 --> 00:05:45,720
done interviewing her for reading her bio. Beth is a product manager on the

81
00:05:45,720 --> 00:05:49,680
dot net MAUI team at Microsoft and
is responsible for making native device and hybrid

82
00:05:49,759 --> 00:05:58,040
web development in Visual Studio a delightful
experience. Formerly the marketing director and community

83
00:05:58,079 --> 00:06:00,480
manager for dot Net, as well
as serving on the Board of Directors for

84
00:06:00,519 --> 00:06:04,959
the dot Net Foundation, she has
spent her career helping dot net developers be

85
00:06:05,079 --> 00:06:09,480
successful. Boy, ain't that the
truth? Yeah? Welcome back back,

86
00:06:09,680 --> 00:06:13,399
Thank you guys. Seventh visit to
dot net rocks. But hey, first,

87
00:06:13,639 --> 00:06:19,600
most importantly, how's fox pro doing? You know, I still talk

88
00:06:19,600 --> 00:06:24,600
about fox Pro at work sometimes because
I do a lot of querying with Coupstone,

89
00:06:24,759 --> 00:06:27,680
so that stopped me a lot.
You know, relational database theory.

90
00:06:27,680 --> 00:06:30,319
You never forget it. It's always
It's always there, isn't it. Yeah,

91
00:06:30,800 --> 00:06:33,319
we're all And I was always a
clipper guy when you were. I

92
00:06:33,360 --> 00:06:41,000
started clipper yeah back in the day. dBase Yeah, legit, dBase two

93
00:06:41,120 --> 00:06:45,319
on the Apple too, with the
sixties with the Z eighty zlog board plugged

94
00:06:45,319 --> 00:06:47,600
into it. So now that we've
established for all the same age with them,

95
00:06:47,720 --> 00:06:53,600
very old with vim yeah, Remax
I think was Don Box's favorite text

96
00:06:53,680 --> 00:06:59,480
editor. Man. Oh wow,
okay, so somebody just asked me this

97
00:07:00,079 --> 00:07:03,240
at Mary Joe's thing. Right,
We're sitting talking to some geeks and somebody

98
00:07:03,279 --> 00:07:09,199
said, you know, I see
that you're a proponent of using Blazer in

99
00:07:09,279 --> 00:07:13,519
Maui when you're building Maui apps.
You know, what do you think of

100
00:07:13,680 --> 00:07:18,360
using xamal? And they said,
don't. I have to admit I'm in

101
00:07:18,360 --> 00:07:24,240
that camp too. I've just never
really grocked zamal. Ever. Yeah,

102
00:07:24,319 --> 00:07:30,480
I think more importantly is that Microsoft
has to do everything in zamble and make

103
00:07:30,519 --> 00:07:36,879
it work everywhere that CSS works now
and works well across all platforms because the

104
00:07:36,920 --> 00:07:41,480
market made it that way, you
know, over many years, right,

105
00:07:41,839 --> 00:07:46,920
and so they have to do all
that themselves. It's a powerful language if

106
00:07:46,920 --> 00:07:50,560
you if you grock it right,
you know. But yeah, but just

107
00:07:51,079 --> 00:07:56,439
I had never really had the patience
I think for it. Well. I

108
00:07:56,519 --> 00:08:01,120
did some some classes in it,
of course, and i'm classes, I

109
00:08:01,160 --> 00:08:05,439
mean teaching, And there was a
situation where I think it was a list

110
00:08:05,439 --> 00:08:11,120
of view or whatever. The you
know, zamar informs come Maui version of

111
00:08:11,120 --> 00:08:15,319
that is. And when you have
these nested things and blocks and stuff,

112
00:08:15,319 --> 00:08:18,639
it just fell down on iOS,
worked great on Android, fell down on

113
00:08:18,680 --> 00:08:20,920
iOS. And that's where it dawned
on me. It's like, you know,

114
00:08:22,720 --> 00:08:26,759
this is a big challenge Microsoft has
to make this work everywhere whereas you

115
00:08:26,800 --> 00:08:31,560
know, CSS is done. That's
correct. And you know, I'm a

116
00:08:31,600 --> 00:08:37,759
big proponent of Blazer Hybrid obviously.
Actually, Maui hybrid. I'm gonna talk

117
00:08:37,799 --> 00:08:39,200
to you guys about you know,
some things we're going to do for dot

118
00:08:39,240 --> 00:08:45,240
at nine that's not Blaser only.
Yeah, so Maui hybrid full stop,

119
00:08:45,360 --> 00:08:48,279
like hybrid with other things just Blazer
correct, great, that's interesting. Correct

120
00:08:48,320 --> 00:08:52,960
with other JavaScript frameworks we're going to
bring bring through. Yeah. I just

121
00:08:52,039 --> 00:08:54,320
for a minute there, I thought
you were advocating, you were saying good

122
00:08:54,360 --> 00:08:58,159
things about CSS, and I'm like, who are you, Carl Franklin's pretty

123
00:08:58,200 --> 00:09:01,240
strange. I mean, I don't
do great things with CSS, but there's

124
00:09:01,279 --> 00:09:03,720
a lot of people that do,
and it's easy to find them, you

125
00:09:03,759 --> 00:09:07,080
know. So that's it. And
you know, the simple things that I

126
00:09:07,120 --> 00:09:11,559
wanted to do, I could do
very easily. And there's just so much.

127
00:09:11,600 --> 00:09:15,759
There's so much, you know,
do a search and find exactly what

128
00:09:15,799 --> 00:09:18,639
you need. Yeah, exactly.
Yeah. Actually we're doing a lot of

129
00:09:18,679 --> 00:09:22,759
cool stuff with co Pilot too,
and and and Maui. So yeah,

130
00:09:22,799 --> 00:09:26,879
a lot of tools. I'm on
the tooling side too, So we got

131
00:09:26,600 --> 00:09:31,080
what what does it mean to have
a cool stuff and co pilot for Maui.

132
00:09:31,279 --> 00:09:37,279
So like, imagine asking co pilot
to just design your application and write

133
00:09:37,279 --> 00:09:41,200
the xamal for you, right,
So like actually that in that case,

134
00:09:41,200 --> 00:09:45,960
and I'm like, Okay, I
don't need to write right exactly unless the

135
00:09:46,039 --> 00:09:48,360
exam is fundamentally broken, right,
And so that's what we have to do.

136
00:09:48,399 --> 00:09:52,720
We have to train the co pilot
to understand the Maui flavor of zammal,

137
00:09:52,879 --> 00:09:56,240
right, because it's a different flavor. Yeah. Well, I'm,

138
00:09:56,279 --> 00:10:00,519
like I said, I'm a big
fan anytime that I'm creating Maui app Now

139
00:10:00,559 --> 00:10:03,600
I'm using Blazer because I've been and
I've been doing this now since Blazer came

140
00:10:03,639 --> 00:10:09,840
out, right, and arguably I
wasn't the best assp neat web forms developer

141
00:10:09,919 --> 00:10:13,840
when it came to design. I
just made things work. Yeah, but

142
00:10:13,919 --> 00:10:16,679
I really got into it at Blazer. Yeah, And I mean we're making

143
00:10:16,679 --> 00:10:22,840
it like a lot simpler to just
build apps that allow you to reuse your

144
00:10:22,919 --> 00:10:26,200
code across the web, Blazer,
Web and Mali at the same time.

145
00:10:26,279 --> 00:10:33,320
So next month we'll release Next month
and done at nine Preview five will release

146
00:10:33,320 --> 00:10:37,840
a solution Tamblet that allows you to
just start with project and sets up all

147
00:10:37,840 --> 00:10:39,840
the glue for you so that you
have a Razor class library you could put

148
00:10:39,879 --> 00:10:45,080
all your UI and a shared interfaces
you're using to do the functionality of that

149
00:10:45,200 --> 00:10:48,799
UI. Actually that's my demo here
at build I have a little demo theater,

150
00:10:48,000 --> 00:10:50,320
you know kind of thing, and
it's like a twelve minute demo and

151
00:10:50,440 --> 00:10:54,320
yeah, and I show how to
you know, you can even like multi

152
00:10:54,320 --> 00:10:56,720
target the Razor class library, so
you can turn on and off UI depending

153
00:10:56,759 --> 00:11:01,240
on the platform. The only challenge
you have there is you have different hosting

154
00:11:01,279 --> 00:11:05,000
models. You know that you kind
of have to you have to have different

155
00:11:05,000 --> 00:11:07,600
implementations. And is that what if
this comes down to in general, full

156
00:11:07,639 --> 00:11:11,879
stop, right is whether you want
to be on a mobile device, whether

157
00:11:11,879 --> 00:11:13,919
you want to be on it as
a web page or you want to be

158
00:11:13,960 --> 00:11:16,279
as a desktop app. It's just
a hosting model. You're trying to write

159
00:11:16,320 --> 00:11:20,960
one set of code that all these
models can pick up and make a reasonable

160
00:11:20,960 --> 00:11:24,799
looking client for in that form factor. Well, Maui does a lot of

161
00:11:24,799 --> 00:11:28,879
that abstraction for you, you know, and when you're using blazers that you

162
00:11:28,919 --> 00:11:33,440
are you're really just but you're still
using Maui, like the non visual parts

163
00:11:33,440 --> 00:11:35,759
of Maui, right, So it
does. It does eliminate a lot of

164
00:11:35,759 --> 00:11:39,639
the code that you would have to
write for each of the platforms. That's

165
00:11:39,639 --> 00:11:41,840
the whole point of Maui. However, if you start with Maui and you

166
00:11:41,879 --> 00:11:46,759
take advantage of the platform APIs right, don't expect to be able to publish

167
00:11:46,799 --> 00:11:48,480
that on the web, right,
because exactly have those things there. But

168
00:11:48,519 --> 00:11:52,039
if you build it for the web, right, and then that will move

169
00:11:52,159 --> 00:11:54,600
obviously with JavaScript in or op and
all that stuff, and you can mix

170
00:11:54,639 --> 00:11:58,519
a match. You can do native
and web techn act. That's a really

171
00:11:58,559 --> 00:12:03,519
good important point that you don't have
to choose one thing for the whole application

172
00:12:03,639 --> 00:12:07,200
RT right, correct, Yeah,
you can mix the man well, And

173
00:12:07,320 --> 00:12:11,480
thinking about Rob's comment too about he's
it sounds like he's actually building a web

174
00:12:11,519 --> 00:12:13,559
app or a desktop app, and
he's just hedging his bets that he might

175
00:12:13,679 --> 00:12:16,840
need to build a phone app.
Because my instincts have always been the use

176
00:12:18,720 --> 00:12:20,759
Yeah, you're building you're using Maui
because you need a phone app. Yeah,

177
00:12:20,799 --> 00:12:22,720
and then it's like, oh,
I'd also like a web app and

178
00:12:22,759 --> 00:12:28,360
a desktop app, and I'd argue
that that was the weak part, right,

179
00:12:28,399 --> 00:12:31,320
that it was really good at building
one code base for both iOS and

180
00:12:31,320 --> 00:12:35,399
Android, and then the web app
was okay, and that's not bad voice.

181
00:12:35,960 --> 00:12:39,600
Yeah, I mean sometimes you just
want the store distribution and reach,

182
00:12:39,919 --> 00:12:43,919
you know, so like instead of
you know, having to advertise a u

183
00:12:43,039 --> 00:12:46,440
ur L, sometimes it's easier just
to get into the stores and have people

184
00:12:46,519 --> 00:12:50,879
like install it. He's yeah,
that's what p WA's are for. Man,

185
00:12:50,879 --> 00:12:54,279
here's your icon let your cell phone. Yes, too. That must

186
00:12:54,360 --> 00:12:58,279
be a common question for you.
Should I just do a Blazer PWA or

187
00:12:58,320 --> 00:13:01,120
should I make a mau app.
It's just a depends on what you want.

188
00:13:01,240 --> 00:13:03,679
I mean, Uh, some things
are just really hard or impossible to

189
00:13:03,720 --> 00:13:07,240
do in web only. So you
do need a native you need a native

190
00:13:07,279 --> 00:13:11,080
shell, or you need a native
like controls, or you need a native

191
00:13:11,159 --> 00:13:13,799
thing you needn't access the file system
like and you need to do I don't

192
00:13:13,799 --> 00:13:16,480
know, because you know, the
web is pretty powerful. I have to

193
00:13:16,519 --> 00:13:20,080
admit, you know what I mean. These days you can do almost anything,

194
00:13:20,120 --> 00:13:22,720
but just some things are just hard. And check out that deployment model

195
00:13:22,799 --> 00:13:26,080
right, Like that's like local storage
on a Blazer web assembly. It is

196
00:13:26,120 --> 00:13:28,440
a pain. Yeah, bar in
light and this is the wrestling match I

197
00:13:28,440 --> 00:13:33,759
have these days when I get to
where my you know, senior architects had

198
00:13:33,840 --> 00:13:37,159
and sissedmin had, It's like,
really, you want me to deploy software

199
00:13:37,200 --> 00:13:41,159
again? Like it's hard to justify. Yeah, a desktop client app because

200
00:13:41,200 --> 00:13:46,960
it's you. It puts a lot
of costs. Some apps have to be

201
00:13:46,240 --> 00:13:52,279
like so rich though, and so
like the experiences have to be so on

202
00:13:52,279 --> 00:13:56,000
on or you just need Ali app
then because that you know, when you

203
00:13:56,159 --> 00:13:58,679
when I talk about your rich desktop
apps, it's straight WPF these. Yeah,

204
00:13:58,720 --> 00:14:01,960
but if you want to if you
want to target Mac and Windows and

205
00:14:01,960 --> 00:14:05,559
don't and don't have like two teams
to do that, that's the win r

206
00:14:05,600 --> 00:14:09,840
Yeah exactly you can get Yeah,
because I'm not gonna argue with you on

207
00:14:09,879 --> 00:14:13,159
that. That a number of max
in the workplace these days. It's big.

208
00:14:13,279 --> 00:14:18,000
Yeah, it's not consumer app.
You got to you gotta have that

209
00:14:18,320 --> 00:14:22,039
clients. Yeah, yeah, Okay, I am persuaded. Well, you

210
00:14:22,039 --> 00:14:26,320
know, on the what are the
downsides? Right, let's we talked about

211
00:14:26,320 --> 00:14:28,960
some of them. But you know, why would you Let's just stick with

212
00:14:30,039 --> 00:14:33,080
Zamal and Blazer because I've only made
an aesthetic argument here. I have not

213
00:14:33,240 --> 00:14:35,519
talked about a feature problem. Yeah, why would you Aside from what I

214
00:14:35,840 --> 00:14:39,960
mentioned with zammeal and that you if
you run into problems, why what is

215
00:14:41,000 --> 00:14:45,080
the is there any benefit of using
Zamal over Blazer. Well, so you

216
00:14:45,120 --> 00:14:48,320
know, some argue that native experiences
are the best experiences, and so depending

217
00:14:48,360 --> 00:14:52,320
on your application, you may,
like, especially if it's a consumer application

218
00:14:52,440 --> 00:14:58,679
and you're you're betting on beautiful,
deep, rich experiences that you want the

219
00:14:58,720 --> 00:15:01,480
Android app to look like Android and
feel like Android. You want iOS to

220
00:15:01,559 --> 00:15:05,120
feel look and feel like with a
Blazer, you know, everything looks the

221
00:15:05,120 --> 00:15:09,960
same because you're just using the platform
web view or render the UI more memory.

222
00:15:09,039 --> 00:15:11,639
Well, you guys have to the
edge control a little more memory.

223
00:15:11,720 --> 00:15:15,679
Yeah, and I mean then you
have then you have like then you're doing

224
00:15:15,720 --> 00:15:18,519
CSS tricks, right, Like I
like Ionic, does you know they have

225
00:15:18,600 --> 00:15:22,960
a really nice you know, nice
styling depending on what you know, platform

226
00:15:24,000 --> 00:15:28,200
you're on, and it really does
kind of look like the app. Because

227
00:15:28,200 --> 00:15:31,159
they can't make that argument for corporate
apps. They want them all the same.

228
00:15:31,360 --> 00:15:33,000
Yeah, and some people want that, right, So yeah, Malady

229
00:15:33,039 --> 00:15:37,879
doesn't like draw controls like they are
in the native control. So that's like

230
00:15:37,919 --> 00:15:41,200
the you have two options, right, you know. There that's the strength,

231
00:15:41,679 --> 00:15:43,000
there's a strength. That's a very
good point. And do you think

232
00:15:43,039 --> 00:15:50,279
that people still want to have an
iOS looking app versus an Android looking app?

233
00:15:50,360 --> 00:15:54,200
Or they just want I mean most
line of business, large enterprises those

234
00:15:54,200 --> 00:15:58,320
types of apps. Probably not when
you go it's a retail app. Yeah,

235
00:15:58,360 --> 00:16:03,519
when it's like an summer But there's
a lot less of those out there

236
00:16:03,600 --> 00:16:07,279
than there are business as. I
think it depends what the what the company

237
00:16:07,399 --> 00:16:08,720
doing, right, Like you know, you're in the banking business and you

238
00:16:08,799 --> 00:16:12,200
want to climb it's something for your
customers. At that point, you might

239
00:16:12,279 --> 00:16:17,600
have enough resources that will just go
fully native and just have multiple code bases.

240
00:16:17,639 --> 00:16:19,200
I just don't know if that's worthwhile. You know, one of the

241
00:16:19,200 --> 00:16:25,039
things I've talked to teams where they
have native you know, native developers for

242
00:16:25,080 --> 00:16:26,720
both stacks, right, and one
of the things they really focus on is

243
00:16:26,759 --> 00:16:30,559
releasing simultaneously, right, because their
customers get really angry when an iOS feature

244
00:16:30,559 --> 00:16:33,159
shows up before an Android feature.
I am. And so you know,

245
00:16:33,200 --> 00:16:37,279
the nice thing about the common codebase
is like you know you're going to release

246
00:16:37,320 --> 00:16:41,759
together. Although now now it's down
to even the store delays or a problem.

247
00:16:41,799 --> 00:16:44,120
Yeah, yeah, yeah, you
never know when the store is going

248
00:16:44,159 --> 00:16:47,639
to when it's a week, it's
two weeks, Like you just don't know,

249
00:16:48,120 --> 00:16:51,240
right, you said that, you
know, Ionic does some CSS tricks

250
00:16:51,279 --> 00:16:56,320
to make up the platform look more
platform me. Are there other things that

251
00:16:56,519 --> 00:17:03,480
you would recommend that we can use
in Maui Blazer hybrid apps too? So

252
00:17:03,559 --> 00:17:06,880
right now we're kind of playing with
fluent right now. So the Fluent you

253
00:17:06,920 --> 00:17:10,640
know, I can, but like
a lot of commercial components are really powerful

254
00:17:10,680 --> 00:17:15,480
too, you know, like yeah, I personally I talk to more customers

255
00:17:15,480 --> 00:17:18,799
that are you know, building line
of business enterprise, and they they are

256
00:17:18,839 --> 00:17:25,720
not as concerned with that. But
there's a ton of library like CSS is

257
00:17:25,759 --> 00:17:29,279
so you know everywhere, yeah,
you know, and you can do any

258
00:17:29,400 --> 00:17:30,880
you know, whatever you can do
on the web, you can do in

259
00:17:32,160 --> 00:17:36,640
the web view, right Yeah,
I mean I love fluent UI, but

260
00:17:36,680 --> 00:17:41,200
for a long time it was really
a win UI thing right first and foremost.

261
00:17:41,319 --> 00:17:42,599
Yeah, and then you know you
can kind of do with WPF,

262
00:17:42,680 --> 00:17:45,880
but it's better now. Yeah,
I mean we have we have there's the

263
00:17:45,920 --> 00:17:52,440
fluent UI maintainer. You know,
it's because open source has examples for Blazer

264
00:17:52,480 --> 00:17:56,119
and we're one of our engineers is
working on one for Hybrid and so yeah,

265
00:17:56,519 --> 00:18:02,119
there's controls for React for iOS or
Android for mac os like yeah,

266
00:18:02,200 --> 00:18:06,240
and that's what's kind of cool because
we're talking also to a lot of customers

267
00:18:06,240 --> 00:18:11,319
that have like dot Net customers that
already have major JavaScript framework investments like React

268
00:18:11,400 --> 00:18:17,400
or view or Angular, right,
because you know, before Blazer, that's

269
00:18:17,519 --> 00:18:19,200
kind of what we had to do, like right a sp dot Net was

270
00:18:19,240 --> 00:18:23,160
really just the back end, right, Yeah, And so what we want

271
00:18:23,160 --> 00:18:29,160
to do is we want to be
able for them to use those frameworks also

272
00:18:29,519 --> 00:18:33,839
in Maui. So we're building a
hybrid WebView control. So like the Blazer

273
00:18:33,880 --> 00:18:37,640
WebView control that's in Maui today,
this will just be a hybrid WebView that'll

274
00:18:37,640 --> 00:18:42,440
allow you to communicate between JavaScript and
c sharp, right, So that'll be

275
00:18:42,480 --> 00:18:48,480
an option for folks that you know, sometimes you have like third party components

276
00:18:48,519 --> 00:18:52,599
that you want to pull in and
they don't offer a dot Net library,

277
00:18:52,680 --> 00:18:56,440
but they have a JavaScript thing.
So you can go ahead and pull that

278
00:18:56,480 --> 00:19:02,240
in. I would be remiss if
I didn't bring up Blaze ions Blaze icons

279
00:19:02,279 --> 00:19:04,400
dot com. I already put it
in as a link. Basically, this

280
00:19:04,519 --> 00:19:10,119
is a Blazer component where you can
multiple Blazer components that you can pick whatever

281
00:19:10,359 --> 00:19:15,279
icon set you want. Bootstrap dev
Icon, Fluent, UI, Fluent UI

282
00:19:15,319 --> 00:19:22,759
filled font awesome, regular and solid, Google material round sharp, filled,

283
00:19:22,880 --> 00:19:29,440
outline, solid, whatever, two
tone ion icons, lu seed and material

284
00:19:29,440 --> 00:19:33,279
design icons. So they basically wrap
them all up. You pick which one

285
00:19:33,319 --> 00:19:36,759
you want and then use a Blazer
component to show the icon. That's amazing.

286
00:19:37,160 --> 00:19:41,240
Yeah, yeah, that's it's a
strong community around, like it's not

287
00:19:41,359 --> 00:19:45,920
just it. This is like the
whole JavaScript and you know HGML community right,

288
00:19:45,119 --> 00:19:48,160
like it's big boy. You're really
running out excuses to make on ugly

289
00:19:48,200 --> 00:19:52,319
web page, aren't you, Yeah, because you can just drop things in

290
00:19:52,400 --> 00:19:56,079
and yeah, there's just no reason
they here they are, just drop them

291
00:19:56,079 --> 00:20:00,200
in and go. Yeah, you
know you don't have to think that much

292
00:20:00,480 --> 00:20:04,200
as a developer who doesn't like to
design anything. It's pretty nice. Well

293
00:20:04,799 --> 00:20:08,240
to me, it also is,
and don't impair the designer when they do

294
00:20:08,319 --> 00:20:12,200
show up and want to apply a
design to right. So it's like you

295
00:20:12,279 --> 00:20:15,960
can use tools that they're you know, really happy with, like Figma or

296
00:20:15,000 --> 00:20:19,359
whatever, and like, you know, give you that debt designs. I

297
00:20:19,400 --> 00:20:22,359
was always question of is it both
ways? Like if I've gone certain path

298
00:20:22,519 --> 00:20:26,839
down a path building something, then
the designer appears like have I impaired them

299
00:20:26,880 --> 00:20:33,519
with what I can? Yeah?
I've certainly had that experience, right stuck,

300
00:20:33,559 --> 00:20:37,000
I put bootstrap in. What more
do you want? You got to

301
00:20:37,000 --> 00:20:40,519
go through the whole app and change
your CSS exactly? Yeah, all right,

302
00:20:41,079 --> 00:20:45,319
I mean it's it's an interesting space
to be and to just think through

303
00:20:45,359 --> 00:20:48,359
all of these variations of you know, what do you need? You know

304
00:20:48,720 --> 00:20:52,640
again call back to Rob. I'm
building the desktop app, but I might

305
00:20:52,680 --> 00:20:55,599
need a phone, so I'm going
to stay in this in this library.

306
00:20:55,960 --> 00:20:59,799
Or I'm building phone apps, but
some people want the web. Yeah,

307
00:21:00,039 --> 00:21:03,039
And we're also building a lot of
tools to help you quickly build like some

308
00:21:03,079 --> 00:21:07,400
of these these types of things.
So like MAUI is you know, we

309
00:21:07,519 --> 00:21:11,480
got the Maui extension for vs code
right, it's in pre release. It's

310
00:21:11,240 --> 00:21:18,160
eminently gun to ga. We know
we've got some really I think we've got

311
00:21:18,200 --> 00:21:21,880
some really cool tooling coming in just
Visual Studio proper. I'm more of a

312
00:21:21,960 --> 00:21:26,400
Visual Studio user myself, and uh
and you know, I see a lot

313
00:21:26,400 --> 00:21:30,079
of you know a lot of customers, enterprise customers, a lot you still

314
00:21:30,160 --> 00:21:33,079
use Visual Studio, and so we
are investing a lot in the tooling there

315
00:21:33,079 --> 00:21:36,880
too. Some cool things I think, uh, we like to we'd like

316
00:21:37,000 --> 00:21:41,160
to do uh in in the like
done at nine timeframe, uh in Visual

317
00:21:41,200 --> 00:21:44,480
Studio, just to make kind of
you know, working with hybrid apps a

318
00:21:44,519 --> 00:21:48,240
little bit more delightful, like actually
having a live preview that will you know,

319
00:21:48,839 --> 00:21:52,319
allow you to kind of select into
the WebView itself and get at the

320
00:21:52,400 --> 00:21:56,400
razor components we're looking at that.
If that's possible to do, I think

321
00:21:56,440 --> 00:22:02,079
that would really help kind of speed
up, like just investigating where the razor

322
00:22:02,119 --> 00:22:03,640
components are and the layouts and that
sort of thing, so that you don't

323
00:22:03,759 --> 00:22:08,680
necessarily have to look at the rendered
content. You know, on the once

324
00:22:08,759 --> 00:22:14,599
you go into the the F twelve
developer tools in Edge or Chrome or whatever,

325
00:22:14,920 --> 00:22:17,519
you know, you're kind of already
looking at the rendered page. You

326
00:22:17,559 --> 00:22:19,559
know, you're not looking at the
components that created it, right, So

327
00:22:19,559 --> 00:22:22,759
we're trying to figure out how to
make that experience better too. So it's

328
00:22:22,799 --> 00:22:26,160
all good news. Yeah. You
know. One of the announcements that happened

329
00:22:26,160 --> 00:22:30,759
this week and build was the Snapdragon
machines. Of course they're focusing on that

330
00:22:30,799 --> 00:22:36,119
being copile a PC, but it's
like that's Windows on ARM. Yeah again

331
00:22:36,400 --> 00:22:38,920
it's back and and somebody asked her, we're gonna make a Dona Rocks about

332
00:22:38,920 --> 00:22:42,680
this, and like, there's nothing
to say. It's just gonna work.

333
00:22:44,480 --> 00:22:48,240
I don't think you're gonna need to
recompile, right, use it? Okay,

334
00:22:48,319 --> 00:22:51,400
we're done. Yeah, I mean
that's what we did a lot of

335
00:22:51,400 --> 00:22:53,160
work in visual studio to get a
visual studio on ARM. Like so if

336
00:22:53,200 --> 00:22:56,880
you're running like visuals, I mean
I have a I have a macim one

337
00:22:56,880 --> 00:23:00,319
and I'm running parallels and that's in
it. That's an ARM you know base,

338
00:23:00,880 --> 00:23:03,759
so you know what you're doing through
emulation that way. Yeah, I

339
00:23:03,839 --> 00:23:07,200
know one, So flip them fast? What do you care? Right?

340
00:23:07,279 --> 00:23:08,839
It is really fast and a lot
I mean a lot of I see a

341
00:23:08,839 --> 00:23:14,480
lot of you know, users using
a Mac that way because you can build

342
00:23:14,519 --> 00:23:17,319
for all of the platforms at once, you know, with one machine,

343
00:23:17,359 --> 00:23:19,880
it tends to be you're you're all
versatile. Yeah, you U seemingly parallels,

344
00:23:19,920 --> 00:23:23,200
but then you compare to your own
Mac, and you know, use

345
00:23:23,319 --> 00:23:29,079
the emulators and and you can you
have like your your Android emulators, you

346
00:23:29,079 --> 00:23:33,039
have your simulators for you know,
through x code. There you just pair

347
00:23:33,119 --> 00:23:36,079
that way. So I see,
I see some people doing that. Not

348
00:23:36,359 --> 00:23:40,039
not a ton We're making the Paradomac
experience hopefully better, so that when you

349
00:23:40,079 --> 00:23:42,519
pair to the Mac, you actually
pair to the Mac Catalyst and the desktop

350
00:23:42,559 --> 00:23:48,279
two. I basically use get ub
as my thing, right, I push,

351
00:23:48,440 --> 00:23:51,359
I push it to get up,
I go over to my Mac,

352
00:23:51,400 --> 00:23:52,519
I pull it down, and I
run out there you go. It just

353
00:23:52,559 --> 00:23:56,319
works, Yeah, but also speaks
to the reality of its two machines,

354
00:23:56,400 --> 00:24:00,279
right yeah, I think that's two
platforms to machines. Yeah, are using

355
00:24:00,279 --> 00:24:06,240
the extension for vs code vs code. Okay, so your studio a vs

356
00:24:06,319 --> 00:24:07,720
code when I need to for a
demo or something. Okay, Yeah,

357
00:24:08,000 --> 00:24:11,960
it's getting a lot better. Sure, Yeah, I mean like you like,

358
00:24:11,000 --> 00:24:15,720
don't even like I think Wendy was
showing kind of in the context of

359
00:24:15,759 --> 00:24:19,279
a spire yesterday, but there's a
lot of just like now, I don't

360
00:24:19,319 --> 00:24:22,000
need to know, like all the
commands, I can like actually click a

361
00:24:22,000 --> 00:24:25,440
button to create a new project.
You know. So if you're a Visual

362
00:24:25,480 --> 00:24:29,680
Studio user and you want to like, you know, build a Maui app

363
00:24:29,960 --> 00:24:32,559
on your Mac, like, that's
kind of the path you're going to need

364
00:24:32,599 --> 00:24:34,720
to go. Yeah, the Visual
Studio for the Mac is no more.

365
00:24:34,839 --> 00:24:40,079
Yeah, it's it'll be out of
support in August. Yeah. Yeah,

366
00:24:40,400 --> 00:24:45,720
I have used uh, visual Studio
code to do things like there's easy ways

367
00:24:45,759 --> 00:24:49,440
to deploy a static web app,
you know, uh, and you can

368
00:24:49,720 --> 00:24:55,000
create the project and do everything right
on GitHub and pull it down and press

369
00:24:55,000 --> 00:24:57,400
a button in Visual Studio Code and
it's running. That's that's the idea is

370
00:24:57,400 --> 00:25:00,599
to make sure that the solution and
the projects are all compatible. Yeah.

371
00:25:00,640 --> 00:25:04,200
I love that. Yeah, that's
all good stuff. Now, it's impressive.

372
00:25:04,200 --> 00:25:10,480
And then dev kit in vs code
really took you know, now you

373
00:25:10,559 --> 00:25:15,240
forget that studio's job is also a
project manager, right and then but dev

374
00:25:15,319 --> 00:25:18,519
kit really brought that to code now
that yeah, yeah, the solution explorer

375
00:25:18,559 --> 00:25:25,599
experience there yeah yeah, well,
and I certainly talked to teams where they've

376
00:25:25,599 --> 00:25:30,680
got a set of devs who are
only in code, right mostly web dev

377
00:25:30,119 --> 00:25:33,480
and so they were just weren't able
to see a lot of the project.

378
00:25:33,480 --> 00:25:34,599
At the time, they didn't even
think in the terms of the project.

379
00:25:34,799 --> 00:25:37,079
But then dev kit came along that
it was last year. Now I think,

380
00:25:37,200 --> 00:25:41,480
yeah, I did release last year, and so suddenly they're, oh,

381
00:25:41,519 --> 00:25:42,759
there's a whole bunch of other stuff
going on. It's like, welcome

382
00:25:42,799 --> 00:25:47,759
to the project. You actually have
a view of what's going on in this

383
00:25:48,000 --> 00:25:51,960
right. It just makes the I
don't know, the context switch between Visual

384
00:25:52,000 --> 00:25:55,920
Studio and vs code so much easier
because you're like, oh, here's my

385
00:25:55,960 --> 00:25:59,400
project, here's my solution. It's
a good year, here's my debugger,

386
00:25:59,759 --> 00:26:02,720
here's hot reload. But I mean
they've added all of that, so it's

387
00:26:02,720 --> 00:26:06,400
pretty cool. Yeah. Yeah.
It just makes me wonder how long Studio

388
00:26:06,480 --> 00:26:08,759
has, you know, I think
it has a long future. I mean,

389
00:26:08,799 --> 00:26:15,880
honestly, there are so many more
tools that I think are critical personally,

390
00:26:17,079 --> 00:26:19,880
Like hot reload is awesome, but
like if you don't have like that

391
00:26:21,079 --> 00:26:26,599
live you know, view of your
app, it's kind of just yeah,

392
00:26:26,599 --> 00:26:30,640
it's warm. It's like yeah,
right, and we're and like I said,

393
00:26:30,720 --> 00:26:33,759
like, you know, we're just
trying to make the tooling experience a

394
00:26:33,759 --> 00:26:38,400
little bit more richer, I guess, and in Visual Studio as that's kind

395
00:26:38,440 --> 00:26:44,160
of where that's where traditionally where everything
really is. And you know the value

396
00:26:44,200 --> 00:26:47,880
of Visual Studio is a lot of
in that that kind of tooling when it's

397
00:26:47,880 --> 00:26:51,680
not like you guys don't push out
an update to Visual Studio like every month.

398
00:26:51,759 --> 00:26:55,200
Yeah, we're monthly, monthly release. I mean vis Code is weekly

399
00:26:55,839 --> 00:27:00,680
pre release, Visual Studio proper is
is monthly. Where recording this, it's

400
00:27:00,720 --> 00:27:06,000
seventeen ten, right, seventeen eleven
P one released this week and yeah,

401
00:27:06,720 --> 00:27:10,559
yeah, seventeen ten gad this week. So seventy ten is GA now,

402
00:27:10,559 --> 00:27:14,680
but seventeen eleven is underway, like
it is a continuously updated product. Yeah,

403
00:27:14,720 --> 00:27:17,880
And as a as a product manager, who's you know, trying to

404
00:27:17,880 --> 00:27:21,920
get stuff in the SDK, trying
to get stuff in you know, dev

405
00:27:22,000 --> 00:27:25,960
Kit, vis Co extension or Mali
extension is trying to get stuff like working

406
00:27:26,000 --> 00:27:30,480
across all of these trains. Yeah, it's it's it's time. I've been

407
00:27:30,480 --> 00:27:33,359
on the team for two years and
I still don't know which ones which sometimes.

408
00:27:33,400 --> 00:27:36,680
But yeah, there's multiple wiki pages
to go look at schedules and things

409
00:27:36,680 --> 00:27:38,119
like that, And not to be
a heretic, but it's like, why

410
00:27:38,160 --> 00:27:41,319
would we want a new version of
Visual Studio. Well, we got it's

411
00:27:41,319 --> 00:27:45,160
continuously updated. We kind of know
where things are. We just got the

412
00:27:45,200 --> 00:27:48,960
new copilot interface in like, oh, like a Visual Studio twenty twenty five

413
00:27:48,039 --> 00:27:52,079
or whatever. Yeah, what would
we make a major version? What would

414
00:27:52,079 --> 00:27:56,880
that even do? Yeah, I
mean I don't, like, I don't

415
00:27:56,000 --> 00:27:59,839
know who, Like I know who
probably makes the decision, but I don't

416
00:27:59,880 --> 00:28:07,039
know when it's not me that makes
that decision, like win a major version,

417
00:28:07,519 --> 00:28:10,880
major version, and for what?
Right? Because it's disruptive too,

418
00:28:11,079 --> 00:28:14,359
right, Like, yeah, I
mean, but usually when I'm like,

419
00:28:14,440 --> 00:28:17,720
think about your own software. When
you when you do a major version upgrade,

420
00:28:17,759 --> 00:28:21,039
there is something major breaking changes,
right, that's the usual thing.

421
00:28:21,079 --> 00:28:23,480
And hey, nobody who wants breaking
changes? Yeah, you or you add

422
00:28:23,680 --> 00:28:27,440
some very significant feature to it or
something like that, right, well,

423
00:28:27,480 --> 00:28:30,279
copile it's pretty significant. Yeah.
Hey, we got to break for a

424
00:28:30,319 --> 00:28:37,759
moment for this very important message.
We're back. It's dot net Rock's amateur

425
00:28:37,799 --> 00:28:42,039
Campbell. Let's call Franklin hanging with
our friend Beth Massey. Hey, and

426
00:28:42,079 --> 00:28:45,440
hey, if you down in love
with the ads that we're getting these days

427
00:28:45,440 --> 00:28:48,119
because we've been working hard to try
and get better ads. But you know,

428
00:28:48,119 --> 00:28:51,359
there's limits to the systems that I'm
afraid, and we're still working away

429
00:28:51,400 --> 00:28:53,480
at it. There is another option
that is to become a patron on Patreon

430
00:28:55,000 --> 00:28:57,720
and you will get ad free versions
of the show Patreon dot dot NetRocks dot

431
00:28:57,720 --> 00:29:04,359
com. There you go. Yeah, well you hinted about a hybrid mode

432
00:29:04,720 --> 00:29:08,920
beyond Blazer, yes, Maori for
all the things. Yeah, so we

433
00:29:10,359 --> 00:29:12,519
one of our engineers along Lipton.
If you've never had him on the show,

434
00:29:12,559 --> 00:29:15,640
you should probably get him on the
show. He's amazing. He's been

435
00:29:15,680 --> 00:29:19,279
at Microsoft forever. Yeah, and
I chat with him on a regular basis,

436
00:29:19,319 --> 00:29:22,880
so I sometimes forget we should probably
put him on the show. Put

437
00:29:22,920 --> 00:29:26,200
him on the show. He's awesome, an amazing engineer. He does all

438
00:29:26,279 --> 00:29:30,920
things hybrid. He's the original driver
for MVC back in the day. Yeah,

439
00:29:30,000 --> 00:29:34,440
he's been all around sp dot net
forever. Yeah. So he has

440
00:29:34,480 --> 00:29:40,119
an experiment that I think it's been
a while. I think last last year

441
00:29:40,160 --> 00:29:44,759
at MVP Summit, we kind of
wanted to get more feedback about it.

442
00:29:44,799 --> 00:29:48,200
So it's been it's been an experiment
for over a year. Now it's a

443
00:29:48,200 --> 00:29:52,440
new get package. It's called Hybrid
Malle Hybrid WEBEW and we have customers using

444
00:29:52,440 --> 00:29:56,200
it today and so what we we've
gotten enough feedback where where we really think

445
00:29:56,240 --> 00:30:00,880
that it's time to bring it in
to the Maui repository and get it as

446
00:30:00,920 --> 00:30:04,839
a control in Mali itself. Yeah, this also speaks to a very cool

447
00:30:04,920 --> 00:30:08,000
thing. It's in Alion's repository right
now. Yeah, right, so this

448
00:30:08,079 --> 00:30:11,359
is alions experiment. I think other
people who contributed to it. Yeah,

449
00:30:11,400 --> 00:30:14,839
yeah, we Yeah, a lot
of people have contributed to created a pull

450
00:30:14,880 --> 00:30:18,720
request, even some Microsoft employees in
other divisions. And then and then it

451
00:30:18,759 --> 00:30:22,079
becomes a conversation of should we put
this in the product, like right,

452
00:30:22,519 --> 00:30:25,319
yeah, that's exactly right, And
then you know, yeah, and then

453
00:30:25,440 --> 00:30:27,599
you know and I you know,
we have actual customers, you know,

454
00:30:27,759 --> 00:30:32,240
using it, and that's when we're
like, okay, now we know like

455
00:30:32,480 --> 00:30:37,200
their use cases. We can kind
of outline what a minimum viable product would

456
00:30:37,279 --> 00:30:41,119
look like right there. Now,
if you go into the Mali repository,

457
00:30:41,240 --> 00:30:44,880
you will see Hybrid WebView. You'll
see Alan like you know, issue like

458
00:30:44,920 --> 00:30:48,880
issues he's created so he has work
items and he defines kind of what we're

459
00:30:48,920 --> 00:30:51,640
going to when we're going to get
in there for Dottin at nine. So

460
00:30:51,720 --> 00:30:56,240
with a hybrid WebView, is it
opinion opinionated about which framework you use?

461
00:30:56,519 --> 00:31:00,240
Is it just completely open end,
completely open ended? So a developer does

462
00:31:00,400 --> 00:31:03,440
the same thing, then, yeah, so you you actually have to build

463
00:31:03,480 --> 00:31:08,200
your app. You build your JavaScript
frame whatever whichever however you do that right,

464
00:31:08,599 --> 00:31:15,000
whether it's React or view or Angular
or just plain old javascripts, whatever

465
00:31:15,079 --> 00:31:21,200
you want, right, and you
stick that into like the raw resources raw

466
00:31:21,279 --> 00:31:26,160
folder in in Maui so that it
it'll deploy with it, and then you

467
00:31:26,200 --> 00:31:30,680
basically similar very similar to Blaser,
right, except laser Laser has a whole

468
00:31:30,680 --> 00:31:33,720
project system for and everything right where
it does this for you, right,

469
00:31:33,759 --> 00:31:37,920
but has like dub dub root for
you and all that. So when you

470
00:31:37,960 --> 00:31:41,200
in just like the Blazer WebView,
you point, you point the hybrid we

471
00:31:41,319 --> 00:31:44,720
view at where the index is or
where the starts, where your start h

472
00:31:44,759 --> 00:31:48,559
tmail is and then just that's it
takes off from there. So that's like

473
00:31:48,559 --> 00:31:52,359
a brain especially if you already have
an app that's built. Right exactly you're

474
00:31:52,359 --> 00:31:56,079
talking about wrapping existing software if you
want just to give you all those options

475
00:31:56,119 --> 00:32:00,480
exactly, and it's all it's all
like, it's all static, you know,

476
00:32:00,519 --> 00:32:04,119
this is like all client side.
I mean, obviously you can make

477
00:32:04,279 --> 00:32:06,759
calls to the server and that kind
of thing if you need to. But

478
00:32:07,480 --> 00:32:09,160
the whole idea is just to like, you know, if you have existing

479
00:32:09,319 --> 00:32:14,759
uy in another framework, you can
render that through Mali too. Don't have

480
00:32:14,799 --> 00:32:19,519
to rebuild it or anything, just
render it through good feature. Well done.

481
00:32:19,720 --> 00:32:22,720
Yeah, well so we buy nine
time frame? Maybe? Yeah?

482
00:32:22,759 --> 00:32:25,720
So I'll you know, now,
I know you've got to go home and

483
00:32:25,799 --> 00:32:29,759
tell alone that I told the whole
world about this and they better get it

484
00:32:29,799 --> 00:32:35,240
in. You're admitted now we don't. But I mean the reality is,

485
00:32:35,240 --> 00:32:37,279
if you want to use it,
you can't. It's sitting one. I

486
00:32:37,279 --> 00:32:39,240
mean, right, we don't make
it for some reason. There's still a

487
00:32:39,279 --> 00:32:43,440
new get package available that you can
use. Yeah. Yeah, I can't

488
00:32:43,440 --> 00:32:46,640
imagine why you wouldn't. But things
happen, too, right, things happen.

489
00:32:47,039 --> 00:32:51,920
The world is a strange place.
The solution template is in I saw

490
00:32:51,960 --> 00:32:54,079
the pull request. It is in. It is in dot at nine preview

491
00:32:54,200 --> 00:32:58,400
five, which will release next month. Oh wow, okay, so are

492
00:32:58,400 --> 00:33:00,680
there other new things in Mali we
should be thinking about. Yeah, so

493
00:33:00,720 --> 00:33:07,000
what we're really focused this year on
Zamoran migration. Right, So, Zamoran

494
00:33:07,039 --> 00:33:10,720
reached end of life. The SDKs
are and out of support as of May

495
00:33:10,920 --> 00:33:17,880
first, and so we've been laser
focused on helping our existing Zamoran user base

496
00:33:19,240 --> 00:33:22,039
migrate forward. Okay, so actually
I talked to a few, you know,

497
00:33:22,160 --> 00:33:27,359
few folks at the conference today and
asked how everything's going. We have

498
00:33:27,519 --> 00:33:30,920
a you know, an email if
you're struggling right now, it's Mali Dash

499
00:33:31,039 --> 00:33:35,519
Upgrades at Microsoft dot Com. We're
on the other end listening and trying to

500
00:33:35,559 --> 00:33:39,960
help. It's really important that people
migrate because not only is the SDK's out

501
00:33:40,000 --> 00:33:44,039
of support now, we're not servicing
that anymore. The tools are still in

502
00:33:44,119 --> 00:33:46,279
Visual Studio. They're marked as legacy
and you can still install them if you

503
00:33:46,359 --> 00:33:51,559
have to just copilot know how to
do this. We have an upgrade assistant

504
00:33:51,559 --> 00:33:53,839
that will help you get started.
Okay, So the upgrade Assistant does a

505
00:33:53,839 --> 00:33:58,160
lot of things like not just zamor
into Mali migrations, but it does like

506
00:33:58,240 --> 00:34:00,880
you know, Donne framework to Core
and like it does it does a different

507
00:34:00,920 --> 00:34:05,400
workloads, like you know, but
yeah, there is an upgrade assistant that's

508
00:34:05,440 --> 00:34:08,119
a visual studio add in as well
as a command line that will kind of

509
00:34:08,119 --> 00:34:12,360
help you walk through the process.
But this depends on you know, how

510
00:34:12,400 --> 00:34:16,199
many bindings, third party bindings you
were using that may not be available today

511
00:34:16,360 --> 00:34:20,119
and things like that. So it's
not going to be like, oh,

512
00:34:20,360 --> 00:34:22,079
fifteen minutes, you know kind of
thing. You're really going to need a

513
00:34:22,079 --> 00:34:25,559
plan in migration and depending on how
large your app is, and so we've

514
00:34:25,559 --> 00:34:31,239
been really focused on making sure that
the compatibility is there, Like the SDK

515
00:34:31,360 --> 00:34:36,119
quality is very important. You know, maybe you work with the third party

516
00:34:36,159 --> 00:34:40,159
tool developers to make sure that the
you know, yeah some some like some

517
00:34:40,440 --> 00:34:44,559
you know, it's like we don't
want to maintain all these bindings anymore.

518
00:34:44,599 --> 00:34:47,079
As the Maui team, we just
can't do it. Zamor in the company

519
00:34:47,119 --> 00:34:51,840
could, but like we just don't
have that kind of you know, bandwidth

520
00:34:51,840 --> 00:34:54,920
to be honest, and we're looking
at different you know, binding, like

521
00:34:55,000 --> 00:35:00,679
different style of bindings. David Art
now probably like we're talking off about what

522
00:35:00,679 --> 00:35:05,440
they're thinking about that. But then
the other option is this hybrid hybrid WebView.

523
00:35:05,440 --> 00:35:07,599
I've seen some customers decide you know, hey, we don't have a

524
00:35:07,639 --> 00:35:10,559
dot Net bindings for you know,
this library that we were using, and

525
00:35:10,599 --> 00:35:15,239
we're just going to use the JavaScript
version of this. But so that's where

526
00:35:15,239 --> 00:35:22,400
we're really focused on. The stores
will stop accepting Zamoran submissions. I think

527
00:35:22,480 --> 00:35:25,960
Apple probably in a year, and
we might be able to give you a

528
00:35:27,000 --> 00:35:30,840
little more like Google might give you
a little more time than that, but

529
00:35:30,360 --> 00:35:32,920
you know, like you really need
to be focusing on this year. So

530
00:35:32,920 --> 00:35:36,480
that's what we've been trying to really
do. So we've been so as a

531
00:35:36,480 --> 00:35:38,280
as a broader team, you know, and especially on the SDK SI,

532
00:35:38,320 --> 00:35:43,840
we've been focusing a lot on iOS
and Android. Okay, so because of

533
00:35:43,920 --> 00:35:50,280
the Zamoran folks stuff for time exactly
exactly, I'm still very you know,

534
00:35:51,320 --> 00:35:54,519
I'm still looking very heavily at desktop
scenarios by the way though, because from

535
00:35:54,559 --> 00:35:59,079
the Blazer Hybrid side, we see
a lot of desktop. Sure people want

536
00:35:59,519 --> 00:36:01,920
contemporary Yeah, you know, we
work with our partners in Windows and the

537
00:36:01,960 --> 00:36:06,599
whin u I team, and you
know that those that the partnership is still

538
00:36:06,599 --> 00:36:09,800
there and they're still committed to when
u I guy's part of Maui. But

539
00:36:09,920 --> 00:36:14,559
there's announcement this week about when U
I and WPF. Yeah, and they're

540
00:36:14,559 --> 00:36:16,400
also investing in WPF as well,
So yeah, tell me, tell me

541
00:36:16,400 --> 00:36:19,639
more. I knew when you I
was, you know, when U I

542
00:36:19,679 --> 00:36:22,239
three is early there, you know
kind of thing that's that's where all new

543
00:36:22,400 --> 00:36:29,440
modern Windows native Windows apps when U
I three correct. But what's the deal

544
00:36:29,480 --> 00:36:32,559
with WPF. So WPF there's just
a lot of customers like they have WPF

545
00:36:32,679 --> 00:36:37,320
right, and they want a modern
look and feel and they want some of

546
00:36:37,360 --> 00:36:40,559
those modern you know UI concepts that
when U I three has two and so

547
00:36:40,679 --> 00:36:45,639
they and because the Windows I'm not
going to speak on behalf of Windows,

548
00:36:45,639 --> 00:36:49,199
but like I know this part of
the story, they are investing in both

549
00:36:49,199 --> 00:36:52,159
of those stacks. Okay, I'm
in developer division, and I don't like

550
00:36:52,199 --> 00:36:55,079
to talk about Microsoft is all these
divisions, but it is kind of like

551
00:36:55,159 --> 00:36:59,880
helpful sometimes to realize, like,
hey, we rely on teams across micros

552
00:37:00,119 --> 00:37:04,639
and actually it comes to Hybrid.
It's even more because the WebView team is

553
00:37:04,760 --> 00:37:07,559
edge right, so that's you know, another team that we rely on that

554
00:37:07,599 --> 00:37:13,119
so all of these pieces work together. But yeah, from the MAUI teams

555
00:37:13,280 --> 00:37:17,519
perspective, like we're really, we
really are trying to help our Zamoran customers

556
00:37:17,599 --> 00:37:22,239
be successful moving to moving to Maui. It's really important and we've seen like

557
00:37:22,719 --> 00:37:27,800
so much growth in Maui. It's
been really exciting to see since dot Net

558
00:37:27,800 --> 00:37:31,760
eight release, there's you know,
one hundred and sixty percent more apps in

559
00:37:31,840 --> 00:37:37,840
the app store at this point that
are Maui based. And like you know,

560
00:37:37,000 --> 00:37:40,440
depending on you know where you're coming
from, if you're brand new or

561
00:37:40,440 --> 00:37:45,199
you're coming from from Zaman, we're
having we're seeing more success. We're with

562
00:37:45,239 --> 00:37:47,519
our customers now, so I think
we're in a much better place than we

563
00:37:47,519 --> 00:37:51,079
were like a year ago. Well, we have a dot net Rocks Maui

564
00:37:51,159 --> 00:37:53,239
Blazer hybrid app out in the app
stores. Cool, but it needs to

565
00:37:53,280 --> 00:37:57,960
be updated, so that's on me. I haven't updated it since I did

566
00:37:58,039 --> 00:38:00,840
a whole bunch of bug fixes and
things. Okay, well, I mean

567
00:38:00,880 --> 00:38:05,119
in the announcement this week was really
about that when UI and WPF are both

568
00:38:05,119 --> 00:38:07,360
first class citizens and Windows and the
main thing they said, they said the

569
00:38:07,400 --> 00:38:12,960
thing that I always focus on,
which is what is Microsoft using to build

570
00:38:13,000 --> 00:38:19,079
Windows apps? And that's when UI
three primarily correct and so those are the

571
00:38:19,079 --> 00:38:22,199
way things are going to be updated. But they did make a specific point

572
00:38:22,199 --> 00:38:28,840
about WPF getting updates to be able
to make Win eleven looking apps because When

573
00:38:28,880 --> 00:38:31,480
eleven has an aesthetic correct, And
I just feel like, you know,

574
00:38:31,760 --> 00:38:35,519
WPI has had a lot of love
in a while. We also have investments

575
00:38:35,519 --> 00:38:37,400
in wind Forms too, By the
way, that that's a developer division side,

576
00:38:37,480 --> 00:38:42,079
it's an open source and you know
Mary and Klaus, so I don't

577
00:38:42,079 --> 00:38:45,079
know if you have ever talked to
Klaus on this, He's awesome. So

578
00:38:45,119 --> 00:38:47,159
getting back to this Windows thing,
I just want to make sure everybody who's

579
00:38:47,199 --> 00:38:52,239
listening knows that you can build a
MAUI app that targets when UI, but

580
00:38:52,360 --> 00:38:57,719
you can also just build a WPF
app and use Blazer in it. Correct,

581
00:38:58,519 --> 00:39:02,679
Yes you can. You're not you're
not building across platform applications anymore maybe

582
00:39:02,719 --> 00:39:07,280
web web and Windows only, right, But yes, that is absolutely true,

583
00:39:07,280 --> 00:39:09,719
and actually you could do it in
wind Forms as well. Yep.

584
00:39:09,880 --> 00:39:14,960
In fact, I did a demo
here with Don Weba from dev Express using

585
00:39:15,119 --> 00:39:20,480
a Windows Forms app having Windows Forms
UI and then adding Blazer UI. Yeah.

586
00:39:20,519 --> 00:39:22,679
I watched that. It was cool
having them talk together. Yep.

587
00:39:23,159 --> 00:39:27,280
Cool it's all WebView. At the
end of the day, it's the same.

588
00:39:27,320 --> 00:39:30,320
It's on Windows, it's web U
two, So that is the edge

589
00:39:30,360 --> 00:39:32,320
team that runs that, right.
Yeah, I'll include a link to the

590
00:39:32,800 --> 00:39:38,159
when building with win Ui three in
dot net, just because I think most

591
00:39:38,199 --> 00:39:40,360
people just think of it as O
C plus plus library, right. They

592
00:39:40,360 --> 00:39:45,639
don't really know that it's available in
the dot net much less. So you

593
00:39:45,639 --> 00:39:49,960
could tie it in through about Maui
as well. Are there any limitations doing

594
00:39:50,000 --> 00:39:54,840
when Ui with Maui as opposed to
doing win Ui directly and bi directly,

595
00:39:54,880 --> 00:40:00,360
I mean not with Mali. Nice, So the Zamal flavor is different,

596
00:40:00,559 --> 00:40:07,400
you know, so Mali you know
kind of you know, abstracts things across,

597
00:40:07,440 --> 00:40:12,199
standardizes, right, standardizes it across. So I am not like we

598
00:40:12,280 --> 00:40:15,559
started. I am not a xamal
developer, So I'm going to say,

599
00:40:15,599 --> 00:40:19,559
I don't know, maybe fair enough. Yeah, it's fair anything else we

600
00:40:19,599 --> 00:40:22,679
should know. Being here at build, I know, it's just so awesome

601
00:40:22,719 --> 00:40:24,199
to see you guys, good to
hang out. Yeah. Really, it's

602
00:40:24,280 --> 00:40:29,280
like I feel like, so my
career has come full circle. I think,

603
00:40:29,400 --> 00:40:30,760
you know, I have never been
a feature PM, so this was

604
00:40:30,800 --> 00:40:35,599
like my last you know Horizon.
You know, like this was like the

605
00:40:35,639 --> 00:40:38,400
fast fast challenge in my life.
You know, we were all very happy

606
00:40:38,400 --> 00:40:42,480
when you led marketing for Dona.
Yeah, I mean I loved it.

607
00:40:43,000 --> 00:40:45,159
Yeah, I loved it. It
was it was fun. But to be

608
00:40:45,199 --> 00:40:49,239
honest with you, you know,
I am a computer science major. I've

609
00:40:49,280 --> 00:40:52,239
been a programmer. I started Microsoft
like when I was in my thirties.

610
00:40:52,280 --> 00:40:57,079
I was already in the industry doing
software, building software, and uh,

611
00:40:57,119 --> 00:40:59,519
you know, I came to the
team to because I was an MVP.

612
00:40:59,679 --> 00:41:01,360
I came to the team is like
you know, community manager and you know,

613
00:41:01,480 --> 00:41:06,760
like developer advocate basically is what I
was, right. But we literally

614
00:41:06,800 --> 00:41:13,320
went open source ten years ago.
Crazy year I got married. Yeah,

615
00:41:13,360 --> 00:41:16,519
and and that was like I don't
need to do this community management thing anymore

616
00:41:16,519 --> 00:41:20,800
because it was social engineering just changed, you know. We were like zero

617
00:41:20,920 --> 00:41:22,760
distance to the customers now. Yeah, and so when I joined marketing,

618
00:41:22,800 --> 00:41:28,119
it made sense. But I remember
telling myself when I was younger, because

619
00:41:28,119 --> 00:41:30,840
my sister was in marketing, and
I was like, man if I ended

620
00:41:30,920 --> 00:41:34,360
up in marketing, kill me.
And I ended up in marketing. So

621
00:41:34,440 --> 00:41:37,000
I was like, what, I
also think you've had a very rounded career

622
00:41:37,039 --> 00:41:40,239
too, because you've been over there, you've been in IC and now you're

623
00:41:40,320 --> 00:41:45,199
PM. Yeah yeah, Les and
so so product management was this last challenge

624
00:41:45,239 --> 00:41:49,079
for me. Like I remember when
I joined mycro stoft, I don't think

625
00:41:49,119 --> 00:41:52,199
I could do this a team yeah, and uh, you know, I

626
00:41:52,239 --> 00:41:57,119
mean I'm not a manager like of
people. But product management is just a

627
00:41:57,280 --> 00:41:59,559
constant challenge. You know, you
have to be on top of what your

628
00:41:59,559 --> 00:42:01,000
competitor are doing. You have to
be on top of what your customers are

629
00:42:01,039 --> 00:42:05,119
asking for. You have to be
on top of what your engineers are able

630
00:42:05,159 --> 00:42:09,320
to do. You know how you
prioritize, you know, like the scheduling

631
00:42:09,440 --> 00:42:14,760
part is it's just but it's fun
because I'm so close to the engineering now

632
00:42:14,840 --> 00:42:17,079
and I get to write code every
day and you know, it's just I

633
00:42:17,119 --> 00:42:21,480
get to test things and and I
get to like look at the end to

634
00:42:21,559 --> 00:42:24,639
end. What's funny is you know, I mean Microsoft isn't a cloud company.

635
00:42:24,639 --> 00:42:28,320
They're an AI company now, right, we are, right, and

636
00:42:29,039 --> 00:42:34,079
I'm I'm like on the client right. It's and it feels like it feels

637
00:42:34,119 --> 00:42:39,480
like maybe like we have a little
extra like I don't know, startup kind

638
00:42:39,480 --> 00:42:43,320
of attitude to ourselves, you know
what I mean, because you know,

639
00:42:43,480 --> 00:42:49,159
we're we're kind of like the client
is so important to the user experience on

640
00:42:49,239 --> 00:42:51,800
the other end, you know,
and so it is. It is part

641
00:42:51,840 --> 00:42:53,880
of like the whole end to end
of an application. But we're glad that

642
00:42:53,920 --> 00:42:59,599
you were marketing, yeah, rather
than somebody who didn't understand it, right.

643
00:42:59,599 --> 00:43:01,000
And that's the thing I mean,
that's that's kind of I brought.

644
00:43:01,159 --> 00:43:06,159
I brought like the technical aspect of
it. I learned a lot about storytelling

645
00:43:06,280 --> 00:43:09,000
and marketing. And when you're a
product manager, you're just doing storytelling and

646
00:43:09,079 --> 00:43:13,079
at kind of like your level,
like focused on your focused, yeah,

647
00:43:13,159 --> 00:43:15,159
focused. So so I do a
lot of I do. I help I

648
00:43:15,199 --> 00:43:19,280
help the rest of the team do
some of that too. So I I

649
00:43:19,320 --> 00:43:21,719
love being on the dot net team
and love being around dot net. You

650
00:43:21,719 --> 00:43:24,159
guys know that. I like that
forever. So it's like Fox were only

651
00:43:24,159 --> 00:43:29,679
different. Fox Brow taught me how
to how to love a community though.

652
00:43:29,719 --> 00:43:32,639
Yeah you know it was an amazing
community and an amazing product for its time.

653
00:43:32,719 --> 00:43:37,440
Yeah, certainly. Yeah. And
on that note, I guess we'll

654
00:43:37,440 --> 00:43:40,199
call a show. Thank you so
much. Hey again, I love you

655
00:43:40,239 --> 00:43:43,880
guys, all right, you too, and we'll talk to you next time

656
00:43:44,239 --> 00:44:08,559
on dot net rocks. Dot net
Rocks is brought to you by Franklin's Net

657
00:44:08,639 --> 00:44:14,519
and produced by Pop Studios, a
full service audio, video and post production

658
00:44:14,639 --> 00:44:19,280
facility located physically in New London,
Connecticut, and of course in the cloud

659
00:44:19,880 --> 00:44:23,920
online at pwop dot com. Visit
our website at d O T N E

660
00:44:24,000 --> 00:44:29,880
t R O c k S dot
com for RSS feeds, downloads, mobile

661
00:44:29,920 --> 00:44:34,159
apps, comments, and access to
the full archives going back to show number

662
00:44:34,159 --> 00:44:37,440
one, recorded in September two thousand
and two. And make sure you check

663
00:44:37,440 --> 00:44:42,440
out our sponsors. They keep us
in business. Now go write some code,

664
00:44:42,840 --> 00:45:00,239
see you next time. Got Jamdlevans
and this is
