The Laravel Ecosystem with Ian Landsman

The Laravel Ecosystem
===

Brian: [00:00:00] . You're about to hear my conversation with Ian Lansman, where we do a deep dive into the Laravel ecosystem. Let's get into it.

So in just a second, I'm going to roll my interview once again with my friend, Ian Lansman. He's back on the show today. We recorded this conversation on November 3rd, 2023. And on this one, we do a deep dive into the Laravel ecosystem. Here it is. Here's that conversation with Ian.

Enjoy.

Ian returns to talk Laravel
---

Brian: so Ian Lansman, we're, we're back. We're we're talking products as always. We're talking software businesses. And you have been ingrained in Laravel since the birth of, of Laravel, as I understand it. So, I thought we'd talk a bit about the Laravel ecosystem. In, in general

aS, as you know, I'm a, I'm a Rails guy. I've been, I've been building in Ruby on Rails [00:01:00] and, and all of my recent SaaS products for me that was just, and I

actually, I remember back in 2018, I, I was the year that I like dedicated the whole year to upgrading my skills to be full stack of something to, and, and, and I

started the year by doing like a course on Laravel and a course on Rails. And at the end of the, I, I think I did some LAR cast. And at the end of that I was like, okay, I get it. I could follow the, the tutorials, but I still had a hard time going from that to like taking my own idea and building it and then, and, and I think a lot of that

was just PHP and it wasn't so much Laravel itself, it was just the style of

PHP that, that I still had a hard time with back then. Then I did the same thing with Ruby, which was totally new to me at the time. Rails and I did a quick, like two week course. And then after that I was able to, to build a simple idea. And I was like, okay, I'm, I'm actually faster and more efficient and that's, that's all I need to know. I'm good to go. Then I, then [00:02:00] I'll spend the rest of the year getting into Rails.

And then I've been into it for the last, what's six, seven years now. so

that, and, and I've been, but now, you know what? Now I'm at a point, I'll be honest here, and you, you saw me get a little bit into into Alpine lately. So I'm at a point now

where, so like my, my product clarity flow is currently on Rail six. So we, we have not upgraded to Rail seven, which has been out for, for quite a while now. And that's just 'cause I haven't had time or bandwidth to care about upgrading and we, we haven't felt a need to

upgrade and it would just cause more issues for us than like, why spend time on that?

But it also meant like I. I haven't spent much time learning about. I see it from afar, some of the new stuff on Rail seven, but I don't, I don't have any projects to try it out on, and I don't have a need to really get, go deep on it. then more recently we did a redesign of the Clarity, clarity Flow marketing site, which is on Sta [00:03:00] CMS, which is basically built on Laravel.

It's hosted on Laravel

Forge. And Jason Beggs did, did the whole front end build out. And so, I learned a, a ton from, from him and how he built stuff. And, you know, he used

like Alpine jss and so, so then the other day I was building something new on the marketing site. I was getting in there with the Alpine jss.

I'm like, oh, this is pretty sweet. This is a, I. And I, and I loved

using I'm just gonna keep rambling about random stuff here, but I, I, I,

I've, I've been

such a huge user of stimulus jss for, for basically all the, it's like, just

simple enough, vanilla, vanilla JavaScript. It's, it's, it's in the markup. It's like, and, and I'm a big tailwind guy.

So, that's been great. But then when I got my hands on Alpine jss, it was like even simpler and I was like, oh my God, this is, this is amazing. You know?

So I don't know that, that gets me thinking that I, I don't have any current or, you know, upcoming new software projects going on, but I feel like next time I do, [00:04:00] I would explore building it in. Rabbel if, if nothing else, just to, just to see what's over there on the other side of the fence,

Ian : Right.

Yeah.

Brian: Because I,

I I, I don't know if it's just 'cause I follow like you and a bunch of other Rabbel folks and

Ian : Right.

Brian: I, and I see all, all, all this like

stuff that's,

that's kind of

Laravel vs. Rails
---

Brian: floating around. I, I'm kind of

wondering like, 'cause I, I've always seen it like at a high level Rails and Laravel, like those are the two I like.

Obviously there's, there's like

React and all, all this new stuff, but like in terms of like classic MVC frameworks and really mature frameworks to build a SaaS application,

Ian : Yep.

Brian: um,

know that you can do a lot with like, you know, single page applications and stuff like that. But like, if you wanna go more of the classic route but still stay modern, it's, it still sort of comes down to Laravel and, and Rails and, and I guess the reality is like [00:05:00] more people are, are going laravel these days. Um,

