Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

composermark's avatar

There is certainly something to be debated about the convenience or inconvenience of Laravel 8 and the current implementation of Jetstream, especially given the extra requirements of getting your head around Livewire/Inertia to make sense of it, plus Sanctum for the auth stuff. Since my only reference was this site's course on Laravel 5/6/7 - it has certainly delayed my first implementations while I get comfortable with it. Others I know have also commented on the steeper learning curve. But compared with the days of building everything from scratch, or developing your own framework and reusable components, it's night and day. Thankfully, I don't have much baggage, so the only question for me is whether the new approach is reliable, efficient and secure, flexible and adaptable to my UX and styling aspirations, fast to implement, and well supported. Livewire, Tailwind, Alpine and Laravel give me a lot of confidence - while the idea of being entirely dependent on the kinds of explanations found on StackOverflow, MDN or PHP.net for vanilla coding really doesn't, however much it has been useful for me to build in vanilla in the past and understand and appreciate what's actually behind the TALL stack.

@bestmomo I installed your repo to take a look. I appreciate the chance to compare. @vincej Maybe Bootstrap is better now than when I used it before - I'll take a look. But for time saving - clearly Tailwind doesn't trump Bootstrap in that respect. It's a different approach to styling as far as I can see, but an investment of learning time that may not affect your productivity or creativity if you're used to Bootstrap. Personally, I certainly don't have the time to spend 20 years refining my knowledge of CSS, PHP, SQL, JS or jQuery in order to create something as polished and solid as these frameworks allow me to be with only days of study and practice.

Tray2's avatar

Fetch is my favorite thing in JavaScript. That together with promises (async await) removes all the needs for using stuff like jQuery or Axios. Those helpers are great but when you need something really slim just to get or post some data from or to a rest service it's fetch all the way for me.

I'm kind of an old school developer as well, so I know how to write CSS and vanilla JavaScript. When designing for tiny devices 240x420 or 480x800 with a CPU from the stoneage you will need really can't expect performance using one of these nifty tools, so you need to slim it down.

I haven't looked that much into the new Laravel stuff yet. As for Tailwind, I'm a fan of it so far. I like the idea of designing your own component and the create a class from that rather than using loads of classes in the html.

Bootstrap is pretty nice but boring and it has some features that I really don't like, when you need to build a certain html structure to make it work as they intended. I much more prefer to keep my html to a minimum instead of adding loads of wrappers for styling.

Sinnbeck's avatar

I think livewire is fun, but I don't see myself using it on a full project. I have used some alpine for a single page in a project, and I might try changing it to livewire for some easy real-time validation (it is just a form). But I much prefer inertia. It much better fits my style of coding. I feel much more in control of what and when to send things to the backend, and still having all of laravels features work.

I absolutely love tailwindcss. I use it one every single project, and it has even allowed me to do a bit of design myself, as I find it very fast and easy to try things out, and just extract a component when I'm happy. Also I have always hated working with bootstrap (and the likes) way too much work fighting the styling of some element

vincej's avatar

I guess that is my challenge with tailwind.... I’m not a designer. I need prebuilt components out of the box.

1 like
davorminchorov's avatar

I like Tailwind because it gives me a lot of speed when designing pages but it takes a while to get used to it.

As for Livewire, haven’t tried it yet and don’t plan to use it in the near future because it makes you avoid JavaScript which is far more useful skill than knowing how to work with magic and new projects almost every week, maybe because I don’t really have my own business where I can experiment with things and promote them without suffering from losing clients / money.

The concept seems like a good one but returning html over the wire for lots of users seems like it is eating a lot of bandwidth (except for the cases where it is more performant and smart to use it).

I am more curious about how it handles heavy pages with lots of components, complexity, lots of users, and if it will help out in those cases compared to using JavaScript.

Most of the examples that people use it for seem to be very simple and it does not show us a better picture if it really helps on serious projects.

Livewire seems way too young to be proven as a serious choice for now. Most people seem to promote the pros but do not mention the cons.

2 likes
Fawzan's avatar

This looks like an interesting thread of discussion, I would like to contribute my thoughts for the first time as a very early adapter of livewire.

NOTE

  • I use TALL as my day2day stack.
  • I only use bootstrap 3 in one of my very old client projects.
  • I love Caleb & Renink.

I have been using livewire since Caleb released it alongside with L7. I have built four client projects and they all went well for the most time. I have tried intertia-js and it's very very cool. Personally I love these projects and their creators. They are putting a lot of effort and it really is making a change.

