HACKER Q&A
📣 localfirst

Anybody else back on Laravel/PHP after 12 years of Express/Django/Flask?


After ditching PHP 12 years ago I headed for node/python/typescript based backend solutions like AdonisJS

Now I find myself installing Laravel 11 + Orchid + FrankenPHP + Livewire exclusively

I also realized 99% of time you don't need Edge/Cloud. Simply hosting your application on dedicated/VPS machine is enough. Also didn't feel the need to use React/Vue anymore. Livewire on Laravel covers 98% of use cases (for state/context heavy apps like editors maybe not).

Just looking back at the past decade I can't believe how much backflipping I needed to do only to find myself returning to the classics but realizing that its evolved to the point it can negate the need for node/python/elixir/exotic stacks.

FrankenPHP has probably been instrumental in my decision. I've been consulting and moving companies to serverless and I regret it (but they convinced themselves servers were boring), there is extreme cost savings not only on rental side of things but development.

It's also easy and cheap to find Laravel developers who no can replicate 98% Frontend engineer work (who also concidentally pushes for more backend logic)

I keep remembering, I'm not facebook or google, kubernetes, react, abstractions are not for me and I finally finding so much joy with Laravel 11/FrankenPHP/Orchid again.

Anybody else finding themselves in my shoes?


  👤 zer00eyz Accepted Answer ✓
I haven't written PHP in over a decade.

The frankenPHP thread and then this: https://news.ycombinator.com/item?id=40543438 popped up in the last week. Now your here pitching this...

A lot of the old guard of PHP left it behind for a few reasons...

PHP 6: A lot of php devs in the frankenPHP thread took issue with me mentioning this because it never launched. A lot of devs shook their head and moved on after 6 got shit canned. After having gone through PHP 3-4-5 change where we got all the juicy OOP features, while watching python 2-3 flail we realized that we had been sold a future that did not exist. Python 2-3 took the UTF8 hit, the fact that PHP wasnt going to was a sign that we were going to be stuck with MB string bs for a long time if not forever. There's a lot of folks that went to python when 6 got canceled and didn't look back.

Reuse of code: in this regard python and ruby were in a much better place for web code to be reused in CLI scripts, Workers, jobs... hell python ended up in a million other places cementing its win over ruby. This same "one language everywhere" mentality is why you see a lot of server side JS on the web.

While most of the PHP devs who were my peers at the time went to python or node I ended up picking a very young Golang. It has been a decision that not only did I not regret but a lot of those python/node devs are asking me how to bootstrap their golang experience.

Go, brings me the joy that early PHP4 did. When you just shoved a .php file onto a server. I get that same feeling when I ship out a product that was just the standard lib in go, or where I add in a bit of Postgres... That can be the whole stack for a working API... Mix in hmtx, maybe you want to use fancier templates (templ is one people like). I dont need a stack to do a project, my project dictates what I use, and candidly its very little.


👤 iceburgcrm
I've seen working with Laravel for years. I recently (Friday) released a Django version for my AI CRM builder (provide a few words and use ChatGPT to build a CRM)

I used packages with similiar functionality to Laravel (orator, Django Breeze)

Everything translated well. The choice of backend didn't matter as much as I thought it would.

Using VS Code compared to PHPStorm was the only part of the experience that felt degrading. Using PyCharm might have changed that.

I don't think it matters as much as it once did.

Laravel: https://github.com/iceburgcrm/iceburgcrm

Django: https://github.com/iceburgcrm/iceburgcrmpython


👤 meiraleal
That's surprising. Nothing in PHP would attract me to use it again. JS in the backend and in the frontend is a nobrainer.

👤 revskill
I just use node and webpack.