Ian : so

Yeah.

Brian: so how do you Think about like, the state of both of those worlds? I know you're not really in the rails world, but like is, is Laravel in some ways, like far ahead of rails or better in some key ways or, or, or In my view as I, as at a, at a very surface level understanding, it's like they're more or less the same.

They're just kind of two different flavors of, of the same thing. They, they, the, the, the framework is sort of structured the same way. The, the front end tooling can be mixed and matched. But I don't know what, what, what are you seeing out there in terms of like the

Ian : Yeah, I mean, I definitely, I'm not up on the absolute latest, greatest of rails, so it could be, I'm about to blast Feam all over it, I'm sure. And uh, maybe I'm totally wrong on certain things, thing to me is that I think there's a couple things. I think there's PHP being the foundation, which PHP always gets, like people get frumpy about it, but it is [00:06:00] obviously like been around forever and they've actually been doing so much work on that lately.

There's tons, like now there's a new release every year with a bunch of changes and enhancements and everything, and PHP is still so easy to deploy. See, to me, this is like a huge thing. It's like being built on PHP means that it's just so much easier to deploy anywhere, so easily um, and with good, performance. and it's like a huge advantage um, I think. And so you have that easier deployment story just at the foundation and then Laravel itself. So it's certainly like if you have a huge team. I think then it's a little different. It's like, whatever you, I would still use Laravel um, but whatever.

Maybe you're gonna use Ruby people who know Ruby and what, and rails and all that stuff, and it's even less of an issue. You got people, people dedicated to more

niche areas of the project. Right. And so all

Developer ecosystem
---

Brian: that was also another big consideration for me early on. Well, that, that's why I was like, immediately, like, I wanna use either Rails or [00:07:00] Laravel. Not one of the newest, coolest

Ian : getting to go

Brian: Yeah. No, and, and

a part of it was like, I, I want something. that's like mature and, and, and is several versions in and there's a big community to learn from, but also a huge community of developers that I could work with. Like a huge pool

for hiring. And I

think that's, I think that's probably the case in both worlds. But

I'm curious to what you think, and I mean, you run RA jobs, right? Like, is, is the

hiring pool, is the, is the, is the economy for Laravel devs more abundant than, do you think, like rails?

Ian : Uh, I, I haven't looked at it in that way in terms of where there's more, but I would say there's absolutely plenty of Laravel developers at this point. Um, but, and then the whole Because like, it's like fully fleshed out now from your like super ultra high-end top dollar geniuses, right?

And they use Laravel all the way down to like, uh, you know, [00:08:00] your website. I'll help you for $10 an hour if you want to jump on a video call and, you know, work through something or send me something and I'll do it, right? Like, so the whole thing and everything in between. There's plenty of Laravel developers now, so definitely not gonna have any trouble hiring.

I mean, . People get hundreds and hundreds of applications when they put, you know, jobs up on their jobs. So, uh, yeah, plenty of devs out there.

Brian: Hmm.

Ian : Um, and to me, I think the, a lot of subtleties here, right? So definitely like, okay, MVC and whatever, you can make websites and apps and all that stuff. Yes.

Like pretty similar on like the big picture. But then you get down to things like uh, what you just said is a great example. Again, maybe there's in Rails that I just dunno about, but you have your app on six, it's kind of a project to move it to seven.

Um, and so you haven't done

Brian: Yeah. So

like upgrading in

Laravel

Ian : Upgrading, upgrading Laravel is just easier. First,

Upgrading Laravel
---

Ian : let's just start there. Like, if you just go through, they always have really great docs on how [00:09:00] to do it. You go right through, you could do it, but there's also a site called Laravel Shift, which will you just connect it to your GitHub repo and it will update

it for you.

And it's extremely reliable.

Brian: it just

Ian : It goes through, it just works and it updates, your whole app makes all the changes it needs to, it puts in like pull requests for everything so you can review it. Um, I think it. does have a, if it's something it can't it will also let you know about that. But I think that's pretty rare at this point.

Um, so yeah, so like, there you go. it, run your tests, be done in an afternoon and you're on seven uh, you know, in that case, or Laravel 10 in this whatever. Um, so the, like the, the ecosystem has so powerful and amazing, like you're getting so much more uh, so Laravel itself is like realized now at this point to me.

Like, I mean, there's just anything you need.

Brian: Yeah.

Ian : It's there, right? And then, um, the package ecosystem is humongous and has all this other stuff. That's fantastic. Uh, you have these [00:10:00] other sites that are great, you Livewire, which is kinda what you were saying with in terms of like stimulus and, you know, a modern SPA experience

