15 comments

[ 97.2 ms ] story [ 162 ms ] thread
There's a lot of money to be made out there using doing nothing but vanilla CRUD to make people's lives easier. Very, very few problems solvable by a webapp need special tools.
That's what the levels.io guy does too. Everything runs on VPS with PHP etc.

The hard part of product-market fit is product-market fit not technology-product fit. And yep, these guys are probably champs at it.

I personally lean towards Rails for web apps I might make too, but in the past there were lots of things that made it painful. Like the sassc gems forcing a 4 min build time for native extensions, shit like that. The ecosystem was whacky. But in the end, for web dev I'm far more productive in that.

But if you don’t already know a backend framework, Rails is probably not the best choice to learn at this point.
what is, then, in your estimation?
Rails is fine, any Python framework is fine, Spring Boot is fine, whatever the PHP hotness is is also fine, some NodeJS frameworks are also probably fine.
What alternatives would you suggest?
Very interested in this, if I could find something 50% faster with 80% the functionality/maturity of Rails I’d do all new projects in it.
If you’re OK with Elixir, I think Phoenix hits those points pretty well. Maybe not everything is a ‘gem install’ away, but hex is no slouch.
Thanks! I'll look into it.
Productivity out of any framework will be driven by your familiarity with it. They all have their warts and rough edges that will take hours to fix and workaround.

Learning a new framework has value in future projects. Definitely not for the product you plan to ship next.

I can't see any strong reasons performance or otherwise to abandon one modern framework (PHP, Node, Python, Ruby, Java, C#) for any other. Difference in cost is again minimal.

The best option is the one you know best already. Learning a new one always helps you grow.

> What alternatives would you suggest?

Can't speak for OP, but it feels like every mature language/runtime out there has a framework or two that are popular.

Ruby has Rails: https://rubyonrails.org/

Python has Django: https://www.djangoproject.com/

Node has Express: https://expressjs.com/

PHP has Laravel: https://laravel.com/

Java has Spring (nowadays Spring Boot in particular): https://spring.io/

.NET has ASP.NET: https://dotnet.microsoft.com/en-us/learn/aspnet/what-is-aspn...

This can change with time, of course, but I'd say that it's hard to go with any of them, even Ruby on Rails is pretty good in most respects, as long as you don't try to fight what's idiomatic in it.

As for the performance, having a quick look here might give a very vague idea (though the code for those benchmarks is sometimes optimized a bit too much), though running your own is best: https://www.techempower.com/benchmarks/#section=data-r21&f=z... Also have a look at the filters for other stacks!

It’s contextual. If you only know JS that eliminates the PHP, Ruby, Java, Rust, and Python options unless you want to learn a new language.

The JS ecosystem has Express, but that’s pretty lightweight. I think the sweet spot is probably leveraging SSR frameworks like Next and SvelteKit if you want something with “batteries included”