I find Laravel + Unpoly a great combination.
1,678 karma · joined November 29, 2016
I find Laravel + Unpoly a great combination.
LOL. I'm yet to see a single SPA which can tolerate a bad network. You certainly have better tools to do it, but it still takes a ton of effort and nobody does it. So it ends up failing in worse ways because now the application just stalls and you don't even get the standard browser errors/timeouts.
Unless SPAs are built as "offline first" I haven't seen a single one which works better than a traditional MVC app in such conditions.
SPAs can be great for large teams with different skills/profiles, and large companies with a lot of money though.
For me this would be madness, I want the computer to achieve something, not to spend my days tweaking it.
I think they just tried to convert it to Linux for 1 year and that didn't work, which as I said, that's expected, it might not be the OS for you and that's fine. We're lucky we have options, and we are all not the same.
As I said in the comments, macos is for people that can accept the trade offs, that can adapt to a more rigid and propietary system in exchange for something that just works and allows you to focus on your actual work, and not on tuning your computer as if it was a hobbies sports car.
Again, nothing wrong with that, I've been like that in the past. Now I just prefer things that just work and I don't have to waste my time maintaining. We are all not the same, thanks God.
Definitely not a bare bones one (express, flask, Sinatra, etc...) And absolutely NOT an SPA.
Deploy on heroku until it gets expensive (like, an ops salary expensive) then move to AppEngine.
Also, with heroku, AppEngine, etc you have tons of documentation (official and unofficial) and resources. It is well tested and the exact same service runs thousands of businesses.
While kubernetes is like the react of the infrastructure world: you won't find two similar implementations. You need thousand tools configured around it to make it usable, and of course you might have docs about the individual pieces but you never have it for the big picture.
If you're doing anything serious, go with gcloud or AWS. Their support might suck as well, but 99,9% of the time the problem is your fault and not their service, because it is so widely used and so many businesses depending on it that they'll notice even the slightest issue on their platform.
What part of that comment says anything about layers or maturity?
By that rule I could compare rails to express and say they are about the same.
Same thing with Rails/Laravel/etc...people don't choose it because PHP or because Ruby , etc...the language doesn't matter at all, the tooling does matter it all.
https://laravel.com/docs/8.x/validation#rule-unique
How to do a unique validation in nestjs (didn't find it in the docs, so had to Google it):
https://gist.github.com/zarv1k/3ce359af1a3b2a7f1d99b4f66a17f...
No thanks.
This is still apples vs molecules to mount your own apples.
- Terrible templating system
- No equivalent to hotwire/livewire/liveview
- No built in jobs/scheduling system
- Insanely bad packaging and dependencies system
Its frontend solution is a 90s monty python's joke.
Rails, Laravel, etc are real full stack frameworks.
MVC all the way, because otherwise you're never going to finish it. Doing a separate backend + SPA is an insane amount of work compared to a traditional full stack framework. Just thinking about validations (both server and client) make my brain hurt. Also you'll have to rewrite the frontend before even finishing it given how fast the landscape changes.
And even being a small team and not just yourself, I'd only think of an SPA if 1) You need an offline first experience, or 2) You don't have full stack engineers at hand and you only have backend people which don't want to touch JavaScript and frontend people which only want to work with JavaScript..... but this is more of a people problem than technical one.
I've done a lot of Django in the past, then a lot of SPAs for the last 6 ~ 8 years, and now I'm back to Laravel + Livewire and I'm living in a dream right now. Everything is so easy that I feel I've been cheated the last few years.... so much time and money (from my employers) wasted...
I'd also add Django is great if you're building only a backend with it (and you have no frontend and/or it's an external SPA).
For full stack development, Laravel all the way. Just it's templating system (blade) is a joy to use compared to Django's templating system which feels stuck in the 90s.
I've worked many years with Django (doing old style MVC), then moved to do all the SPA stuff (worked with React mostly and some Vue). Now I'm back to MVC using Laravel and Livewire and it is simply awesome. If the decision is on me, I'm not going back. Laravel is awesome, and current day PHP is not 10 years ago's PHP the same current day JavaScript is not 10 years ago's JavaScript
Use a full stack framework, don't reinvent the wheel. Look into Livewire, Hotwire and Unpoly. Hire people that are neither JavaScritp fanatics, nor Go fanatics, nor Kubernetes fanatics. Hire people with an open mind and focused on building your product and not obsessed on whatever they think the best tech stack is.
Unless your new project is API only (has no frontend) then don't use Django. Django is great for building backends, but its frontend solution is a joke and that really feels like something from the 90s (that's why I recommend Laravel or Rails).
Regarding infrastructure, a Dockerfile and Google App Engine is all you need. No need to build your own kubernetes cluster for a project you're just starting out.
I'd avoid SPAs as hell. Just a total waste of my time/money and end user's resources. If employer wants to use his money for SPAs, I'd build them happily.
Elixir: Technologically "mind blowing", although all the nice things come from the Erlang VM and not from Elixir itself in my opinion. You will likely not find any job using Elixir, if you do it is going to be full of people just learning the language so the codebase will be very likely a disaster. You will miss a lot of libraries and you will have to write code for things you'd take for given in the PHP ecosystem. Be ready to fight your editor plugins (depending on which one you use, and the degree of IDEisms you're used to).
I understand you want to learn something new, so the most "radical" one here that will teach you more new things is clearly Elixir.
But other than learning purposes, If I were to build something for real, I'd stick with PHP and Laravel, it's an incredible productive, well documented and well thought out platform to develop in.
Laravel is a real "full stack" framework, it has a very powerful templating system (one of the best I've seen!) where you can do components instead of just includes. It has a powerful assets bundling pipeline, great integration with alpine, Vue, inertia and the super awesome livewire.
Laravel documentation is TOP.
As I'm not a fan of the SPA approach and still like frontend and building applications, I much prefer Laravel nowadays.