is what people are generally shooting for

Front-end frameworks for Laravel
---

Brian: Yeah, I mean, I, I see so much about Livewire and I'm, I'm not fully up on it at this point. I, I feel

like that's something that I would get, I would get into,

Ian : really great.

Brian: but it, so is

that like

basically like stimulus and, and is that, is that like the, the thing that's like similar to like turbo in, in rail seven, like,

Ian : um, so Rails,

Brian: mean like,

like hot

Ian : anything like Livewire. Yeah, it's like, it's part of that, partially that it does some stuff like hot wire and whatever that turbo links and hot wire and all that. Stuff. It does some stuff like that where um, you can have links that it hot like without re, without re rendering the whole page.

But it does way, way more than that. Um, it just lets you PHP but have it, it handles the JavaScript end of it. And you can get down into the JavaScript too, but you don't have [00:11:00] to. It's all, it basically generates the alpine that you would need to do certain tasks and it handles the back and forth communication with the server and the client, uh, without any extra server stuff.

So there's no, like, you have to install some weirdo server thing to make this work. No, nothing to install uh, other than Livewire itself. And like you, so you can make a button and you just say like, wire

click and you tell it to like increment

Brian: See, this is the kind of stuff I love because like I, I'm always

so

fascinated and and obsessed with development tooling that helps me build and ship faster, but, but not at the cost of

designing it for me. This, this, to me, this was like the big downfall

of like, WordPress. Not that it, not that it has downfall, like it's,

it's

Ian : But for

you.

Brian: for me, this is why I've,

I've abandoned it at this point is

because there's such, such a huge

emphasis on like themes. Like, Like, oh, like this CMS or this, this

[00:12:00] website builder interface is gonna like, like one click, design me

up a website or design me up an interface. But then there's always a thousand things that I want to customize. So it's just always easier for me to

pick the theme apart and redesign it myself. And then I'm like, well, now I got all this bloat and I just should have designed it

Ian : All kinds of other weird stuff in there. Yeah. Yeah.

Brian: but like, Yeah.

like that. But

when you get into things like, like with Alpine and I guess with, with like Livewire and what I like about like stimulus and stuff is that like, the most common interfaces and. Widgets and modules like the, the wiring up, the, the plumbing is just kind of magically like pops into place. But then I can design the interaction. I can design the,

the style I can, I can put it together myself, you know,

Ian : Yeah,

exactly.

Brian: just

Ian : that's what this is.

Brian: you know?

Ian : It just gets you there faster. It's like you don't have to build a bunch of like, complicated, you know, [00:13:00] it's eliminating work on both ends, Livewire. 'cause it's like it does a lot of the javascripty stuff for you, but, and you, but you still have full control and you still have events and all kinds of other stuff on the JavaScript end.

Um, but you have complete control of the design and all that. And then it's also eliminating a bunch of stuff on the server end because you don't need to like define an API or anything like that. Like you literally just have this component, it knows about APIs and all that, it knows about handling the communication.

Uh, and you just do your thing with okay, I have a variable and or I have a property, it's like a live wire class with a property and it's just incrementing, let's say, and then my code just can react to that or can save it to a database or whatever I have to do. I just stay in the PHP and do those things.

But there's no JavaScript end to that. Like in terms of what you have to do. Like you just say, every time this button's clicked, call the increment function on the server and it just does that and it can pass form values and whatever. [00:14:00] There's a lot to it. It's, it's a little bit steeper learning curve than like regular

Laravel.

Like it, you know, works with, with

Brian: Yeah, like,

Like if, if you're, if you're well

Ian : it's a little more, but

Brian: like this is like a next

step to just

make your, make your life like way more efficient, you know?

Ian : Right, and there is a bunch of stuff that they've been working on lately too, to make it, you know, really, I think in a most modern applications, you would want to build it with Livewire, so you'd want to have like Laravel Livewire if you're building like a full featured application,

that's what you'd want as your default stack,

Brian: I,

I feel like it's a

race toward, like eliminating steps in the developer's process. And like one, one thing that, like I just had my first experience building with Alpine Jss like last week I was building something new and my, my big like aha

moment on there. 'cause I'm, I'm thinking of it in terms of like, how does this compare to stimulus jss, which I use every day on, on everything else. And the

big thing that it eliminated for me was like the, the need to even write a controller like stimulus has this like JavaScript controller to,

to, to [00:15:00] define all

the different actions that you can then call in the markup and alpine.

