1
01:00:00,875 --> 01:00:02,000
Introducing, I have a

2
01:00:02,000 --> 01:00:03,333
name for you, Fusion.

3
01:00:03,708 --> 01:00:06,125
Fusion is the library that I will be

4
01:00:06,125 --> 01:00:07,416
introducing to you today.

5
01:00:08,000 --> 01:00:08,833
It is a new

6
01:00:08,833 --> 01:00:11,250
JavaScript and Laravel library.

7
01:00:11,625 --> 01:00:13,708
And I know you're thinking, Aaron, we

8
01:00:13,708 --> 01:00:14,958
have a first-party

9
01:00:14,958 --> 01:00:17,000
JavaScript and Laravel library

10
01:00:17,041 --> 01:00:17,916
called Inertia.

11
01:00:18,416 --> 01:00:19,916
No longer third-party, first-party, yes.

12
01:00:20,875 --> 01:00:21,791
This does not Fusion

13
01:00:21,791 --> 01:00:23,333
does not abolish Inertia.

14
01:00:23,541 --> 01:00:24,750
It fulfills Inertia.

15
01:00:24,833 --> 01:00:28,500
So this is my vision for what if we took

16
01:00:28,500 --> 01:00:29,916
Inertia way too far?

17
01:00:30,166 --> 01:00:31,958
What if we just took it like five steps

18
01:00:31,958 --> 01:00:33,458
beyond what is reasonable?

19
01:00:34,125 --> 01:00:34,833
That is Fusion.

20
01:00:35,416 --> 01:00:39,250
So Aaron, what a perfect intro.

21
01:00:41,375 --> 01:00:42,208
I'm just curious.

22
01:00:43,041 --> 01:00:44,791
Where did this come from?

23
01:00:45,208 --> 01:00:46,708
You were just like, hey, you know, kind

24
01:00:46,708 --> 01:00:48,125
of, you know, Inertia's fine.

25
01:00:48,125 --> 01:00:49,083
I don't have enough to do.

26
01:00:49,458 --> 01:00:49,666
I'm good.

27
01:00:49,791 --> 01:00:51,583
But yeah, you know, I've

28
01:00:51,583 --> 01:00:53,541
got 14 products, four kids.

29
01:00:54,875 --> 01:00:55,666
Seven podcasts.

30
01:00:56,000 --> 01:00:58,333
But I really want to make this new thing

31
01:00:58,333 --> 01:01:00,958
and spend my life creating this app.

32
01:01:01,791 --> 01:01:03,166
Yeah, that's a great question.

33
01:01:03,500 --> 01:01:04,666
That is a great question.

34
01:01:06,291 --> 01:01:08,791
Yeah, so it came from so, you know, my

35
01:01:08,791 --> 01:01:12,250
co-founder, Steve, he is a he's a

36
01:01:12,250 --> 01:01:13,500
JavaScript guy, like,

37
01:01:13,500 --> 01:01:14,208
through and through.

38
01:01:14,500 --> 01:01:16,833
He's a Vue guy, so he does fit in well in

39
01:01:16,833 --> 01:01:17,500
the Laravel community

40
01:01:17,500 --> 01:01:18,750
because we love Vue.js.

41
01:01:20,708 --> 01:01:21,875
And he has picked up

42
01:01:21,875 --> 01:01:23,791
Nuxt and really likes Nuxt.

43
01:01:23,791 --> 01:01:25,041
And that's like their, you know, meta

44
01:01:25,041 --> 01:01:26,250
framework, whatever a meta

45
01:01:26,250 --> 01:01:27,875
framework actually is, that's

46
01:01:27,875 --> 01:01:29,333
what their meta framework is.

47
01:01:30,250 --> 01:01:31,708
And so Steve and I are working together

48
01:01:31,708 --> 01:01:32,708
on all these projects.

49
01:01:32,708 --> 01:01:34,125
We're building out the course platform.

50
01:01:34,333 --> 01:01:35,291
We're building out all this stuff.

51
01:01:35,708 --> 01:01:37,958
We're using Inertia because he's like,

52
01:01:37,958 --> 01:01:40,000
hey, I'm super fast with Vue.

53
01:01:40,500 --> 01:01:41,333
Livewire seems cool,

54
01:01:41,333 --> 01:01:42,666
but like I'm a Vue guy.

55
01:01:42,666 --> 01:01:44,750
I've never really written PHP in my life.

56
01:01:44,750 --> 01:01:45,583
And I'm like, that's great.

57
01:01:45,583 --> 01:01:46,250
We have Inertia.

58
01:01:46,625 --> 01:01:48,375
We're so lucky in this community to have

59
01:01:48,375 --> 01:01:49,708
these two super viable

60
01:01:49,708 --> 01:01:52,125
front end-esque options.

61
01:01:52,875 --> 01:01:55,666
So we'll use Inertia and Vue and Laravel.

62
01:01:55,666 --> 01:01:56,333
It'll be totally fine.

63
01:01:57,291 --> 01:01:58,458
So we're working on it.

64
01:01:58,666 --> 01:02:01,291
And Steve is constantly like, hey, how do

65
01:02:01,291 --> 01:02:03,500
I get data into this Vue template?

66
01:02:03,500 --> 01:02:04,666
And I'm like, oh, well, you know, you go,

67
01:02:04,666 --> 01:02:05,416
you define a route

68
01:02:05,416 --> 01:02:06,375
and then you define what

69
01:02:06,375 --> 01:02:07,083
your props are and

70
01:02:07,083 --> 01:02:08,208
then you send them down.

71
01:02:08,208 --> 01:02:09,250
And then on the front end, you got to

72
01:02:09,250 --> 01:02:10,083
define your props and

73
01:02:10,083 --> 01:02:11,000
then you can receive them.

74
01:02:11,000 --> 01:02:12,458
And he's like, what?

75
01:02:12,833 --> 01:02:13,958
Why am I doing all this crap?

76
01:02:14,333 --> 01:02:16,333
And then, you know, his next question is

77
01:02:16,333 --> 01:02:19,958
like, okay, how do I mark that a user has

78
01:02:19,958 --> 01:02:21,041
finished a video?

79
01:02:21,333 --> 01:02:22,375
It's like, you know, we're listening to

80
01:02:22,375 --> 01:02:23,333
these video events and

81
01:02:23,333 --> 01:02:24,208
we're going to fire off like

82
01:02:24,250 --> 01:02:26,083
videos done, like market so

83
01:02:26,083 --> 01:02:27,583
that they, the UI changes.

84
01:02:28,166 --> 01:02:29,750
And I'm like, no problem.

85
01:02:29,750 --> 01:02:30,708
You got to create a route.

86
01:02:30,708 --> 01:02:31,500
You got to create a

87
01:02:31,500 --> 01:02:32,458
handler on the back end.

88
01:02:32,458 --> 01:02:33,625
You got to create a controller.

89
01:02:33,625 --> 01:02:34,208
You got to write your own

90
01:02:34,208 --> 01:02:35,791
fetch function or your Exios call.

91
01:02:35,791 --> 01:02:37,125
And he's like, this is not

92
01:02:37,125 --> 01:02:38,125
the way that it should be.

93
01:02:38,750 --> 01:02:40,500
And so it's one of those things where

94
01:02:40,500 --> 01:02:41,041
it's like, you don't

95
01:02:41,041 --> 01:02:43,333
really know, you don't really

96
01:02:43,333 --> 01:02:45,333
know the filth and the squalor that

97
01:02:45,333 --> 01:02:46,166
you're living in until

98
01:02:46,166 --> 01:02:47,083
your friend comes over.

99
01:02:47,083 --> 01:02:48,333
And they're like, dude, you've got to

100
01:02:48,333 --> 01:02:49,500
clean this place up.

101
01:02:49,500 --> 01:02:50,833
And that's kind of, that's kind of how I

102
01:02:50,833 --> 01:02:52,333
felt was Steve kept

103
01:02:52,333 --> 01:02:54,250
saying stuff like, this should

104
01:02:54,250 --> 01:02:55,000
be easier.

105
01:02:55,000 --> 01:02:56,833
And I looked at it with fresh eyes and

106
01:02:56,833 --> 01:02:58,541
was like, this should be easier.

107
01:02:58,541 --> 01:02:59,333
What are we doing here?

108
01:02:59,875 --> 01:03:03,958
And I had observed from the outside, the,

109
01:03:03,958 --> 01:03:05,208
you know, the next JS

110
01:03:05,208 --> 01:03:06,416
community with all of their

111
01:03:06,416 --> 01:03:08,916
like, you know, React server components,

112
01:03:08,916 --> 01:03:09,833
React server actions, all

113
01:03:09,833 --> 01:03:10,666
of this stuff that I don't

114
01:03:10,666 --> 01:03:11,250
fully know.

115
01:03:12,208 --> 01:03:13,791
And I'm like, that is kind of nice that

116
01:03:13,791 --> 01:03:14,500
you can kind of just

117
01:03:14,500 --> 01:03:16,416
kind of compose across the

118
01:03:16,416 --> 01:03:17,416
network boundary.

119
01:03:18,291 --> 01:03:19,041
What would that look

120
01:03:19,041 --> 01:03:21,291
like in Laravel and Vue?

121
01:03:21,291 --> 01:03:23,750
And that's kind of the genesis of it all.

122
01:03:26,000 --> 01:03:26,458
That's awesome.

123
01:03:26,958 --> 01:03:31,291
So me, so I have never used inertia ever.

124
01:03:31,916 --> 01:03:32,000
Wow.

125
01:03:32,458 --> 01:03:35,958
I, the, I used Backbone JS way back in

126
01:03:35,958 --> 01:03:38,458
the day and I hated it with marionette.

127
01:03:38,708 --> 01:03:40,291
And then like, and then we use like one

128
01:03:40,291 --> 01:03:40,875
of the really, really

129
01:03:40,875 --> 01:03:42,041
first like versions of

130
01:03:42,041 --> 01:03:42,458
Vue.

131
01:03:42,708 --> 01:03:43,375
And then that was it.

132
01:03:43,375 --> 01:03:44,125
I switched to

