This is such a good look for the Laravel and the Laravel community. Most other communities would have just said "skill issue" and mocked him for it, but the Laravel team took this very seriously and made onboarding so quick and easy. Laravel probably has the best community in tech! To turn someone influential such as Theo from a hater/critic to an endorser in such a short time is a huge feat.
many new devs actually jump into react or vue and typescript rather quickly .. and learn from top to bottom.. wich i find actually harder , than learning from bottom up but why would i use php/laravel in 2024? .. if IoC or that kind of mvc stuff is ur thing might as well use AdonisJS , wich is basicly port or clone of laravel... or laravel-like JS framework...
@@Microphunktv-jb3kj The thing with learning something bottom up is it's not actually like that. Javascript, PHP, or any language is not something you "finished" and moved on to the "frameworks". You can learn up to a certain point then use some framework and it would not make a difference. You can build everything with vanilla Javascript and PHP but would you? Should you? And doing that would need more than "basic" knowledge about the language.
I was so relieved to hear when Theo said Laravel “deserves its place in the ecosystem” and will “be around for a while to come”! After making a living off Laravel for the past 9 years I was starting to panic 😂
Inertia is a life saver, having laravel handle the routes and data makes it so much better than having to juggle api and routers between languages. Can't wait to use Inertia 2, I belive its out already, but on beta or whatever its called
@@mnchabel8402 Although I agree and I do enjoy building with livewire and filament. The very vast JS echo-system combined with inertia kinda gets you the best of both worlds
@@mnchabel8402I switched to inertia myself, before that I was building in livewire, but I quickly found out that it’s not great for large scale apps (I should say, other more experienced developers showed me some examples), but livewire is truly like magic it’s amazing
@@mnchabel8402 Easiest way is using React and Laravel API, trust me. 😏 I personally never tried Inertia, never need to. React is fast, much faster than Livewire and dynamic by default, it's very modular and using hooks it's like using Alpine. It's also cleaner and maintainable, you can structure your code in the way u want. And i don't even speak about ecosystem, and how easy it's implement DnD, advanced animations ( Framer Motion ), headless wysiwyg, which u can design in way u want, a lot of UI libs, ( ShadCN, Chakra, Bootstrap ) which brings you advanced components like Range calendars, easy solutions for drawers, dropdowns, OTP auto inputs, it's fully customisable by Tailwind and fun to work with. You can integrate basically everything for any purpose. Laravel it's perfect for API's, like it a lot. But speaking of frontend, javascript and especially React it's dominant. Livewire tries to bring React into Laravel ecosystem for MPA, but it's slower, onerous and output code is a mess. Funny thing is a fact, that lerning React is so much easier, than Livewire, even if you're not a JS guy. 😀
I use React and Laravel API, completely separated without Inertia. React is a powerfull tool and Inertia just cut off 90 % of it's features. 😃 It's funny, how people try to benefits from React without learning it and using that "life savers". 😏 Once u learn React, ( and trust me, it's very easy ) you forget about all of these "hybrid adapters" like Inertia.
Taylor and Josh are great people! Glad the onboarding process is getting easier! Also, love your dev script with multiple logs! Will be stealing that for my own apps 😆
Theo's command is officially part of laravel now as composer run dev command that you can edit in your composer file to your liking. Happy to see Theo taking this constructively and helping the community here. I watched the whole stream and was left with sour taste but it all triggered good things. Also happy to be the guy who suggested laravel new to him on X 😊
just a framework? there's an entire language called Ruby where the goal is "developer happiness" and in this language there is an amazing web framework called Ruby on Rails. Laravel is a PHP knockoff of Rails.
@@bloodonthesnow Ruby devs I'm sorry are kinda ........ Strange and they need to update their freaking docs and why are GEMS never updated they break all the time
Thank Theo for this command 🥳 I was looking for it long time ago hehe. Now I can start Laravel reverb and npm run dev just one command ``` "scripts": { "vite:dev": "vite", "build": "vite build", "php:reverb": "php artisan reverb:start --debug", "dev": "concurrently -k -p \"[{name}]\" -c \"blue.bold,green.bold,red.bold\" \"npm:php:reverb\" \"npm:vite:dev\"" }, ```
It's available directly in laravel now from v11.29+ as a composer command. You can do composer run dev and it uses Theo's command plus some extra bits like queues and workers which you can edit out in your composer.json if you need to.
"Mostly play for your fans. Play the hits." I'm a musician who reskilled into coding, and I can't begin to express how much this general principle of human psychology translates from music enjoyer to software developer. I like this guy. Probably gonna try his software.
The original stream was a rough watch, but I love how everyone engaged in good faith and came up with solutions for so many of the sticking points you identified.
Omg I remember that I wanted to try Laravel out a few years ago, but I had so many issues while installing everything you need before you can create your Laravel project that I lost interest (It was really really bad). Great that they finally fixed this!
I've been surprised to learn recently how much of the internet uses php, so even though it's not my focus right now I do feel like it's worth adding to my skillset at some point. I'm glad to know Laravel will be an easier place to start when I do.
It's a simple "fix" that help a tons of people to make things works way faster. It lower the barrier entry and possible frustration with less steps. Just a big WIN for the Laravel team. Bravo!
the lower the entry barrier, that wasn't that high to begin with, the bigger the change people that are not interested in the field will ruin the comunity.
@@sparsetableasdf is like nvm but for every lang/runtime and their versions. so asdf will manage diff versions of node, go, rust, php, whatever else u want instead of using nvm/fnm, pyenv, goenv, etc not everyone needs asdf, but it is convenient if docker is a skill issue imagine i want to onboard a friend for a project that uses node and go: brew install asdf asdf plugin add nodejs # first u install this plugin, then a version for it asdf plugin add golang asdf install nodejs latest # can be any version here instead of "latest" asdf install golang latest asdf global nodejs latest # can setup runtime versions on a per-folder basis too asdf global golang latest that's 7 commands to install latest versions of both runtimes globally. and if this project had a .tool-versions file (similar to .nvmrc file) you can just "asdf install" and it will install everything for the project in one go. super convenient!
@@darkoplax7688 not everyone needs asdf, but it is convenient when you need multiple different runtimes (and docker is a skill issue) imagine i want to onboard a friend to a project that uses node and go: brew install asdf asdf plugin add nodejs # add plugins asdf plugin add golang asdf install nodejs latest # install latest version of runtimes asdf install golang latest asdf global nodejs latest # set latest versions of runtimes globally asdf global golang latest that's 7 commands to setup both runtimes globally, and if ur project had a .tool-versions file (similar to a .nvmrc file), u can just "asdf install" and it will install all runtimes and the correct versions in one go. super convenient!
@@darkoplax7688 not everyone needs asdf, but it is convenient if u wanna manage diff runtimes (and docker is a skill issue) imagine i want to onboard a friend for a project that uses node and go: brew install asdf asdf plugin add nodejs # first u install this plugin, then a version for it asdf plugin add golang asdf install nodejs latest # can be any version here instead of "latest" asdf install golang latest asdf global nodejs latest # can setup runtime versions on a per-folder basis too asdf global golang latest that's 7 commands to install latest versions of both runtimes globally. and if this project had a .tool-versions file (similar to .nvmrc file) you can just "asdf install" and it will install everything for the project in one go. super convenient!
Excited to try Laravel! I've been eyeing this for a while but I also had a lot of trouble getting it running. Aaron (prev at PlanetScale) did a video on Laravel and I was blown away by how easy you could get a project with databases, queues and crons up and running. What about deployments though? What's the story there? Building is fun but I need to get my stuff in front of users (hi mom)
I think this is a much nicer approach, that command will however install Herd which I think if you're wanting to get up and running ASAP no big deal. It would be nice if that was made clear in the docs.
I've only ever made apps with symfony (of which http core is part of laravel/phpbb and some other frameworks). Symfony was always an enterprise framework while laravel was for small websites. I might try it out again and see changes.
The changes pushed forward by you are great! However, I don't think it's a fair comparison. I might be wrong but [insert js framework of the day] doesn't have anything like this command or even like Herd. It assumes you have nodejs and probably a version manager for it, redis, a relational database, bells and whistles. What "modern tool" in the nodejs world are you comparing it to?
I believe feedback from fresh eyes is at least as valuable as from experienced users. just on different aspects. Feedback from fresh eyes is what paves a good on-ramp. Java has been focussing on this a lot. Nice to hear PHP has too
Honestly, thats is why Laravel so great!! Its not about the technology, it has always been the community. That is Laravel's Killer Feature!!!!!!!!! The PHP maintainers have also gotten so great! way better than the php 5.6 to early 7 days!
Inertia documentation always been incomplete, especially when you setup manually. Following the docs will not lead you to successfully setup inertia, hopefully they've fixed that.
I still say that the "issues" you had were 100% your fault. Some of the issues could've been alleviated with a cursory look at the documentation. However, it's good that the Laravel ecosystem is improving these things for JS devs. Especially less experience devs I wouldn't necessarily be able to easily navigate some of these differences compared to JS framework but with the experience Theo has I think a lot was on him.
I'm not a good developer, but I find PHP easier to work with than JavaScript. The JavaScript ecosystem is complicated, with each framework and library having its own quirks that are hard to remember. On the other hand, PHP is straightforward and easy to practice. However, when comparing PHP and JavaScript, the Phoenix framework stands out. It's not the fastest, but its concurrency and fault tolerance offer a great developer experience, even better than Laravel or Next.js. If Elixir, which Phoenix is built on, could compile to machine code or interact directly with hardware, it would become faster while keeping its advantages of concurrency and fault tolerance.
I used to love Laravel I got into programming because of it, but I grew a disliking for PHP because of it's machine specific config, inconsistent behavior across different machines and bad typing (compared to TypeScript). Especially when getting into microservices and monorepo's it becomes hard to manage it. But the biggest annoyance is not being able to sync your "server side" data model with your frontend. It is possible with `spatie/laravel-data` (thank god for Spatie) but my colleagues refuse to take that approach :(
The little rails dig at the end got me haha. As a Laravel to rails convert, Laravel is not ahead of rails, at all. Onboarding, sure, docs - hell yeah. But the gems ecosystem kicks ass and Laravel is actually way more “on rails” than rails, which is part of the reason prompting me to jump ship. Laravel in places has tons of boilerplate and fluff and brittleness in a way that rails just does not. Rails actively encourages you to go off the beaten path when you need to and provides excellent tools (plus everything in the Ruby ecosystem and stdlib) for getting there. Laravel is utterly awesome and I love it. But I prefer rails.
Rails + Inertia should provide something similar to what Laravel has, it's just not out of the box. And comparing to Rails is kind of stupid, Rails went Hotwire way by default which is different direction and for non-JS devs that would be way more attractive way. For JS dev with zero Rails or Laravel knowledge - as a Rails dev I can admit, Laravel might be easier to start.
Yesterday it took me 2 hours to setup laravel cms statamic on my Windows box. The tutorial say to use some kind of tool, then composer etc. For comparison it took me less than a minute to setup a dotnet cms (pyrahna). After multiple try I understood what they intended to do and was able to run laravel app from scratch with command line only. I experienced the same thing on my Linux. Not following the tutorial is faster and simpler 😅😅😅
Don't worry its not Laravel thing, but statamic, I am with laravel from v4 and it takes me few minutes to set it up on different machines. I recently tried statamic and it took me hours as well, issues with Database, then I tried to deploy on a server and had issues with composer not downloading all files and missing come static .json files... ughh, the whole cms feels unfinished.
The lack of a typed object literal syntax is baffling considering how many other features they add to php. Setting properties one by one and having partial incomplete state makes the language totally suck once you've done FP in other languages.
Waiiiiit what ? We can have a react app in laravel ? I left laravel for react, how tf no one told me that before. That was the way to escape JS framework decision hell, and no one told me that.
@@desLunes Learning another DSL is escaping JS hell? Svelte just went back the React way, while having their own weird syntax. Have a look at VanJS once - it is simple, the framework is barely 250 lines of code, weighs around 1.2kb, and you can easily understand how it works internally.
What is the nuance? If you use React as a 100% pure frontend App, you only need to interact to the backend through http (i.e. rest, graphql) If you use Laravel mainly for it's backend power, then you can build it easily to be accessed over purely http. .. Laravel ALSO has a fully in-built frontend system which would replace react or (I would not recommend) mix it with react. the reason is that React and Laravel's **frontend** parts will simply try to be boss over the features that bind front to back, that's it. they can work together, but many feature within the frameworks rely on being able to take full control over your entire javascript runtime which is below all of it (the browser engines, where chrome and most of js frameworks share node.js at the core, and firefox and Apple have their own, Microsoft had their own but switched over to google's engine)
@@guled669so they did add it? and you are complaining We had Devise anyway, and many other options. Cant say I have seen the same stability and features on javascript
He would never. The attitude in rails is “this is the default, you can use it or not, whatever” Which is both great at times and also annoying as shit.
@@EightNineOne at this point I don't even understand what's his gripe with Rails is. Rails works with Inertia just fine. Rails has it's own Hotwire aka HTMX style variation so any non-JS dev would be way more happy with that solution.
@@EightNineOne this is honestly overblown too, people act like you cant use any gem you want. Or structure it how you like. Or do metaprogramming. It's weird. It's only naming conventions and folder structures and you have those in next and most frameworks too
If you want to give PHP a chance, learn PHP first then. Frameworks in general tend to change the way how to resolve problems. Specificly Laravel does use totally different paradigms than simple PHP or even other Frameworks like Symfony or Slim. So you either wanted to give Laravel a try, or you want to take a look at PHP. Laravel development is many times so abstract, that it feels a lot like you're coding Laravel instead of coding PHP. Similar as programming an app in Rails instead of plain Ruby.
By being dumb, I made a project worse for everyone! Because instead of seeing how I was struggling and helping, they blocked anyone from ever asking for help again. Which.. like.. jesus, I get "a noob is annoying" but you could've just blocked ME. Instead, they blocked everyone. To be fair, it's probably better in the long run because now people know not to try to interact with those devs. But like.. yikes. It's kinda crazy how things can go sometimes.
not hating intentionally, but..... ive been using laravel since v4, the docs have always got better each time i come bck to set up another project. after this change i struggled so much finding the info i needed as it had been over simplified :(
Lets return to 2007 when needed to install a web server with WAMP just to run laravel new and scrap the project. yey. but theres a pro package, 99 pound plx
It always had this level of simplicity to set up, never more than a couple of commands. I’ve been using Laravel since v4 (it’s v11 now), Theo just bungled the install originally so badly he had to delete his stream lmao
@@rcnhsuailsnyfiue2 I used php a bunch for other project's like drupal and WordPress never had any problems with setup, however I can see how someone could
The same for me :-). I wrote a comment, that I would love to see how Theo is setting up a symfony-project, trying the more professional concepts of php, somehow my comment got deleted 😅
@@GGGGGGGGGG96 I have tried Laravel a couple of times in the last 10 years to give it a try. Last time around 2020. It is nice for prototyping and small projects, but I would never use it for a professional project. Yes, the ecosystem got everything for you, but I would always use symfony for it. Way better structured(ii often find laravel code to me a mess for bigger apps),better security, better to configure for special use cases, modular, Hotwire integration, better docs.
@@GGGGGGGGGG96 "trying the more professional concepts of php", symfony is objectively worse than laravel in nearly every way. so i'm not sure what you're saying. there are many reasons why people prefer laravel over symfony.
They're both good in their own way. Laravel is great for quick setup and has nice modern features, while Symfony is my go-to for more custom projects or when i need more control and it has an awesome cli
Just checked sevalla web page lag so bad!!, doesn't scroll well, clicking and scrolling doesn't work properly. That feeling when you try to work on something when your CPU is 100%. Hope they see this and fix it.
@@danarseptiyanto4066 they're using a canvas, which is probably doing something computationally expensive. It is hidden behind the background. What for? Fingerprinting, probably? This site breaks on LibreWolf when WebGL is disabled.
"Experience dev who fails to setup php and laravel" dude, laravel and php is so easy to setup, I think the "experienced" part from your sentenced can be removed...
For the love of God, why don't these guys push PHP to support generics? It is like the only thing drove me away from Laravel, its absence is just way too painful