Yeah. It's just, just, just write the markup and it'll interact. Like you don't need to have all these other files to manage, you know.

Ian : Exactly. So that's like with a, with Livewire. Um, you know, so you way, but the one way you can do it, and the way I tend to do it, is that you can make a Livewire component, which is just like a PHP class and you could connect that to Laravel so that it's a full page component. And so like, now you don't even have a controller,

no Laravel controller either.

No server controller. Um, you just say this route, you know, tickets or whatever goes to the ticket index. livewire component Livewire is now fully managing that whole routing and connection and everything like that. And in your, you know, ticket index component is like whatever data you need and your database calls and whatever.

But it's like, yes, now we've eliminated a server controller, we've eliminated the JavaScript controller, which I don't like that part of stimulus at all. That part was like, oh, I don't like that. [00:16:00] Um, and yeah, so be fully in.

Business logic land, like I don't have to be in all the structure of everything land.

I could just be like, okay, this is a page that shows a list of tickets. What do I need here? What do I wanna do here? What you know, what kinda logic do I need? What do I wanna show? Like whatever. I could be focused on the business aspect instead of like just mindlessly making controllers and all the stuff that's the glue parts that are

annoying and repetitive and all those

Young developers learning on today's tools
---

Brian: What do you think? I mean, this gets

much higher level than than just Laravel. But it the, if you're a newer developer, if you're a more junior developer, you're entering the, the workforce or you're just learning to, to build stuff for the first time. Do you think that there is any sort of like risk or like all these tools are, make it so much more efficient to build stuff, you know? And like, I've thought

this like just with Tailwind, but now we're seeing it with PHP and JavaScript and, [00:17:00] and all these, all these tooling. Where it's like, I mean, tailwind has like changed my life as a, as a front end designer,

Ian : Yeah.

Brian: but

I,

I only experienced that because I used to write a ton of CSS going back to the days of making, making IE six work.

You know, like, I mean,

Brian: if a new developer

in the first thing that they're learning is tailwind, or the first thing that they're being exposed to is something like Livewire, and they, and they never really learned what, what, what's, what's the magic doing under the hood? Do, do you think there's an implication to that?

Like

Ian : Oh yeah, . I think, I mean, I think it's one of these things where it's like, it's you. It's trying to find the balance too. There's so many things to balance, right? Because there's like apps that don't matter all the way on the scale to apps that are super critical. They're launching nuclear missiles, right?

Or whatever. Like, so you have the, the, what is this

app even doing? And then you have the,

Brian: like AI writing the whole,

whole parts of code.

Ian : AI's [00:18:00] writing parts of it for you and stuff like that. And this is, and I don't like to be, you know, you're like the JavaScript community kind of getting real far into complexity at one point, right? It's like, well, you have to, you can't just know

JavaScript plus React, you have to like, know, know JavaScript and React and type script. And next JX is a framework

to put some of that together. And then like, so like there you're on like four or five technologies just in the JavaScript front end , right? So

Brian: drives me up the

wall. yeah. Just

Ian : So it's like, are most apps, does that make, maybe there are some apps that, that make sense, right?

Fine. But I can't imagine for the vast majority of apps that knowing those four technologies or five technologies just to do the JavaScript on the front end to like make your button increment a counter on the server. Like I, it's, I can't imagine that's the best solution for that in terms of efficiency, right?

So, um, So, I think it's like finding that middle ground where I that's another area where Laravel really shines is like you could just use outta the box Laravel. So obviously you are, you need to know PHP, but besides that you kind of don't need to know much. 'cause like they have the. [00:19:00] Um, packages already that are first party for like setting up authentication and basic profile management and stuff.

So you can kind of get in there, get started, get something where you can log in and register and all that without knowing a lot. So if you're super new, it's like, oh, I just ran a few commands and now I can, like, I have a thing that looks like an app and I can start to learn. Um, so maybe you're not gonna start with Livewire more complicated.

Right. But you can do a basic app. You don't need livewire. You can have what's called Blade, which is like the templating engine. So you can make basic templates with h, TM L, and Tailwind and the basic parts of the baseline stack, which is of course bigger than what we needed to learn 15 years ago

or whatever.

There is just still a little bit more there,

I

Tradeoffs
---

Brian: mean, I always, I, I feel like it's a trade off both ways. And I think, about this like with my

kids a lot too, where, you know, they're, they're, they're growing up in a world where they had

iPhones or iPhones existed when they were born, you know, and for us it's

still like it, it's pretty incredible

what we can do now. But,

Ian : Yeah.

Funding open source innovation
---