133
01:03:44,125 --> 01:03:46,166
basically not doing anything.

134
01:03:47,500 --> 01:03:48,208
Switched to the live wire.

135
01:03:48,208 --> 01:03:49,666
And then I worked at, you know, with Ian

136
01:03:49,666 --> 01:03:50,916
on a help spot, which

137
01:03:50,916 --> 01:03:52,500
is kind of, I mean, it

138
01:03:52,500 --> 01:03:54,083
was kind of old JavaScript, like jQuery

139
01:03:54,083 --> 01:03:56,583
and the stuff before that.

140
01:03:56,583 --> 01:03:58,416
And then for me, like live wire come

141
01:03:58,416 --> 01:03:59,125
around and I'm like, Oh,

142
01:03:59,333 --> 01:04:00,708
this is like life changing

143
01:04:00,750 --> 01:04:02,666
back to JavaScript land.

144
01:04:03,000 --> 01:04:03,208
Totally.

145
01:04:04,625 --> 01:04:06,250
So I guess my first question to you is

146
01:04:06,250 --> 01:04:07,208
like, if you're coming,

147
01:04:08,500 --> 01:04:09,250
you know, you're a brand

148
01:04:09,250 --> 01:04:10,750
new developer, you've never used inertia.

149
01:04:11,000 --> 01:04:12,625
Is it still pretty easy to get started

150
01:04:12,625 --> 01:04:13,416
with or do you still

151
01:04:13,416 --> 01:04:15,375
need to kind of know, um,

152
01:04:15,375 --> 01:04:17,291
sort of Vue or React or anything else?

153
01:04:17,625 --> 01:04:18,583
Uh, JavaScript land.

154
01:04:19,375 --> 01:04:19,708
Yeah.

155
01:04:19,708 --> 01:04:22,708
So this is kind of my, my vision for this

156
01:04:22,708 --> 01:04:26,583
is like pulling in JavaScript developers.

157
01:04:27,083 --> 01:04:29,458
So there's like a certain subset of

158
01:04:29,458 --> 01:04:30,875
people that will never

159
01:04:30,875 --> 01:04:32,875
use JavaScript on the front

160
01:04:32,875 --> 01:04:33,166
end.

161
01:04:34,041 --> 01:04:35,416
Like I'm not, I'm not going to ever try

162
01:04:35,416 --> 01:04:37,000
to convince them to do that.

163
01:04:38,000 --> 01:04:40,708
And for those people, we have a great,

164
01:04:40,708 --> 01:04:41,666
you know, first and a

165
01:04:41,666 --> 01:04:43,041
half party offering with

166
01:04:43,041 --> 01:04:44,000
live wire, which I think

167
01:04:44,000 --> 01:04:45,208
people should continue to use.

168
01:04:45,500 --> 01:04:48,041
What I am going after and what I think

169
01:04:48,041 --> 01:04:49,875
fusion goes after is the

170
01:04:49,875 --> 01:04:51,291
people that really, really,

171
01:04:51,291 --> 01:04:54,000
really want to use a Vue or React front

172
01:04:54,000 --> 01:04:55,958
end and are finding

173
01:04:55,958 --> 01:04:57,791
themselves ending up on the

174
01:04:57,791 --> 01:05:00,750
back end of those stacks and realizing,

175
01:05:01,125 --> 01:05:02,125
well, shoot, there's a

176
01:05:02,125 --> 01:05:03,083
lot more to do than just

177
01:05:03,125 --> 01:05:04,500
like the front end and

178
01:05:04,500 --> 01:05:05,625
then get over the network.

179
01:05:05,625 --> 01:05:06,375
And once you get over the

180
01:05:06,375 --> 01:05:08,125
network, what happens next?

181
01:05:08,458 --> 01:05:09,583
How do I talk to my database?

182
01:05:09,791 --> 01:05:10,708
How do I send an email?

183
01:05:11,083 --> 01:05:11,916
And it's like, Hey, we

184
01:05:11,916 --> 01:05:13,041
actually have an answer for that.

185
01:05:13,541 --> 01:05:15,541
And so if you're going to use, if you're

186
01:05:15,541 --> 01:05:17,416
going to use fusion, you

187
01:05:17,416 --> 01:05:18,666
absolutely need to know

188
01:05:18,666 --> 01:05:19,500
how to use one of

189
01:05:19,500 --> 01:05:20,375
these front end frameworks.

190
01:05:20,666 --> 01:05:24,875
I do think, um, that this lowers the bar

191
01:05:24,875 --> 01:05:26,125
in terms of like what you

192
01:05:26,125 --> 01:05:27,416
need to know about front

193
01:05:27,416 --> 01:05:29,416
end, um, because it does

194
01:05:29,416 --> 01:05:30,833
rely pretty heavily on inertia.

195
01:05:30,916 --> 01:05:32,208
So you don't have to figure out like

196
01:05:32,208 --> 01:05:33,500
client side routing and

197
01:05:33,500 --> 01:05:35,083
all of this like state stuff.

198
01:05:35,083 --> 01:05:36,916
You're like actually going to new pages.

199
01:05:37,125 --> 01:05:38,000
And so a lot of state

200
01:05:38,000 --> 01:05:39,500
related issues go away.

201
01:05:40,250 --> 01:05:43,625
Um, and the goal, the goal is to make it,

202
01:05:43,625 --> 01:05:47,000
um, approachable to people who are coming

203
01:05:47,000 --> 01:05:50,250
from the JavaScript community and want to

204
01:05:50,250 --> 01:05:51,708
start learning a little

205
01:05:51,708 --> 01:05:52,833
bit more about Laravel

206
01:05:53,000 --> 01:05:54,541
slash a little bit more about like

207
01:05:54,541 --> 01:05:56,041
backend development.

208
01:05:56,750 --> 01:05:57,708
Yeah.

209
01:05:57,791 --> 01:05:58,083
Yeah.

210
01:05:58,541 --> 01:06:00,958
The, so coming from like a front end

211
01:06:00,958 --> 01:06:02,916
developer, what does a

212
01:06:02,916 --> 01:06:03,875
front end developer typically

213
01:06:03,916 --> 01:06:06,666
use, um, on the backend?

214
01:06:06,875 --> 01:06:07,666
Is it just all sort

215
01:06:07,666 --> 01:06:08,708
of node on the backend?

216
01:06:08,708 --> 01:06:10,875
And, and so they've never had any

217
01:06:10,875 --> 01:06:11,916
experience with, I guess,

218
01:06:11,916 --> 01:06:13,166
Laravel or rails or anything.

219
01:06:13,916 --> 01:06:14,291
Yeah.

220
01:06:14,916 --> 01:06:17,375
I think that is, um, I think that is the

221
01:06:17,375 --> 01:06:18,583
meaty middle of the

222
01:06:18,583 --> 01:06:20,333
market is people will pick up

223
01:06:20,583 --> 01:06:21,791
react and then quickly

224
01:06:21,791 --> 01:06:23,916
pick up, you know, next JS.

225
01:06:24,916 --> 01:06:26,958
And you know, I'm not terribly familiar

226
01:06:26,958 --> 01:06:28,625
with next JS, but I do

227
01:06:28,625 --> 01:06:30,000
understand, you know, parts

228
01:06:30,000 --> 01:06:31,958
of it or, or they'll pick up remix, which

229
01:06:31,958 --> 01:06:33,666
is, um, you know, the,

230
01:06:33,666 --> 01:06:34,583
the one that got bought

231
01:06:34,583 --> 01:06:36,333
by Shopify, um, Kent C

232
01:06:36,333 --> 01:06:37,750
Dodds talks about remix a lot.

233
01:06:38,625 --> 01:06:41,625
And those have, um, those have really

234
01:06:41,625 --> 01:06:43,625
focused on starting at the

235
01:06:43,625 --> 01:06:44,541
front end and working their

236
01:06:44,541 --> 01:06:46,875
way back in terms of like the framework

237
01:06:46,875 --> 01:06:48,666
development where Laravel obviously

238
01:06:48,666 --> 01:06:49,708
started on the backend

239
01:06:49,708 --> 01:06:50,583
and now has a fully

240
01:06:50,583 --> 01:06:51,708
fleshed out front end story.

241
01:06:52,416 --> 01:06:53,416
They are taking it the

242
01:06:53,416 --> 01:06:55,083
opposite, uh, direction.

243
01:06:55,625 --> 01:06:58,166
I think remix explicitly claims to be a

244
01:06:58,166 --> 01:07:00,000
center stack framework.

245
01:07:00,375 --> 01:07:01,875
Um, I've heard them say that a lot.

246
01:07:02,125 --> 01:07:04,000
Um, these, you know, these meta

247
01:07:04,000 --> 01:07:05,416
frameworks will also claim

248
01:07:05,416 --> 01:07:07,000
to be full stack quite often.

249
01:07:07,458 --> 01:07:10,041
And I think it is, um, it's led to a

250
01:07:10,041 --> 01:07:11,041
little bit of confusion

251
01:07:11,041 --> 01:07:12,500
when you say Laravel is full

252
01:07:12,500 --> 01:07:15,625
stack and, uh, next JS is full stack.

253
01:07:16,000 --> 01:07:17,208
And so I think we've seen a lot of the

254
01:07:17,208 --> 01:07:18,583
discussion about Laravel go

255
01:07:18,583 --> 01:07:20,583
to batteries included because,

256
01:07:20,916 --> 01:07:23,458
um, Laravel has all of these things like

257
01:07:23,458 --> 01:07:25,458
for goodness sakes, authentication, like

258
01:07:25,875 --> 01:07:28,375
you can log in and next JS is like, you

259
01:07:28,375 --> 01:07:29,291
could use any one of

260
01:07:29,291 --> 01:07:30,666
these five different SAS tools

261
01:07:30,666 --> 01:07:31,875
for your auth layer.

262
01:07:31,875 --> 01:07:32,791
And it's like, no, that's

263
01:07:32,791 --> 01:07:34,208
not really batteries included.

264
01:07:34,208 --> 01:07:35,916
Like yes, you can run code on the