As far as the overall direction of Laravel is concerned, I am very much afraid that I don't feel positive at all. I try to follow Taylors work very closely and he continuously say that laravel new foo doesn't have any tailwind. You are free to use anything you want. Fork jetstream and make a bootstrap version type of comments, which in my opinion not a good thing at all. I am not saying that open source is equal to bootstrap+jquery, but when taylor picked up vue the entire community got dragged with it and it was indeed a welcoming thing in the community. Thinking from the new comers perspective, now if you want to do things in the 'laravel way' or the 'laravel pros way'' you need to do following things.

  1. TALL STACK?
  • Sponsor Caleb for at-least $12/mo to get access to screencasts
  • Buy TaliwindUI licence , at-least the $149 application UI kit
  • Learn AlpineJS, Livewire, Tailwind
  1. LIT
  • Inertia is not mature enough, It's still didn't hit a 1.0 version. ( I will pick interia over livewire anytime this happens)
  • Keep an eye on every small release (which might not be practical) when the project starts to grow.

Now one could say, why do this? follow your own stack. But we all know the value of something Taylor or Laravel Community encourages. They literally asked people to not use laravel/ui (though it was changed later) it really sent a message across.

I watched Taylors explanation video on youtube and he made it clear that he indeed listened to the community and livewire+inertia was the new fire and no body was asking for bootstrap etc. Well the point there is, it was perfect no body wanted to ask anything else. :/

And I see that some people are constantly saying that Taylor has a group of YES MEN around him and "I'm not Elite and my voice will not be headed" comments, for those people "What on earth is an elite?", the closes I can find is

https://laravelelites.com/application

thewebartisan7's avatar
...
.headTxt{float:none;width:100%;margin-top:15px;}
.personnel.resource.cMaterial{background:#57595b;}
.personnel.resource.lab{background:#ce2449;}
.left-course .whatList li.welcome h3{font-size:22px;}
.gdpr-List.newsFeedList li .profileDiv .contentWrp .readB{margin-top:25px;}
.innerService .serv li h2{font-size:24px;width:90%;}
.innerService .serv li .block h4{font-size:22px;}
....

This is not fault of bootstrap, but of developer who made it, which could do similar mess also with tailwind. This doesn't follow bootstrap best practice of OOCSS. Bootstrap use BEM methodology (http://getbem.com/introduction/ ) combined with utility classes since version 2, and with version 5 this are also extendible as you wish. It's first inception was in 2013 with so called "atomic css". So is nothing new coming with tailwind. Most of above css properties has utility class in bootstrap.

A good combination of both is the best way to go, where you define top level component and then down level use utility.

Also with tailwind you can't make everything with classes, you have to do some custom css. So you will end up in adding custom classes somewhere.

With tailwind above example would be converted also in one line, or in HTML component as class name or inside css @apply inline class name. So I don't see too much difference here.

davorminchorov's avatar

@fawzan that’s the biggest problem of them all, it’s the marketing which causes all of the drama.

Newcomers come to the docs and see only Jetstream as a valid option mentioned in the auth docs and they go there and try it only to get stuck shortly after.

Instead of mentioning all of the possible options, it’s Jetstream only but then people say “don’t use it, it’s completely optional” which is kind of contradictory at best.

People will love to use it if they see that it is already there but they won’t know about laravel/ui until they start googling or complaining on Reddit and someone mentions it to them as an option.

2 likes
mindtrigger's avatar

So far, I am loving it - but I'm also probably a prime example of the target market for it. I'm a full time IT professional who writes and maintains a business application for one of my biggest clients. They are using my app to run their day to day business from tracking leads, customers, support tickets, service outages, work orders and it also handles a lot of automation tasks for their network management systems. I've only been developing for a couple of years now. I honestly do not have time, at the moment, to take a deep dive on learning a front end stack like I have been able to do with Laravel because my "main" job is too demanding.

My experience is limited now having written a very small React SPA with a Laravel back end. I'm hoping to come back to React later on when I have time to take more courses.

So far, I'm absolutely loving the convenience and speed of TALL stack. I'm sure there will be times when it will fail to do what I need, but for a web app that is ~85% CRUD, it has been a dream come true for my needs.

1 like
vincej's avatar

I am a luddite. I write raw CSS and use classes and ID's. I also use Bootstrap 4. OK, OK, so I want to catch up with the times. I've read through the docs for Tailwind and read a few articles. Apologies to all the enthusiasts. I just don't see the point. For me, it is exceptionally verbose. To overcome it's verbosity and the need to repeat the same syntax, I looked into utility classes. A load more complexity. For me, Tailwind is a solution to a problem that no longer exists. Ok, sure, agreed, back when we struggled with Bootstrap 3 or earlier, Tailwind could have really helped big time, however today with Bootstrap 5 you have all the utilities Tailwind offers such that you can modify existing pre-packaged components or build entire new ones from scratch with none of the verbosity. More strength to those people who enjoy Tailwind. However, for this Luddite, I am going to stick with Bootstrap 5. Cheers.

Previous

Please or to participate in this conversation.