Brian: but to them, like they're gonna be

growing up in this world, and I'm already even seeing it at age [00:20:00] seven and nine, where it's like, they start their whole worldview from the point that there's an inter internet and there, there are these devices and, and even ai, like this stuff is just in their childhood.

Like what does that

enable in terms of creativity and

imagination and Like innovation as they, as they grow, as, as this whole generation grows up. And I wonder if, if on the flip side, there's like,

you know, guys with gray beards like us building software. And maybe, maybe that's where a lot of the over complicated ideas come from is 'cause we, we remember how things used to be built. I don't know.

Ian : Yeah, I think there's a whole like ego element too of like the over, you know, like everybody wants to carve out their niche and like, so then well, I'll go build my version of this thing that's a little different and maybe it's not even better, right? But it, I think it's better, which is fine. Like, uh, eventually, and some of those things actually are better, right?

And then you get tailwind and that's great, but like now that there's, everybody has a microphone, right? And there's [00:21:00] everybody, all this. You have your Twitter feed and whatever your other feeds out there and it's like, I do think there is an element of that. And it's also, I think, you know, the last maybe five or six years, you just had so much money out there of just VC money that, I mean all these frameworks and stuff, so many of these things are just like company that does x usually it's like some

kind of JavaScript hosting thing, whether, uh,

Brian: I heard you and

Ian : or whatever.

Brian: this, this, this is super

interesting. Yeah.

Ian : they're dumping money into it. And so then they're doing all this design stuff and all these other things have nothing to do with the core product at all, but it's

just like, we gotta spend this money and try

Brian: I never, I I never really thought of it that way until I heard you And Aaron talking about it on on, on mostly technical your, your news podcast, which I love. The,

yeah.

like a lot of these like major frameworks that are u that are, that are used every day by f by folks like us are just like, the reason that they cr are created, maybe it's not this stark, but like the reason they are created is these Huge VC backed [00:22:00] companies have all these extra engineers sitting in seats and they need something to do, something to maintain, something to put out

Ian : a hundred percent why

Brian: and like

Ian : a hundred percent

Brian: like that.

That's why

Ian : I, I, mean that's the only rational explanation to me is like, oh, let's reinvent this thing that's already been invented uh, because we have so many extra developers that like, maybe it's gonna be the slight bit better in some way. You care about fine, but like, it just can't be like the efficient use of time.

Like, you could have also set those devs to making the original thing better. Like you could have been doing pull requests on that and be like, Hey, we're gonna contribute a bunch of stuff back to React or to whatever the existing thing exists. Right? And they're not doing that. They're like, well, let's reinvent the wheel over here with our new better, whatever.

Um, and this is a, an area too where I, enjoy about Laravel and Rails is that they aren't in that flywheel, right? It's like they both have products that the founders own that fund the development of the open source projects. [00:23:00] Directly and there's a, they're not then beholden to like, when this company that's just VC funded runs outta money, and now

Brian: now the project dies.

Yeah.

Ian : dead.

Right. or, um, or they just pull money from they're running low on money and they're like, oh, we gotta actually build a product that sells. Let's do that instead. Um, so yeah, I think there's like a lot of risks of these things that are new and out there over the past few years that I do.

Yeah, I mean, there's risks with everything, of course, but I do feel like that's more sustainable, how uh, rails and Laravel operate generally, WordPress

Brian: for sure.

Ian : that.

Brian: There,

there's so much more we can get into. We'll, we'll have to, we'll have to do this again at some point. You're, you're like the king of like random topics that we can just talk all day on, on podcasts for. Good stuff, Ian. Well, yeah, great to, great to

catch up with you and we'll we'll get these, these things shipped out pretty soon.

I'm excited to see. I'm, I'm gonna keep tuning into you about everything that's happening in Laravel Land and one of these days, one of these years, [00:24:00] I'm gonna pop over there and maybe build something with, with Laravel. We'll see. We'll see

Ian : Yes, do it. We'll hook you up. Do

Brian: right.

Ian : All right. Thanks for having me on. Appreciate it. Bye.

Creators and Guests

Brian Casel
Host
Brian Casel
Teaching product skills at https://t.co/slTlMF8dXh | founder @Clarityflow | co-host of https://t.co/pXrCHLdDwe
Ian Landsman
Guest
Ian Landsman
Founder HelpSpot, LaraJobs, and Laracon Online. @ianlandsman on Threads. Podcasting at https://t.co/UbqP5JQfIJ
The Laravel Ecosystem with Ian Landsman
Broadcast by