265
01:07:35,916 --> 01:07:37,291
backend, but where

266
01:07:37,291 --> 01:07:38,125
are all the components?

267
01:07:38,375 --> 01:07:39,333
Where's my queue driver?

268
01:07:39,333 --> 01:07:40,041
Where's my email?

269
01:07:40,041 --> 01:07:40,875
Where's my auth?

270
01:07:40,875 --> 01:07:42,375
Where's my everything else?

271
01:07:42,750 --> 01:07:45,125
Um, and so I think what a lot of next JS

272
01:07:45,125 --> 01:07:47,541
developers have found the position they

273
01:07:47,541 --> 01:07:48,000
have found themselves

274
01:07:48,208 --> 01:07:50,250
in is super solid on the

275
01:07:50,250 --> 01:07:51,666
front with react and everything.

276
01:07:52,000 --> 01:07:53,916
You cross over that network barrier, you

277
01:07:53,916 --> 01:07:55,000
get to the backend and

278
01:07:55,000 --> 01:07:56,250
then you're in like, uh,

279
01:07:56,875 --> 01:07:57,708
you're in jazz.

280
01:07:58,000 --> 01:07:58,541
It's just like, let's

281
01:07:58,541 --> 01:07:59,583
just make it up as we go.

282
01:07:59,791 --> 01:08:02,250
Grab this package, grab this ORM package

283
01:08:02,250 --> 01:08:04,375
and try to get them all to work together.

284
01:08:04,625 --> 01:08:07,083
And, and JavaScript developers claim, and

285
01:08:07,083 --> 01:08:07,791
I have no reason to

286
01:08:07,791 --> 01:08:08,833
doubt them that they love

287
01:08:08,833 --> 01:08:10,583
that they just love the freedom and

288
01:08:10,583 --> 01:08:12,125
flexibility of like, I'm

289
01:08:12,125 --> 01:08:13,291
going to build my own stack.

290
01:08:13,291 --> 01:08:15,958
That sounds exhausting to me.

291
01:08:16,416 --> 01:08:18,375
And so I am hoping, and I think it is

292
01:08:18,375 --> 01:08:20,208
true that there are, uh,

293
01:08:20,208 --> 01:08:21,625
there's a subset of JavaScript

294
01:08:21,708 --> 01:08:23,291
developers that will cross over that

295
01:08:23,291 --> 01:08:24,666
network gap and then be

296
01:08:24,666 --> 01:08:26,500
like, there's nothing here.

297
01:08:26,500 --> 01:08:28,208
I just want something here.

298
01:08:28,208 --> 01:08:29,500
And that's where fusion,

299
01:08:29,500 --> 01:08:30,833
uh, can come into play.

300
01:08:30,833 --> 01:08:32,666
Cause once you cross over, you have the

301
01:08:32,666 --> 01:08:34,791
entire power of Laravel on the back.

302
01:08:35,541 --> 01:08:35,791
Yeah.

303
01:08:36,416 --> 01:08:38,083
That's, uh, it's so, it's so much

304
01:08:38,083 --> 01:08:39,500
reminding me about like

305
01:08:39,500 --> 01:08:42,291
VM versus PhpStorm or, you

306
01:08:42,291 --> 01:08:44,333
know, Linux versus my Mac.

307
01:08:44,583 --> 01:08:46,500
It's just like, I don't, I'm gonna say,

308
01:08:46,500 --> 01:08:46,958
wait, I don't want to

309
01:08:46,958 --> 01:08:48,166
mess with none of that.

310
01:08:48,166 --> 01:08:49,916
I just want to, I just want to build an

311
01:08:49,916 --> 01:08:51,416
app and hopefully make

312
01:08:51,416 --> 01:08:52,416
money or publish it or

313
01:08:52,416 --> 01:08:52,791
do something.

314
01:08:53,333 --> 01:08:53,500
Yes.

315
01:08:54,125 --> 01:08:54,333
Yes.

316
01:08:54,708 --> 01:08:54,958
Yeah.

317
01:08:54,958 --> 01:08:56,541
The people that like the people that

318
01:08:56,541 --> 01:08:57,750
fiddle with their neovim

319
01:08:57,750 --> 01:08:59,458
configs for like hours on

320
01:08:59,458 --> 01:08:59,916
stream.

321
01:08:59,916 --> 01:09:01,458
I'm, I look at them and I

322
01:09:01,458 --> 01:09:02,583
think I'm glad you're happy.

323
01:09:03,208 --> 01:09:04,750
I do not want to do that.

324
01:09:05,208 --> 01:09:07,208
I never ever, ever, ever want to do that.

325
01:09:07,208 --> 01:09:07,875
And that's just cause

326
01:09:07,875 --> 01:09:08,750
we have different goals.

327
01:09:08,750 --> 01:09:10,500
Like I want, like you, I want to build

328
01:09:10,500 --> 01:09:11,458
something and publish it

329
01:09:11,458 --> 01:09:12,333
and hopefully make money.

330
01:09:12,500 --> 01:09:13,250
And then, you know, when

331
01:09:13,250 --> 01:09:14,583
your case go play golf, right?

332
01:09:14,583 --> 01:09:15,958
But like, I don't want to fiddle.

333
01:09:16,166 --> 01:09:17,000
I don't want to fiddle.

334
01:09:17,000 --> 01:09:17,541
I want to make.

335
01:09:17,791 --> 01:09:21,000
And so, um, this, and this is my kind of

336
01:09:21,000 --> 01:09:21,750
my perspective on

337
01:09:21,750 --> 01:09:24,000
everything is like this IE

338
01:09:24,125 --> 01:09:26,791
fusion will appeal to some people and it

339
01:09:26,791 --> 01:09:28,541
won't appeal to a lot of people.

340
01:09:28,541 --> 01:09:30,208
And I'm totally okay with that.

341
01:09:30,208 --> 01:09:32,458
I'm just building it for the people that

342
01:09:32,458 --> 01:09:34,666
like kind of operate like I do.

343
01:09:35,041 --> 01:09:35,458
Yeah.

344
01:09:35,458 --> 01:09:38,208
Are you, uh, mentally prepared for any

345
01:09:38,208 --> 01:09:39,083
backlash on hacker

346
01:09:39,083 --> 01:09:40,208
news and everywhere else?

347
01:09:41,500 --> 01:09:42,416
The backlash on Reddit

348
01:09:42,416 --> 01:09:44,416
was swift and severe.

349
01:09:45,250 --> 01:09:46,333
Um, the Vue JS

350
01:09:46,333 --> 01:09:48,458
subreddit did not appreciate it.

351
01:09:49,000 --> 01:09:49,916
Even the Laravel subreddit

352
01:09:49,916 --> 01:09:51,875
was like, this makes no sense.

353
01:09:51,875 --> 01:09:53,666
Why are we going back to 2004?

354
01:09:54,333 --> 01:09:57,500
Um, and I, it was, it was totally fine.

355
01:09:57,750 --> 01:10:00,125
I mean, I think a lot of those comments

356
01:10:00,125 --> 01:10:01,250
betrayed the fact that

357
01:10:01,250 --> 01:10:02,541
they didn't watch the video,

358
01:10:03,000 --> 01:10:03,958
which makes sense.

359
01:10:04,166 --> 01:10:06,333
Um, or they watched it and didn't

360
01:10:06,333 --> 01:10:07,541
understand what was happening.

361
01:10:07,916 --> 01:10:11,000
I think many people thought we are going

362
01:10:11,000 --> 01:10:13,041
back to like a PHP being

363
01:10:13,041 --> 01:10:14,416
the templating language

364
01:10:14,458 --> 01:10:15,500
for your front end.

365
01:10:15,500 --> 01:10:17,791
And we're like mixing in Vue somehow.

366
01:10:18,500 --> 01:10:19,375
Um, which is just,

367
01:10:19,375 --> 01:10:20,500
it's just not the case.

368
01:10:20,500 --> 01:10:21,791
Like you happen to be

369
01:10:21,791 --> 01:10:25,083
writing PHP in a Vue file.

370
01:10:25,708 --> 01:10:28,416
Um, but in the build process, we like, we

371
01:10:28,416 --> 01:10:29,250
extract it and we

372
01:10:29,250 --> 01:10:30,583
basically turn it into a

373
01:10:31,000 --> 01:10:31,125
controller.

374
01:10:32,000 --> 01:10:34,375
It's kind of like syntactic sugar over,

375
01:10:34,666 --> 01:10:37,666
um, controllers and routes and views.

376
01:10:37,666 --> 01:10:39,500
And you can just write it all in one

377
01:10:39,500 --> 01:10:40,708
place and we'll do a

378
01:10:40,708 --> 01:10:41,958
little bit of auto wiring to

379
01:10:41,958 --> 01:10:43,708
get that state into your Vue template.

380
01:10:44,125 --> 01:10:46,875
But it's not fundamentally the same as

381
01:10:46,875 --> 01:10:48,625
like PHP in 2004, but

382
01:10:48,625 --> 01:10:51,000
boy did they hate it.

383
01:10:51,000 --> 01:10:52,125
And you know, it was nice.

384
01:10:52,125 --> 01:10:54,333
I felt like, actually this

385
01:10:54,333 --> 01:10:55,500
doesn't affect me at all.

386
01:10:55,500 --> 01:10:57,083
You know, I'm somewhat a sensitive guy

387
01:10:57,083 --> 01:10:58,000
and I normally am

388
01:10:58,000 --> 01:10:59,458
like, feedback is sometimes

389
01:10:59,541 --> 01:11:00,500
difficult in this.

390
01:11:00,541 --> 01:11:01,083
I looked at it and I

391
01:11:01,083 --> 01:11:02,458
was like, don't care.

392
01:11:02,708 --> 01:11:03,500
Totally fine.

393
01:11:03,916 --> 01:11:05,500
So that was, yeah, it was fine.

394
01:11:05,500 --> 01:11:05,875
I didn't care.

395
01:11:07,625 --> 01:11:08,041
That's great.

396
01:11:08,583 --> 01:11:10,458
Um, and this brings up another question,

