4 ms·
Everytime this questions comes up (and it comes up a lot especially on HN), the answer is almost always: start with the Language that you already know and then
by codegeek 5y ago
Everytime this questions comes up (and it comes up a lot especially on HN), the answer is almost always: start with the Language that you already know and then reverse engineer. For example:
PHP => Symfony or Laravel
Python => Django or Flask
Javascript => Node/Express
Ruby => Rails
Then there are others like elixir/Phoenix etc and then you can do your own in Go etc.
- hoofhearted 5y agoThis is the correct answer. With the addition of: C# => .Net Core
- veryangryrabbit 5y agoMore specifically, C# => Blazor using .NET 6. Their latest web framework running on the latest long-term support version of .NET
- keyle 5y agoI'd go one more, and say specifically Laravel Livewire. It's a pleasure to use and gives you the flexibility of having a reactive frontend. I do recommend dipping in Laravel first, before Livewire.
- gfxgirl 5y agoNode/Express != Rails, one is a low-level gives you almost nothing at all. The other is a high-level CRUD based framework.
- mft_ 5y agoAs an aside (and as a Python/Flask user on several past projects) I'd also recommend taking a look at FastApi. (https://fastapi.tiangolo.com/ https://fastapi.tiangolo.com/) I've not used it in depth yet, but from a poke around the overall design and syntax seem very nicely thought out (much more logical/intuitive than Flask, honestly) and it's very fast.
- staticautomatic 5y agoI like that following the idiomatic pydantic/data class style in the fastapi docs really forces you down the OOP rabbit hole and puts some guardrails around your architecture (unlike flask, where you’re free to shoot yourself in the foot however you want). What I don’t like is that fastapi gives the appearance of being batteries included, but the docs on the batteries tend to just point to example projects/templates that a beginner will look at and think omgwtf is all this shit (e.g. https://github.com/tiangolo/full-stack-fastapi-postgresql https://github.com/tiangolo/full-stack-fastapi-postgresql)
- engineerDave 5y agoThis is the correct answer.
- numbnuts 5y agoSomething like Next.js for JavaScript would be better. Express is too bare-bones for OP's criteria. It's bring your own batteries. Just trying to choose from all the batteries available is a full-time job.
- culopatin 5y agoAnything wrong with Spring? It seems somewhat intuitive for me for some reason. But I have no experience with the others
- chakkepolja 5y agoIn my experience, spring has been intuitive until you need anything slightly custom, or until layers deep configuration / reflection magic bites you. Other thing I didn't like about spring was that documentation was pretty sparse and didn't explain concepts well, it's either some hyper-specific tutorials or reference docs. (There are some good blog posts though, but I couldn't build a comprehensive mental model just following the tutorials). It's still what I reach for when I need to spin up a CRUD API quickly. Rooting for quarkus to become more mature though. (Recently tried based on someone's recommendation on HN).
- peanut_worm 5y agoProbably use Nest over Express if you want something complete like Rails. Express is pretty barebones, its not much more than a wrapper for Node’s http module.
- moystard 5y agoNest gives you a structured project with strong conventions. On top of that, their document provides plenty of recipes to get common tasks done quickly (authentication/authorisation, persistence, queues, etc). Very solid framework.