397
01:11:10,958 --> 01:11:12,791
uh, when, which I know

398
01:11:12,791 --> 01:11:13,916
this is kind of brand new

399
01:11:13,916 --> 01:11:15,541
and you're probably the only one that's

400
01:11:15,541 --> 01:11:16,750
actually using it right now.

401
01:11:17,291 --> 01:11:20,458
Um, how are you going to like the best

402
01:11:20,458 --> 01:11:21,166
way to structure

403
01:11:21,166 --> 01:11:22,833
functions, you know, inside the

404
01:11:22,833 --> 01:11:23,291
Vue file?

405
01:11:23,500 --> 01:11:25,458
Like, yeah, what happens when it gets

406
01:11:25,458 --> 01:11:27,000
just a bunch of stuff?

407
01:11:27,416 --> 01:11:29,625
Um, do you have any solutions there?

408
01:11:29,750 --> 01:11:31,500
Or have you any thoughts of that or?

409
01:11:32,000 --> 01:11:32,750
Yeah, I have.

410
01:11:32,750 --> 01:11:34,666
And that was one of the criticisms that

411
01:11:34,666 --> 01:11:35,583
came up on Reddit that I

412
01:11:35,583 --> 01:11:37,083
thought was well-founded.

413
01:11:37,083 --> 01:11:37,958
It's like, this is going

414
01:11:37,958 --> 01:11:40,166
to lead to massive files.

415
01:11:40,750 --> 01:11:43,000
Um, and I'm sensitive to that.

416
01:11:43,000 --> 01:11:47,750
And I think, um, my, like my principle on

417
01:11:47,750 --> 01:11:50,291
that is that this, uh,

418
01:11:50,291 --> 01:11:51,791
the block of PHP that

419
01:11:51,791 --> 01:11:54,791
you write in your Vue file is basically a

420
01:11:54,791 --> 01:11:56,291
controller, more or less.

421
01:11:56,416 --> 01:11:58,250
It like defines what comes down and

422
01:11:58,250 --> 01:11:59,791
defines what can be, you

423
01:11:59,791 --> 01:12:00,958
know, received back from

424
01:12:00,958 --> 01:12:01,500
the front end.

425
01:12:02,083 --> 01:12:04,333
And so my opinion on this is that the

426
01:12:04,333 --> 01:12:06,000
controller should be relatively thin.

427
01:12:06,541 --> 01:12:08,416
And so if we have, you know, the concept

428
01:12:08,416 --> 01:12:09,541
of publishing a podcast

429
01:12:09,541 --> 01:12:10,833
and you got to call out

430
01:12:10,833 --> 01:12:12,208
the transistor and you got to do some

431
01:12:12,208 --> 01:12:13,666
FFmpeg and you got to do

432
01:12:13,666 --> 01:12:16,250
some whatever, um, I think

433
01:12:16,250 --> 01:12:17,416
that should be wrapped up

434
01:12:17,416 --> 01:12:19,208
in some sort of, um, action.

435
01:12:19,458 --> 01:12:20,916
So like publish podcast action.

436
01:12:21,750 --> 01:12:24,708
And in your, um, in your PHP that you're

437
01:12:24,708 --> 01:12:26,583
writing in fusion, you're

438
01:12:26,583 --> 01:12:28,041
just basically receiving

439
01:12:28,041 --> 01:12:30,166
input from the front end and then handing

440
01:12:30,166 --> 01:12:31,416
it off to that action,

441
01:12:31,416 --> 01:12:33,333
um, to do all of like

442
01:12:33,333 --> 01:12:35,416
the hard work that, you know, requires

443
01:12:35,416 --> 01:12:37,291
the container and all of the other stuff.

444
01:12:37,625 --> 01:12:41,833
Um, and it basically ends up being a way

445
01:12:41,833 --> 01:12:44,083
to route, um, from the

446
01:12:44,083 --> 01:12:46,000
HTTP layer into the rest

447
01:12:46,000 --> 01:12:46,750
of your application.

448
01:12:47,583 --> 01:12:49,416
And so I think that's probably going to

449
01:12:49,416 --> 01:12:50,708
be the, the blessed

450
01:12:50,708 --> 01:12:52,291
path, which is like, Hey,

451
01:12:52,291 --> 01:12:56,000
y'all don't do everything in this one,

452
01:12:56,000 --> 01:12:57,125
like in the same way that

453
01:12:57,125 --> 01:12:58,291
you wouldn't do everything

454
01:12:58,291 --> 01:12:59,291
in a controller.

455
01:12:59,875 --> 01:13:02,750
Don't do everything in your, um, your

456
01:13:02,750 --> 01:13:04,083
fusion component here.

457
01:13:04,291 --> 01:13:05,500
And I think, I think that

458
01:13:05,500 --> 01:13:07,166
most people will get that.

459
01:13:07,166 --> 01:13:09,458
Of course people will write, you know,

460
01:13:09,458 --> 01:13:11,041
700 lines of PHP in a

461
01:13:11,041 --> 01:13:12,458
fusion component and it's

462
01:13:12,458 --> 01:13:14,625
going to be like, this is not ideal, but

463
01:13:14,625 --> 01:13:16,208
I think, I think it'll

464
01:13:16,208 --> 01:13:17,458
settle out pretty nicely.

465
01:13:18,458 --> 01:13:18,666
True.

466
01:13:19,083 --> 01:13:20,333
And I mean, I was just thinking about

467
01:13:20,333 --> 01:13:21,666
this while you were talking about that.

468
01:13:22,000 --> 01:13:23,833
One of the examples you showed was like

469
01:13:23,833 --> 01:13:27,041
class based, uh, PHP in the file.

470
01:13:27,333 --> 01:13:29,500
So in theory, if you do have a thousand

471
01:13:29,500 --> 01:13:30,750
lines of PHP there, you

472
01:13:30,750 --> 01:13:32,375
could, you know, if PHP

473
01:13:32,375 --> 01:13:33,625
store, whatever has auto complete, you

474
01:13:33,625 --> 01:13:34,500
can jump between your

475
01:13:34,500 --> 01:13:36,000
methods and for sure, it

476
01:13:36,000 --> 01:13:37,000
might not be too bad.

477
01:13:37,000 --> 01:13:37,375
Yeah.

478
01:13:37,625 --> 01:13:37,833
Totally.

479
01:13:38,166 --> 01:13:38,708
Totally agree.

480
01:13:38,916 --> 01:13:39,791
Thin controllers.

481
01:13:39,791 --> 01:13:41,375
Uh, you know, get that

482
01:13:41,375 --> 01:13:42,833
stuff away from all your files.

483
01:13:42,875 --> 01:13:43,500
Yeah.

484
01:13:43,500 --> 01:13:45,250
And all of the fusion stuff is resolved

485
01:13:45,250 --> 01:13:46,250
out of the containers,

486
01:13:46,250 --> 01:13:47,291
like all the method calls

487
01:13:47,416 --> 01:13:49,333
and so like, if you want to inject, you

488
01:13:49,333 --> 01:13:50,708
know, process podcast as

489
01:13:50,708 --> 01:13:51,916
a class, you can totally

490
01:13:51,916 --> 01:13:52,625
do that.

491
01:13:52,625 --> 01:13:54,583
And so I've tried to make it such that

492
01:13:54,583 --> 01:13:56,875
it's basically Laravel.

493
01:13:57,375 --> 01:13:59,583
Um, it's basically a Laravel controller,

494
01:13:59,583 --> 01:14:00,750
but with a little bit

495
01:14:00,750 --> 01:14:02,333
of extra magic on top.

496
01:14:02,333 --> 01:14:03,583
And so hopefully that's

497
01:14:03,583 --> 01:14:05,458
where people will land on it.

498
01:14:06,166 --> 01:14:06,583
Gotcha.

499
01:14:07,083 --> 01:14:08,250
The next question I

500
01:14:08,250 --> 01:14:09,541
have is what about testing?

501
01:14:09,750 --> 01:14:11,500
Like are you going to be able to use pest

502
01:14:11,500 --> 01:14:14,041
and PHP unit or can you

503
01:14:14,041 --> 01:14:15,416
somehow test the compiled

504
01:14:15,416 --> 01:14:15,708
file?

505
01:14:16,458 --> 01:14:18,000
I don't know how that's going to work or

506
01:14:18,000 --> 01:14:19,416
do you have thoughts?

507
01:14:19,625 --> 01:14:19,833
Yeah.

508
01:14:20,500 --> 01:14:20,583
Yeah.

509
01:14:21,416 --> 01:14:22,750
No, I have, I have a lot of thoughts.

510
01:14:23,125 --> 01:14:27,041
So as it, as it is being built, um, so

511
01:14:27,041 --> 01:14:28,583
like one of the great

512
01:14:28,583 --> 01:14:31,666
advantages I have over, um,

513
01:14:32,375 --> 01:14:36,083
over traditional PHP is I am guaranteed

514
01:14:36,083 --> 01:14:37,333
that there's going to be

515
01:14:37,333 --> 01:14:39,083
a build step because if

516
01:14:39,083 --> 01:14:40,333
you're using viewer react,

517
01:14:40,708 --> 01:14:42,041
you have to have a build step.

518
01:14:42,625 --> 01:14:44,791
And so I hook into that build step to do

519
01:14:44,791 --> 01:14:45,916
all of the fusion stuff.

520
01:14:46,500 --> 01:14:48,000
And at the end of the build step, what

521
01:14:48,000 --> 01:14:49,291
you end up with is a

522
01:14:49,291 --> 01:14:51,583
bunch of PHP classes, you

523
01:14:51,583 --> 01:14:53,083
know, existing on your desk.

524
01:14:53,541 --> 01:14:56,625
And so, um, from that perspective,

525
01:14:57,208 --> 01:14:59,166
testing is the exact same

526
01:14:59,166 --> 01:15:00,333
as it would be otherwise

527
01:15:00,791 --> 01:15:02,541
provided you run your build

528
01:15:02,541 --> 01:15:03,958
step before you run your tests.

529
01:15:04,333 --> 01:15:05,833
And so that's a little bit different.

530
01:15:06,083 --> 01:15:07,625
And there are some like niceties that I

531
01:15:07,625 --> 01:15:08,625
can add around that to

532
01:15:08,625 --> 01:15:09,625
ensure that the build step

533
01:15:09,666 --> 01:15:11,791
has been run before you run like a fusion

534
01:15:11,791 --> 01:15:13,041
test or something like that.

535
01:15:13,458 --> 01:15:15,500
But then at the end, you're basically,

536
01:15:15,500 --> 01:15:17,041
you can just hit an

537
01:15:17,041 --> 01:15:18,458
end point and assert that

538
01:15:18,458 --> 01:15:20,208
you get the right response back.

539
01:15:20,208 --> 01:15:22,291
And it becomes basically like testing,

540
01:15:22,625 --> 01:15:25,041
um, uh, an inertia app.

541
01:15:25,041 --> 01:15:26,416
So if you want to test the backend, you

542
01:15:26,416 --> 01:15:27,666
can hit the route and it

543
01:15:27,666 --> 01:15:28,708
will give you the stuff

544
01:15:28,708 --> 01:15:29,750
and you can assert about

545
01:15:29,750 --> 01:15:31,041
Jason and stuff like that.

546
01:15:31,208 --> 01:15:33,250
Um, and I can add some macros and stuff

547
01:15:33,250 --> 01:15:34,041
to make that easier.

548
01:15:34,541 --> 01:15:35,666
And then if you want to test the front

549
01:15:35,666 --> 01:15:36,666
end, it's the same as

550
01:15:36,666 --> 01:15:38,291
testing, uh, any JavaScript

551
01:15:38,708 --> 01:15:40,791
heavy front end, you got to, you got to

552
01:15:40,791 --> 01:15:41,875
pick some tool that

553
01:15:41,875 --> 01:15:43,750
presumably opens it in the

554
01:15:43,750 --> 01:15:46,041
browser and exercises that they are.

555
01:15:47,333 --> 01:15:47,916
Gotcha gotcha.

556
01:15:48,333 --> 01:15:48,708
Yeah.

557
01:15:48,708 --> 01:15:50,291
I just find that interesting cause like,

558
01:15:50,291 --> 01:15:52,125
you know, it, to me,

559
01:15:52,125 --> 01:15:53,000
it sort of comes back to

560
01:15:53,000 --> 01:15:55,291
like even like pastor PHP unit in, in

561
01:15:55,291 --> 01:15:56,375
just a standard straight

562
01:15:56,375 --> 01:15:57,500
level app with no JavaScript.

563
01:15:57,750 --> 01:15:59,833
A lot of times you'll want to, you know,

564
01:15:59,833 --> 01:16:00,958
reseed the database or,

565
01:16:00,958 --> 01:16:02,083
you know, dump the database

566
01:16:02,083 --> 01:16:03,166
before you even start

567
01:16:03,166 --> 01:16:04,791
your, your, your test.

568
01:16:05,041 --> 01:16:06,458
So it's kind of the same vibes, I guess.

569
01:16:06,875 --> 01:16:07,208
Yep.

570
01:16:07,875 --> 01:16:08,083
Totally.

571
01:16:08,291 --> 01:16:09,875
And the stuff that gets written to disc,

572
01:16:10,500 --> 01:16:13,083
um, contains no data contains.

573
01:16:13,333 --> 01:16:15,541
So it's not like we're doing something at

574
01:16:15,541 --> 01:16:17,333
build time that is,

575
01:16:17,333 --> 01:16:19,000
you know, dependent on

576
01:16:19,041 --> 01:16:20,750
local state or, and then

577
01:16:20,750 --> 01:16:21,916
you ship it and it's wrong.

578
01:16:22,125 --> 01:16:24,541
So it's like, we're basically just taking

579
01:16:24,541 --> 01:16:26,125
your PHP code, mucking

580
01:16:26,125 --> 01:16:26,958
around with it a little

581
01:16:26,958 --> 01:16:28,708
bit and turning it into a controller.

582
01:16:28,708 --> 01:16:31,916
And so that really simplifies the rest of

583
01:16:31,916 --> 01:16:33,375
how do I deploy to production?

584
01:16:33,583 --> 01:16:36,208
How do I test, um, the fact that we're

585
01:16:36,208 --> 01:16:37,291
doing this weird thing

586
01:16:37,291 --> 01:16:38,500
and turning it into a normal

587
01:16:38,500 --> 01:16:40,416
thing and then you just test the normal

588
01:16:40,416 --> 01:16:41,791
thing, which is quite nice.

589
01:16:42,458 --> 01:16:42,708
Nice.

590
01:16:42,916 --> 01:16:43,125
Nice.

591
01:16:43,125 --> 01:16:45,416
And I assume it's going to work fine on

592
01:16:45,416 --> 01:16:47,125
level cloud and pretty much any way.

593
01:16:47,625 --> 01:16:47,833
Yep.

594
01:16:48,291 --> 01:16:48,500
Yep.

595
01:16:48,541 --> 01:16:48,750
Totally.

596
01:16:49,166 --> 01:16:49,791
Nice.

597
01:16:50,041 --> 01:16:50,250
Nice.

598
01:16:50,458 --> 01:16:51,416
And all right.

599
01:16:51,625 --> 01:16:54,208
So from your original talk, you said on

600
01:16:54,208 --> 01:16:55,333
the roadmap you had

601
01:16:55,333 --> 01:16:56,791
react is, is that going to

602
01:16:56,791 --> 01:16:57,666
be ready for lunch?

603
01:16:58,291 --> 01:16:59,250
No, not for Friday.

604
01:16:59,500 --> 01:17:00,208
No, definitely not.

605
01:17:00,791 --> 01:17:01,000
Definitely.

606
01:17:01,083 --> 01:17:01,458
Definitely not.

607
01:17:03,041 --> 01:17:06,375
Um, I already have, so there's a Slack

608
01:17:06,375 --> 01:17:07,541
group that I started,

609
01:17:07,541 --> 01:17:10,083
um, that has like basically

610
01:17:10,083 --> 01:17:11,333
open source sponsors.

611
01:17:11,333 --> 01:17:13,000
You can come join the Slack group and,

612
01:17:13,000 --> 01:17:14,833
um, you might remember

613
01:17:14,833 --> 01:17:16,333
Miguel, Pierre for deer.

614
01:17:16,666 --> 01:17:18,458
I forget his last name, purple hair.

615
01:17:18,750 --> 01:17:19,625
One time almost bought the

616
01:17:19,625 --> 01:17:20,750
constitution and that guy.

617
01:17:20,750 --> 01:17:23,458
Um, he, uh, he's very,

618
01:17:23,458 --> 01:17:25,458
he's very good at react.

619
01:17:25,458 --> 01:17:26,750
And there's another guy in there called

620
01:17:26,750 --> 01:17:27,916
Nick who's also very

621
01:17:27,916 --> 01:17:28,625
good at react and they're

622
01:17:28,666 --> 01:17:31,375
already scheming about like, how do we,

623
01:17:31,375 --> 01:17:32,833
how do we do this in react?

624
01:17:33,125 --> 01:17:34,833
And so, you know, I was supposed to

625
01:17:34,833 --> 01:17:35,916
release it on Monday,

626
01:17:35,916 --> 01:17:37,500
got out over my skis as I'm

627
01:17:37,500 --> 01:17:40,708
want to do and didn't, but then I, um,

628
01:17:40,708 --> 01:17:42,833
added everybody in the backstage group.

629
01:17:42,833 --> 01:17:44,291
I added them to the repo cause I was

630
01:17:44,291 --> 01:17:46,000
like, Hey y'all, I messed up.

631
01:17:46,000 --> 01:17:46,875
I can't release it today.

632
01:17:46,875 --> 01:17:47,625
Let me just add you to the

633
01:17:47,625 --> 01:17:49,000
repo and you can poke around.

634
01:17:49,250 --> 01:17:50,666
And so they've already been in there, you

635
01:17:50,666 --> 01:17:51,375
know, poking around

636
01:17:51,375 --> 01:17:52,333
and trying to figure out

637
01:17:52,333 --> 01:17:54,500
like, Ooh, the more react

638
01:17:54,500 --> 01:17:56,208
way to do it would be this way.

639
01:17:56,208 --> 01:17:57,041
What do you think about this?

640
01:17:57,166 --> 01:17:58,541
And I'm like, that seems cool.

641
01:17:58,750 --> 01:17:59,375
Like keep going.

642
01:17:59,666 --> 01:18:02,375
So react will come soon, but it won't be,

643
01:18:02,375 --> 01:18:03,791
um, it won't be like

644
01:18:03,791 --> 01:18:05,666
in the next week or two.

645
01:18:06,333 --> 01:18:06,791
Gotcha.

646
01:18:06,791 --> 01:18:07,041
Gotcha.

647
01:18:07,583 --> 01:18:08,500
Um, all right.

648
01:18:08,500 --> 01:18:13,750
So next security, um, I assume it would

649
01:18:13,750 --> 01:18:15,083
be secure by default or

650
01:18:15,083 --> 01:18:16,666
is it gonna open up to,

651
01:18:17,625 --> 01:18:19,333
uh, if people that don't know what

652
01:18:19,333 --> 01:18:20,208
they're doing, is it

653
01:18:20,208 --> 01:18:21,833
possible to get hacked using

654
01:18:22,000 --> 01:18:22,208
this?

655
01:18:23,000 --> 01:18:25,250
And so, uh, I'll just say no, and then

656
01:18:25,250 --> 01:18:27,041
I'll go into full, more full answers.

657
01:18:27,041 --> 01:18:27,791
But if anybody clips

658
01:18:27,791 --> 01:18:29,583
it, no, not possible.

659
01:18:29,916 --> 01:18:32,791
Um, so I think the two vectors that would

660
01:18:32,791 --> 01:18:34,000
expose something is

661
01:18:34,000 --> 01:18:35,458
returning data over the

662
01:18:35,458 --> 01:18:37,333
wire that you didn't mean to return.

663
01:18:37,666 --> 01:18:40,541
Um, and what is going to happen there is

664
01:18:40,541 --> 01:18:41,250
like, let's say you

665
01:18:41,250 --> 01:18:42,708
return a model, right?

666
01:18:42,708 --> 01:18:43,625
So you return a model.

667
01:18:43,875 --> 01:18:46,000
Um, it's going to run through Laravel's

668
01:18:46,000 --> 01:18:48,625
typical, uh, model to array thing.

669
01:18:49,083 --> 01:18:51,500
And so, um, anything that, you know, I

670
01:18:51,500 --> 01:18:53,083
think Laravel has a pins

671
01:18:53,083 --> 01:18:54,708
hidden and then you can

672
01:18:54,708 --> 01:18:56,458
just completely change the two array.

673
01:18:56,958 --> 01:19:00,750
Um, so if that's the same as any regular

674
01:19:00,750 --> 01:19:02,458
Laravel response or any

675
01:19:02,458 --> 01:19:04,625
inertia passing down of props,

676
01:19:05,000 --> 01:19:06,958
whatever you send over the wire is going

677
01:19:06,958 --> 01:19:07,958
to go over the wire.

678
01:19:08,333 --> 01:19:11,541
Um, so you could use a, you know, you

679
01:19:11,541 --> 01:19:12,666
could use an API resort,

680
01:19:12,666 --> 01:19:14,458
like a resource and wrap

681
01:19:14,458 --> 01:19:15,250
up your models and

682
01:19:15,250 --> 01:19:16,708
resources or something like that.

683
01:19:18,000 --> 01:19:20,458
But there's no like, there's no safety

684
01:19:20,458 --> 01:19:22,166
for what you decide to

685
01:19:22,166 --> 01:19:23,375
return to the front end.

686
01:19:23,875 --> 01:19:25,083
Um, I don't think that's

687
01:19:25,083 --> 01:19:26,833
going to be too much of a problem.

688
01:19:26,833 --> 01:19:29,166
I mean, I guess if you return the user, I

689
01:19:29,166 --> 01:19:30,083
think actually password

690
01:19:30,083 --> 01:19:31,000
is in the hidden field

691
01:19:31,000 --> 01:19:31,708
by default.

692
01:19:31,708 --> 01:19:33,583
Of course it's B scripted, but I think in

693
01:19:33,583 --> 01:19:35,333
Laravel's default model, it's hidden.

694
01:19:35,333 --> 01:19:36,500
So you don't even get the encrypted

695
01:19:36,500 --> 01:19:39,041
password out or the hashed rather.

696
01:19:39,458 --> 01:19:40,791
Um, so that should be fine.

697
01:19:40,833 --> 01:19:43,416
The other vector that it exposes is it

698
01:19:43,416 --> 01:19:45,833
provides, um, it provides

699
01:19:45,833 --> 01:19:47,375
basically ingress points into

700
01:19:47,375 --> 01:19:48,666
your application, right?

701
01:19:48,666 --> 01:19:50,583
So you say like, Hey, I'm going to write

702
01:19:50,583 --> 01:19:52,166
this fusion, uh,

703
01:19:52,166 --> 01:19:54,208
component and here are the methods

704
01:19:54,208 --> 01:19:56,125
that I want to expose to the front end.

705
01:19:56,458 --> 01:19:58,541
Favorite, unfavorite, listen later,

706
01:19:58,541 --> 01:19:59,833
whatever on the podcast sense.

707
01:20:00,333 --> 01:20:01,500
Um, all of those

708
01:20:01,500 --> 01:20:03,791
become addressable by HTTP.

709
01:20:04,291 --> 01:20:07,333
So, um, you can, you know, if you were

710
01:20:07,333 --> 01:20:08,583
clever, you could watch

711
01:20:08,583 --> 01:20:09,583
when you hit the favorite

712
01:20:09,625 --> 01:20:10,291
button.

713
01:20:10,625 --> 01:20:12,291
You could watch the network and see how

714
01:20:12,291 --> 01:20:13,583
we're sending back like,

715
01:20:13,583 --> 01:20:14,583
Hey, target the favorite

716
01:20:14,625 --> 01:20:15,916
method and you could try

717
01:20:15,916 --> 01:20:16,833
to hit a different method.

718
01:20:17,125 --> 01:20:20,750
Now, when that request comes in, fusion

719
01:20:20,750 --> 01:20:21,916
will look and see like

720
01:20:21,916 --> 01:20:23,041
what method are they trying

721
01:20:23,041 --> 01:20:23,541
to hit.

722
01:20:23,791 --> 01:20:26,291
And then we will reconfirm that that

723
01:20:26,291 --> 01:20:28,916
method is supposed to be exposed.

724
01:20:29,458 --> 01:20:29,666
Right?

725
01:20:30,041 --> 01:20:32,416
And so as we're doing the build, we're,

726
01:20:32,416 --> 01:20:33,708
we're, uh, introspecting

727
01:20:33,708 --> 01:20:34,875
your PHP and figuring out

728
01:20:34,875 --> 01:20:36,500
what are all the exposed methods.

729
01:20:37,083 --> 01:20:38,791
And then we write those into the bundle

730
01:20:38,791 --> 01:20:39,916
so that view knows

731
01:20:39,916 --> 01:20:40,958
like, Hey, here's the list

732
01:20:40,958 --> 01:20:42,333
of exposed methods you can use.

733
01:20:43,000 --> 01:20:44,708
Um, of course somebody

734
01:20:44,708 --> 01:20:46,000
could just change that.

735
01:20:46,000 --> 01:20:49,375
And so we on the backend reconfirm, all

736
01:20:49,375 --> 01:20:49,875
right, they're trying to

737
01:20:49,875 --> 01:20:50,875
hit the favorite method.

738
01:20:51,208 --> 01:20:53,208
Let's go look up that class on disk and

739
01:20:53,208 --> 01:20:54,666
see if favorite is a

740
01:20:54,666 --> 01:20:56,041
publicly exposed method.

741
01:20:56,291 --> 01:20:58,083
If it's not, we'll just throw a four of

742
01:20:58,083 --> 01:21:00,250
four because it's like, well, is it here?

743
01:21:00,250 --> 01:21:00,833
Is it not?

744
01:21:00,833 --> 01:21:01,416
Who knows?

745
01:21:01,416 --> 01:21:02,583
But you can't touch it.

746
01:21:03,291 --> 01:21:05,250
I think those are the two vectors, um,

747
01:21:05,583 --> 01:21:06,833
that could be insecure.

748
01:21:07,041 --> 01:21:09,208
And I think they're pretty safe.

749
01:21:09,750 --> 01:21:11,416
Um, but of course if you find out that

750
01:21:11,416 --> 01:21:12,333
that is not true, Aaron

751
01:21:12,333 --> 01:21:13,416
at try hard studios, I

752
01:21:13,416 --> 01:21:14,541
would love to receive your email.

753
01:21:15,875 --> 01:21:16,375
Yeah.

754
01:21:16,625 --> 01:21:16,833
Yeah.

755
01:21:16,833 --> 01:21:18,541
Well, I mean, I always think of like

756
01:21:18,541 --> 01:21:21,333
people, uh, new

757
01:21:21,333 --> 01:21:22,958
developers opening up themselves to

758
01:21:22,958 --> 01:21:24,875
security issues when they think about it.

759
01:21:24,875 --> 01:21:26,500
And you know, you're just like, you just

760
01:21:26,500 --> 01:21:27,708
assume everything's fine.

761
01:21:27,708 --> 01:21:28,458
And you're like, Oh yeah.

762
01:21:28,458 --> 01:21:29,500
Well, I guess I really shouldn't have

763
01:21:29,500 --> 01:21:30,875
like exposed everybody's

764
01:21:30,875 --> 01:21:31,750
email addresses on this

765
01:21:31,750 --> 01:21:32,458
page or something.

766
01:21:32,708 --> 01:21:33,166
Yeah.

767
01:21:33,833 --> 01:21:34,583
Yeah.

768
01:21:34,583 --> 01:21:37,625
And I think that's one that's like, um,

769
01:21:38,708 --> 01:21:39,708
that that's, that's one

770
01:21:39,708 --> 01:21:41,250
area that is slightly different

771
01:21:41,666 --> 01:21:44,250
than what I understand live wire to be is

772
01:21:44,250 --> 01:21:45,666
that we're like, once

773
01:21:45,666 --> 01:21:46,666
we hand over the data

774
01:21:46,666 --> 01:21:49,291
to the front end, you basically never

775
01:21:49,291 --> 01:21:51,083
have to hand us that data back.

776
01:21:51,083 --> 01:21:53,291
And so we're not like, um, we're not

777
01:21:53,291 --> 01:21:55,166
worried about, um, the

778
01:21:55,166 --> 01:21:56,208
data on the front end being

779
01:21:56,291 --> 01:21:58,333
tinkered with and then handed back to the

780
01:21:58,333 --> 01:22:00,541
backend to do something nefarious with.

781
01:22:01,250 --> 01:22:03,250
We are more in, because we don't

782
01:22:03,250 --> 01:22:04,666
re-instantiate state

783
01:22:04,666 --> 01:22:06,291
from like the front end.

784
01:22:06,291 --> 01:22:06,500
Really.

785
01:22:06,875 --> 01:22:08,083
Um, we're more like a

786
01:22:08,083 --> 01:22:10,500
traditional request response.

787
01:22:10,958 --> 01:22:12,791
Um, you know, you're going to post to the

788
01:22:12,791 --> 01:22:14,666
backend and we'll, we'll do some stuff.

789
01:22:14,750 --> 01:22:16,833
Um, so that's, that's kind of, I'm

790
01:22:16,833 --> 01:22:17,958
thinking where the lines

791
01:22:17,958 --> 01:22:19,125
will be drawn, but yeah, I

792
01:22:19,125 --> 01:22:21,541
definitely want to try to avoid, uh, foot

793
01:22:21,541 --> 01:22:23,083
guns as much as possible.

794
01:22:24,000 --> 01:22:24,625
Gotcha.

795
01:22:25,416 --> 01:22:25,875
All right.

796
01:22:25,875 --> 01:22:28,166
Next on my list, something else you

797
01:22:28,166 --> 01:22:29,416
mentioned may be coming

798
01:22:29,416 --> 01:22:31,041
actions per component.

799
01:22:31,416 --> 01:22:32,041
Hmm.

800
01:22:33,458 --> 01:22:33,750
Interesting.

801
01:22:34,541 --> 01:22:34,750
Interesting.

802
01:22:34,833 --> 01:22:38,041
So here's the, um, the setup right now is

803
01:22:38,041 --> 01:22:39,166
that, um, you can

804
01:22:39,166 --> 01:22:40,708
have a PHP block in your,

805
01:22:40,875 --> 01:22:43,875
um, in your page, like in inertia

806
01:22:43,875 --> 01:22:45,500
parlance, like you have a

807
01:22:45,500 --> 01:22:47,041
page and that like maps to

808
01:22:47,041 --> 01:22:49,791
a URL and the, you know, then inside of

809
01:22:49,791 --> 01:22:50,500
that page, you've got

810
01:22:50,500 --> 01:22:51,666
dozens of, you know, other

811
01:22:51,666 --> 01:22:53,041
view components or whatever.

812
01:22:53,833 --> 01:22:54,750
Right now you can write

813
01:22:54,750 --> 01:22:56,333
PHP at the page level.

814
01:22:56,833 --> 01:22:58,250
And so that would be like, you know,

815
01:22:58,250 --> 01:23:00,375
podcasts slash index

816
01:23:00,375 --> 01:23:01,375
or something, you know?

817
01:23:01,875 --> 01:23:04,083
Um, but you cannot write PHP at the

818
01:23:04,083 --> 01:23:05,250
component level, which

819
01:23:05,250 --> 01:23:07,916
would be like a podcast row dot

820
01:23:08,000 --> 01:23:09,416
view or something like that.

821
01:23:09,666 --> 01:23:10,666
And I think it would be

822
01:23:10,666 --> 01:23:11,833
nice to be able to do that.

823
01:23:12,041 --> 01:23:13,500
So right now what you would have to do is

824
01:23:13,500 --> 01:23:14,958
emit events to the

825
01:23:14,958 --> 01:23:16,250
page level and then call,

826
01:23:16,625 --> 01:23:18,416
you know, do your HTTP call there, which

827
01:23:18,416 --> 01:23:20,500
is a totally normal thing to do.

828
01:23:21,000 --> 01:23:23,625
Um, events up props down very normal, but

829
01:23:23,625 --> 01:23:24,125
I think it would be

830
01:23:24,125 --> 01:23:25,416
fun and potentially very

831
01:23:25,416 --> 01:23:28,500
powerful to have each view component be

832
01:23:28,500 --> 01:23:30,166
able to define basically

833
01:23:30,166 --> 01:23:32,500
an API route or two that

834
01:23:32,500 --> 01:23:33,666
you could do stuff with

835
01:23:33,666 --> 01:23:35,500
at the component level.

836
01:23:36,166 --> 01:23:38,166
Um, and I think that would simplify, um,

837
01:23:38,166 --> 01:23:39,666
some of this like, uh,

838
01:23:39,666 --> 01:23:41,333
cross component communication,

839
01:23:41,625 --> 01:23:43,833
which always gets super hairy in, in any

840
01:23:43,833 --> 01:23:45,000
language, in any framework.

841
01:23:45,000 --> 01:23:47,000
It's like, how do I speak to my parent

842
01:23:47,000 --> 01:23:48,833
component and my sibling components?

843
01:23:48,833 --> 01:23:50,750
It's like, oh, that's kind of sucks.

844
01:23:50,750 --> 01:23:51,166
You have to write an

845
01:23:51,166 --> 01:23:52,208
event bus or something.

846
01:23:52,416 --> 01:23:54,000
Um, so I think that is one

847
01:23:54,000 --> 01:23:55,333
that could be really powerful.

848
01:23:55,333 --> 01:23:57,541
I don't know that state will come down

849
01:23:57,541 --> 01:23:59,250
into the component, uh,

850
01:23:59,250 --> 01:24:01,458
level because I'm not entirely

851
01:24:01,541 --> 01:24:03,666
sure how that would even work, but I do

852
01:24:03,666 --> 01:24:04,833
think having like API

853
01:24:04,833 --> 01:24:06,333
endpoints for your individual

854
01:24:06,375 --> 01:24:07,916
components would be kind of awesome.

855
01:24:09,333 --> 01:24:09,541
Yeah.

856
01:24:09,875 --> 01:24:10,041
Yeah.

857
01:24:10,041 --> 01:24:11,416
Which I know this is version one, you

858
01:24:11,416 --> 01:24:13,000
know, you want to, uh, I

859
01:24:13,000 --> 01:24:14,166
assume once you actually

860
01:24:14,208 --> 01:24:15,625
publish it, people are going to come to

861
01:24:15,625 --> 01:24:16,833
you with both pull

862
01:24:16,833 --> 01:24:18,125
requests and tons of ideas

863
01:24:18,125 --> 01:24:19,833
that you probably didn't think about.

864
01:24:19,833 --> 01:24:24,291
Keep you busy for a while.

865
01:24:24,291 --> 01:24:24,875
All right.

866
01:24:25,250 --> 01:24:26,458
So tolling tolling is

867
01:24:26,458 --> 01:24:27,625
my last one on my list.

868
01:24:28,041 --> 01:24:30,083
Um, what, what, what's missing, I guess

869
01:24:30,083 --> 01:24:31,750
tolling was just sort

870
01:24:31,750 --> 01:24:33,500
of the IDEs or more.

871
01:24:34,083 --> 01:24:34,375
Yeah.

872
01:24:34,666 --> 01:24:36,875
So, um, there's, there's a little bit of

873
01:24:36,875 --> 01:24:38,458
IDE love that needs to happen.

874
01:24:38,791 --> 01:24:41,666
Um, so right now you open, you know,

875
01:24:42,375 --> 01:24:44,875
podcast.vue, podcast.vue.

876
01:24:45,166 --> 01:24:47,458
Um, and you can write a PHP block.

877
01:24:47,458 --> 01:24:50,666
You can just say PHP opening tag is PHP

878
01:24:50,666 --> 01:24:52,458
closing tag is PHP, just

879
01:24:52,458 --> 01:24:53,791
like an XML tag, not like

880
01:24:53,833 --> 01:24:54,666
the, the one we're

881
01:24:54,666 --> 01:24:55,833
used to as PHP developers.

882
01:24:56,208 --> 01:24:59,500
Um, and in PHP storm, you can configure

883
01:24:59,500 --> 01:25:01,250
what is called a language injection.

884
01:25:01,666 --> 01:25:03,083
And so you can tell PHP storm, Hey,

885
01:25:03,083 --> 01:25:04,458
anytime you see this XML

886
01:25:04,458 --> 01:25:06,750
tag, which is just PHP, um,

887
01:25:07,041 --> 01:25:10,750
inject the, uh, PHP language that gives

888
01:25:10,750 --> 01:25:11,833
you syntax highlighting.

889
01:25:12,250 --> 01:25:14,250
That gives you a little bit of like, um,

890
01:25:14,541 --> 01:25:16,000
a little bit of help.

891
01:25:16,000 --> 01:25:19,083
What it doesn't know is it doesn't know

892
01:25:19,083 --> 01:25:19,916
that you are in the

893
01:25:19,916 --> 01:25:21,625
context of a Laravel application.

894
01:25:22,416 --> 01:25:23,583
And so it doesn't look at your

895
01:25:23,583 --> 01:25:26,708
composer.json, your class map autoloader.

896
01:25:26,708 --> 01:25:28,125
It doesn't look at any of that.

897
01:25:28,125 --> 01:25:29,708
And so you're still kind of in the wild,

898
01:25:29,708 --> 01:25:30,916
wild West in terms of

899
01:25:30,916 --> 01:25:32,916
like, I want to, you know,

900
01:25:33,083 --> 01:25:34,416
use the auth facade.

901
01:25:34,708 --> 01:25:36,083
It's not going to say like, Hey, let me

902
01:25:36,083 --> 01:25:37,958
just auto import that for you.

903
01:25:37,958 --> 01:25:38,833
It's like, Oh shoot, I

904
01:25:38,833 --> 01:25:39,916
got to do that manually.

905
01:25:40,458 --> 01:25:43,625
Um, fortunately, Taylor put me in touch

906
01:25:43,625 --> 01:25:44,541
with somebody at JIT

907
01:25:44,541 --> 01:25:46,625
brains and they are bouncing

908
01:25:46,708 --> 01:25:47,500
around internally.

909
01:25:48,041 --> 01:25:49,416
There's like four or five people on the

910
01:25:49,416 --> 01:25:50,916
email now, um, trying

911
01:25:50,916 --> 01:25:51,916
to figure out like, who's

912
01:25:51,958 --> 01:25:54,583
the right person to talk to about making

913
01:25:54,583 --> 01:25:56,541
PHP storm aware that

914
01:25:56,541 --> 01:25:58,333
this is not just injected

915
01:25:58,500 --> 01:25:59,041
PHP.

916
01:25:59,291 --> 01:26:01,708
It's like full application PHP.

917
01:26:02,083 --> 01:26:03,541
Go look at the autoloader,

918
01:26:03,541 --> 01:26:04,833
figure out what classes exist.

919
01:26:05,375 --> 01:26:06,791
Um, so I am hopeful that

920
01:26:06,791 --> 01:26:08,250
that will be coming soon.

921
01:26:08,833 --> 01:26:10,625
Fortunately, it's not like it's a new

922
01:26:10,625 --> 01:26:12,000
language or anything.

923
01:26:12,000 --> 01:26:14,083
It's not like I've invented new syntax.

924
01:26:14,416 --> 01:26:16,250
It's just the exact same language in a

925
01:26:16,250 --> 01:26:18,000
different place that we're not used to.

926
01:26:18,375 --> 01:26:19,666
So I'm hoping that there's some little

927
01:26:19,666 --> 01:26:20,916
code path inside of

928
01:26:20,916 --> 01:26:22,291
that, you know, jet brains,

929
01:26:22,625 --> 01:26:24,833
Java monstrosity that they can just be

930
01:26:24,833 --> 01:26:26,375
like, yeah, that's, that's real PHP.

931
01:26:27,000 --> 01:26:28,500
Um, in terms of VS code,

932
01:26:28,500 --> 01:26:30,708
um, not something I use.

933
01:26:31,000 --> 01:26:33,916
So I don't really know Miguel again, has

934
01:26:33,916 --> 01:26:34,875
already figured out how

935
01:26:34,875 --> 01:26:37,375
to do like, um, uh, tagged

936
01:26:37,458 --> 01:26:39,000
template literal, which is like a

937
01:26:39,000 --> 01:26:40,541
JavaScript thing and tag

938
01:26:40,541 --> 01:26:42,458
it with PHP and then it will

939
01:26:42,458 --> 01:26:44,458
inject PHP highlighting into there.

940
01:26:44,833 --> 01:26:47,541
Um, but I imagine, uh, obviously VS code

941
01:26:47,541 --> 01:26:48,666
is much more open

942
01:26:48,666 --> 01:26:50,416
source, um, than jet brains

943
01:26:50,625 --> 01:26:50,791
is.

944
01:26:50,791 --> 01:26:52,500
And so I imagine people will figure that

945
01:26:52,500 --> 01:26:53,583
part out pretty quickly.

946
01:26:53,958 --> 01:26:55,208
Yeah.

947
01:26:55,208 --> 01:26:57,083
The, I think I did see a tweet actually

948
01:26:57,083 --> 01:26:58,958
speaking of jet brains of

949
01:26:58,958 --> 01:27:00,875
the Laravel idea, the guy

950
01:27:00,875 --> 01:27:02,333
that creates the Laravel idea package.

951
01:27:02,708 --> 01:27:02,833
Yeah.

952
01:27:02,833 --> 01:27:04,125
And he was going to add support for it.

953
01:27:04,125 --> 01:27:04,250
Yeah.

954
01:27:04,250 --> 01:27:05,083
He said something like, Oh,

955
01:27:05,083 --> 01:27:06,125
it looks like I got work to do.

956
01:27:06,125 --> 01:27:06,958
And it's like, Oh, cool.

957
01:27:07,166 --> 01:27:07,541
Thanks guy.

958
01:27:07,916 --> 01:27:09,000
I'm a paying, I'm a paying

959
01:27:09,000 --> 01:27:10,250
Laravel idea subscribers.

960
01:27:10,708 --> 01:27:11,041
Thank you.

961
01:27:11,041 --> 01:27:11,958
I don't know who it is, but

962
01:27:11,958 --> 01:27:12,958
thank you for all your work.

963
01:27:12,958 --> 01:27:13,583
It's incredible.

964
01:27:14,458 --> 01:27:14,708
Yes.

965
01:27:15,000 --> 01:27:15,208
Yeah.

966
01:27:15,416 --> 01:27:16,416
I think that's a must

967
01:27:16,416 --> 01:27:18,333
have, uh, for me, okay.

968
01:27:18,583 --> 01:27:19,500
You got to have that.

969
01:27:19,958 --> 01:27:20,166
Yeah.

970
01:27:20,708 --> 01:27:23,500
Um, I think that's all my questions on,

971
01:27:23,500 --> 01:27:26,541
on, um, on this, um, fusion.

972
01:27:26,916 --> 01:27:27,958
So what did I miss?

973
01:27:28,166 --> 01:27:30,291
Anything else you want to talk about for

974
01:27:30,291 --> 01:27:31,791
their launch or anything

975
01:27:31,791 --> 01:27:32,875
that I may have missed?

976
01:27:33,333 --> 01:27:34,416
No, I don't think so.

977
01:27:34,750 --> 01:27:36,125
Um, I will, I will go back

978
01:27:36,125 --> 01:27:38,166
again to like, what is the goal?

979
01:27:38,166 --> 01:27:39,000
What is the vision?

980
01:27:39,000 --> 01:27:40,041
And the vision is to pull

981
01:27:40,041 --> 01:27:41,791
people into the Laravel ecosystem.

982
01:27:42,500 --> 01:27:45,375
Um, so that is, that is my hope is that

983
01:27:45,375 --> 01:27:47,041
we can continue to be,

984
01:27:47,500 --> 01:27:48,958
um, we can continue to

985
01:27:48,958 --> 01:27:51,000
be a port in the storm for people who are

986
01:27:51,000 --> 01:27:51,833
like, boy, web

987
01:27:51,833 --> 01:27:53,166
development has gotten complicated.

988
01:27:53,708 --> 01:27:57,000
My hope is that people will, um, put down

989
01:27:57,000 --> 01:28:00,000
their PHP preconceived notions, come over

990
01:28:00,000 --> 01:28:02,708
to our side, realize that, Hey, we've got

991
01:28:02,708 --> 01:28:03,833
basically everything

992
01:28:03,833 --> 01:28:04,666
you would ever need to

993
01:28:04,750 --> 01:28:06,416
build a full honest to

994
01:28:06,416 --> 01:28:07,333
goodness SAS application.

995
01:28:08,250 --> 01:28:11,416
Um, and hopefully, um, fusion can help

996
01:28:11,416 --> 01:28:13,791
lower the bar to get some

997
01:28:13,791 --> 01:28:16,250
of those, uh, very, very

998
01:28:16,250 --> 01:28:18,500
intelligent, very productive people over

999
01:28:18,500 --> 01:28:20,375
and have them use what I

1000
01:28:20,375 --> 01:28:22,000
think is a better backend.

1001
01:28:22,291 --> 01:28:23,916
That is, that is my hope.

1002
01:28:25,125 --> 01:28:25,541
Agreed.

1003
01:28:25,541 --> 01:28:25,958
Agreed.

1004
01:28:26,375 --> 01:28:29,791
Um, I love how Laravel is pushing, you

1005
01:28:29,791 --> 01:28:31,375
know, pushing the bar forward.

1006
01:28:31,500 --> 01:28:33,875
Um, you know, from the old days, I know

1007
01:28:33,875 --> 01:28:36,125
you're young man compared to me, but you

1008
01:28:36,166 --> 01:28:38,541
know, in my days, it, every framework

1009
01:28:38,541 --> 01:28:39,666
only stuck with what

1010
01:28:39,666 --> 01:28:41,166
they were like, it was only

1011
01:28:41,166 --> 01:28:43,625
PHP, like you did not branch out into CSS

1012
01:28:43,625 --> 01:28:45,083
or any of these things.

1013
01:28:45,083 --> 01:28:46,958
And I like how we've, you know, as a

1014
01:28:46,958 --> 01:28:47,750
community, we've sort of

1015
01:28:47,750 --> 01:28:49,625
embraced this that it's not

1016
01:28:49,625 --> 01:28:50,958
just PHP, like we're

1017
01:28:50,958 --> 01:28:52,458
having a full stack here.

1018
01:28:52,458 --> 01:28:54,166
We need to be able to support everything.

1019
01:28:54,833 --> 01:28:55,916
So I think it's awesome.

1020
01:28:55,916 --> 01:28:57,541
And I really like where the future's

1021
01:28:57,541 --> 01:28:59,625
headed for Laravel and with that mindset.

1022
01:29:00,166 --> 01:29:00,500
Thanks.

1023
01:29:00,500 --> 01:29:02,291
Thanks to our pragmatic, uh, benevolent

1024
01:29:02,291 --> 01:29:04,208
dictator Taylor for, for

1025
01:29:04,208 --> 01:29:05,416
leading the charge on that.

1026
01:29:05,958 --> 01:29:06,375
Exactly.

1027
01:29:07,000 --> 01:29:07,208
Exactly.

1028
01:29:08,125 --> 01:29:08,541
All right.

1029
01:29:08,541 --> 01:29:10,041
Well, Aaron, I want to thank you again

1030
01:29:10,041 --> 01:29:11,791
for taking a few minutes

1031
01:29:11,791 --> 01:29:13,125
here to talk about fusion

1032
01:29:13,458 --> 01:29:16,000
and, uh, good luck on the release and we

1033
01:29:16,000 --> 01:29:17,000
will do our best to

1034
01:29:17,000 --> 01:29:18,208
get the word out for you.

1035
01:29:18,500 --> 01:29:18,708
Thanks.

1036
01:29:18,750 --> 01:29:20,500
Also, if this release, if this podcast

1037
01:29:20,500 --> 01:29:21,666
releases on Friday,

1038
01:29:21,875 --> 01:29:23,333
when fusion releases and

1039
01:29:23,333 --> 01:29:25,083
you're listening to it, today is my

1040
01:29:25,083 --> 01:29:26,666
birthday, not today, but like when you're

1041
01:29:26,666 --> 01:29:27,750
listening to it today,

1042
01:29:27,750 --> 01:29:28,958
Friday is my birthday.

1043
01:29:29,208 --> 01:29:31,000
So please tell me happy birthday.

1044
01:29:32,041 --> 01:29:32,500
Yes.

1045
01:29:32,500 --> 01:29:32,958
Happy birthday.

1046
01:29:33,416 --> 01:29:36,041
And, um, thank you for everything you do

1047
01:29:36,041 --> 01:29:37,000
for, um, the

1048
01:29:37,000 --> 01:29:38,000
community and for what you're

1049
01:29:38,000 --> 01:29:39,583
building and just for being a

1050
01:29:39,583 --> 01:29:42,000
good human in our ecosystem.

1051
01:29:42,583 --> 01:29:43,708
So we appreciate you.

1052
01:29:43,708 --> 01:29:44,125
Thank you.

1053
01:29:44,125 --> 01:29:44,833
That's very nice.

1054
01:29:44,833 --> 01:29:46,166
It's always a joy to be here.

1055
01:29:46,666 --> 01:29:48,916
Um, I look forward to the release.

1056
01:29:48,916 --> 01:29:49,916
Hopefully it goes well.