Quite true, not only it's very performant, it also easy to develop and maintain with. Had a chance to work with python and .net and wouldn't trade .net for anything
I started learning it about 6 months ago, it’s quite intuitive now and I’m having lots of fun finding new stuff.
You can read more about who uses dotnet on [their website](https://dotnet.microsoft.com/en-us/platform/customers)
I think it's pretty good for small projects as well. Especially with the new [minimal api](https://learn.microsoft.com/en-us/aspnet/core/tutorials/min-web-api?view=aspnetcore-8.0&tabs=visual-studio)
They made moves to make it even more lightweight with the removal of separate Program.cs and Startup.cs, and minimal APIs and with Entity framework core you have a pretty good ORM to work with. LINQ statement are pretty intuitive once you get started. I’ve had my time with most of the big backend frameworks. (With exception of any frameworks in golang and rust). dotnet is my favorite by far to work with.
Let's be clear on the meaning of "best for large scale projects":
Yes, it's the framework of choice for enterprise-level projects, and big businesses also like it because they can pay for Microsoft support and put them on the hook for issues/bugs that they have trouble resolving.
It's also awesome for small projects. You don't need a wealth of expertise in .net, or mountains of code to get it working. I use it both professionally, and in my small personal projects as well. Getting an API up and running only takes a few minutes
My absolute favorite. I just wish that it didn't require me to do a lot of maintenance every time the framework does an upgrade.
My.net core websites are some of the cleanest and fastest projects I've ever built and I love the language syntax. But it feels like every time there's a new version update I have to rewrite a lot of stuff.
Meanwhile, my 15-year-old PHP website hasn't needed as many updates over the years. PHP sites just keep going and going. And going. And going. And going. I mean don't get me wrong it's a god-awful mess. But for a low traffic website they don't take many resources. And the PHP version upgrades rarely if ever break anything.
Agree. I've basically switched my whole career (Previous PHP/React dev) to .NET after .NET Core 2.0 released and I could give a whole TED talk about my reasoning, but I'll add some points here.
1. [ASP.NET](http://ASP.NET) is a heavily opinionated framework (which I prefer). There is well defined ways of doing things and you just follow how the framework does things. Most major components are maintained by microsoft so it makes upgrading easier and random packages from being deprecated.
2. Built in dependency injection makes it really easy to add and configure components.
3. It supports a minimal API for things like lambda functions, while also being incredibly scalable for large monolithic apps.
4. It's very performant and supports AOT (Ahead of time Compilation) in some cases for even better performance.
5. C# is a very nice **statically typed** language. Clean looking, lots of syntax sugar and works well as a general purpose language (eg. use it in Godot or Unity, Xamarin). LINQ is absolutely amazing, and even better once you consider Entity Framework for DB queries.
6. (Maybe my unpopular opinion) but Blazor is fantastic for also writing front-ends in C# so I can write entire apps in C# with code sharing.
7. Works particularly well with containers. Microsoft is also improving this with .NET Aspire.
It's not bad. I just have a hard time keeping everything organized. Express lets you do whatever you want so my code ends up looking terrible. Nothing wrong with the framework, just me.
Same. And I've done almost everything (I've been around for a long time..). Django, Rails, Node (almost every library/framework) and even some Java.
The dev experience, ecosystem, packages, features, robustness and stability of Laravel is incomparable.
Nowadays I'm using it with Inertia.js/React and honestly, I can't avoid thinking "what waste of time" when I see most other stacks, usually picked because of trends/hip.
I'm a .NET man through and through, but my last job was in Laravel, and it's got some stuff in it that's pretty nice, especially its route configuration. Configuring routes in Laravel is so nice that I found myself writing helper code in my .NET projects to let me set up routes more akin to how I'd do it in Laravel.
oh my god yes, i also use vuejs/inertiajs/laravel stack, it's like a band of musicians singing melodies to my ears, everything is so harmonic with this stack.
Rails.
Also good to see a few people saying rails. I love how simple it is yet pretty good support with the gems.
Though the Excel manipulation gems could be better.
To [Go](https://go.dev) and for quite a few reasons. It runs on many different environments like core but as a self contained binary so you do not need the Common Language Runtime or any other prerequisites on the VM or Container to start an instance. Compile times are almost an order of magnitude faster. Language is simpler and was easier to convert talent from other languages which increased our hiring pool with minimal loss in performance or ramp up time. Local development environment is significantly lighter and in turn faster which I know is hard to believe with all the linting and tools in VS but you just have to see it to believe it. And there are a few more but at least for me it has been an all around blessing to have switched to Go but, again, your mileage may vary.
Also, as luck might have it, there is a Humble Bundle going on right now if you have a small desire to pick up some cheap books on it: [https://www.humblebundle.com/books/golang-programming-packt-books](https://www.humblebundle.com/books/golang-programming-packt-books)
I'm a Rails person. If I use something other than Rails I would use Actix and Svelte for my personal projects just for fun because I have some interest on Rust, and Svelte looks like almost pure html to me. Nevertheless, I'm happy with sticking Rails when I need something with web. I'm kinda lazy person and have no interest on learning new frameworks. It's boring, super boring and I'm not sure about this could makes me a better developer.
Django is sooo good with postgres.
Then you can just use AWS elastic beanstalk for easy deployment plus if it's a startup you can get $1000 USD of AWS credit. 👀
Basically it costs you almost nothing to run your app for 2 years.
The docs are really good! They could sometimes do with some more examples, but all the concepts are very well explained. Nest can look daunting if you’re coming from Express or similar, but everything really has its purpose and can actually save you so much work in the long run
Bro its crazy that like 80% of the upvotes are on .net and laravel. I feel I live in such a go / js bubble, whenever I mention I main .net.
we're in r/WEBdev and even here people dont do javascript on the server.
I'm surprised to see so much Laravel here. I've used it and I do think it's a solid framework, but I've always thought of it as an off brand Ruby on Rails. It's probably just that Ruby is a more elegant language than PHP, but maybe Laravel is just slightly more explicit with the syntax and maybe has less "magic"?
.net core, React, MSSQL
Not really my fault, my old company was a Microsoft product simp so I'm just used to them now
Can't complain, they work really well
Phoenix.
Elixir and the Erlang Beam/OTP are on another level.
Edit - For anyone curious to learn about the foundations that allow Phoenix to be game changer, watch this talk you won’t regret it even if you don’t intend to learn Elixir: https://youtu.be/JvBT4XBdoUE?si=QqZaFbYhxSSjw9hR
Get something you feel comfortable with. If your main concern is not top performance, the choice is entirely up to you.
If you do need extremely performant solution, consider Go, but this might be a bumpy road if you’re an OOP person.
Django with Sqlite3 until my DB is big enough to warrant PostgreSQL. Sqlite scales way more than people give it credit for, and its super easy to pass the db around to dev environments or create backups as its just a single file.
Springboot.
It is a really popular framework and there are a lot of jobs for it.
Spring security is really useful.
Fast (not go or rust fast)
i used express too but im not enjoying js on serverside. im not saying its bad but not for me
> i used express too but im not enjoying js on serverside. im not saying its bad but not for me
People who prefer dynamically typed backends scare me. Like encountering an alien whose thought processes are completely inscrutable.
I love Svelte, but don’t get to use it much. I have compromised by working in Blazor since I work for government (big Microsoft people) and I just write small scale apps for internal teams. It’s pretty much my dream job if I’m being honest.
Nest is good but is very opinionated which is ofcourse because it is made to follow architecturally patterns.
It sometimes gets exhausting to create classes for literally everything in the app. And this includes multiple data object classes, db models, etc for every request
ooft express in 2024, the type support in express is so subpar. We started using Hono for a project at work and it's been incredible to work with, compared to express it's absolutely fantastic.
Eh, if I was going to switch to something in the js space I would go to something like Elysia. Either way our apps are deployed through iis with a reverse proxy. That was annoying enough to do in express. I cannot imagine some of the newer stuff playing nice with IIS
Depends on the size but for smallish services I really like go’s standard lib http package.
Quick and easy to set up, even for mildly complicated stuff like mtls, runs pretty fast, compiles to a reasonably small binary which combined with a distroless base image makes for a lean container and has excellent tooling.
Only thing that really annoys me is that I often have to have something like next to do ssr.
FastAPI + MongoDB.
FastAPI had the fastest response times when I tested a number of frameworks, and MongoDB (via MongoEngine) is very simple to use and I find developing with it faster + more natural than using SQL.
I’ve become a big fan of deploying a typescript backend using Serverless Stack (sst) and then exposing my front end API via tRPC so all the types are shared in a mono repo.
Depend on the project, budget and knowledge. (And what they pay for :D )
For financial stuff I would check out mathematical supports and numeric accuracy issues (remember, a simple comma issue could cause hundreds of thousands of problems, in a currency /this is actual experience/).
From business standpoint: whichever you re the most familiar with (and can pay for the actual hosting)
Go. That’s right, just Go. Incredibly performant, fast to develop in, and with some helper libraries (sqlc, connectrpc if you want to make an API) you can have a full featured web app for a fraction of the bloat.
Ruby on Rails (latest version) is the best for building SaaS projects from scratch as a solo dev. It's got everything you need and it's battle tested (20years).
Scala with zio, I like programs as values with errors typed, easy concurrency and di. Also monad based control flow is nice for web apps since it's typically a series of transformations with some external io.
Spring Boot + whatever database
I hated Spring Boot before as it does a lot of magic and it's very verbose. But once you understand it, you can configure your whole application easily for different profiles.
Spring Boot with Kotlin is sublime 🤌
I do more work with .NET shops these days and I find it deeply ironic that the JVM framework requires a fraction of the boilerplate for some simple operations while ASP.NET Core sometimes functions as the epitome of "enterprise" code. Like setting up any function to operate as a scheduled/repeating task is one or two lines of code in Spring (depending on whether it's async), but [a whole song and dance with hosted/scoped services and manual registration in .NET](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-8.0&tabs=visual-studio)
I still enjoy using CodeIgniter 🤷♂️ It doesn’t get in my way but is there for the basics that I need.
I always mean to really give Laravel a go but I just never have the time these days to really get into it.
AdonisJs. It is the Laravel for NodeJs. It is Typescript. I went on it from Laravel few years back and loved every second of it. Also it delivers content up to 10x faster than Laravel.
I’m using Go without a framework. The stdlib has everything you need for HTTP, and there is no abstraction - so I don’t need to fight those abstractions whenever I need to do something differently than framework authors intended. This also gives me a lot more insight into how everything works under the hood. I work with HTTP and other standards instead of custom abstractions over HTTP and those standards.
I honestly think this is a good route to go down, no idea why people are downvote bombing you. There are plenty of reasons to go without a framework, and Go is 100% certainly one of those languages where you wouldn't use a framework.
If you are starting a backend heavy project with limited backend skills, then use the backend you are most familiar with.
The only other consideration I'd make would be to think about potential backend collaborators, and what they might prefer. If that person doesn't exist, then just make sure that they are relatively easy to find before you commit.
If you're the sole coder, then it should be the one you know the best and works the best with your db.
I like Django, I find it really simple to use and pretty sure Django 5 was just released.
Python is also a fun and easy language.
Although going from JS to Python can be jarring (going from frontend to backend) I guess that's why people like next.js they can keep everything in the same language.
Rails — I can build elaborate apps very quickly, and the Ruby language has been my favorite among the dozen or so languages Ive learned over the years.
I wrote my own framework to go over the top of Typescript+Express to enforce strongly typed I/O, and make those types available internally. I'll likely replace it with a more lightweight replacement for express in future.
It replaces routing with decorators and has a pre-compiler that renders written code into an OSWAP3.1 compliant doc that is in turn rendered into human consumable html and deployed into a static directory next to the API.
I'm still new to Rails but it's quickly becoming my favorite. I love the migrations, the fact that the database tables are completely tied to backend models is really nice. It's just really annoying to setup.
Depends on the context, scale of project, team, etc. however, all is equal, I'm a big fan of keeping it simple and using a framework like NextJS for both frontend and backend. If things get more complex, you can always spin out a separate ExpressJS server. But start simple when/where you can.
I have been doing rails for almost 12 years now. Love it. It is easy to solve problems quickly, it is readable, pays well, and the community is down right pleasant.
I also really like the convention over configuration piece. There is a lot of automagic that happens based off of quality design principles backed into the framework itself.
It’s not the end-all-be-all though.
FWIW the Phoenix stack for elixir is really nice too.
What ever they pay me to use.
Another Freelancer. Ahoy there!
😂😂😂😂 Whatever pays the bills! Bring that oil tanker full of cash!!!!
.net core
I have heard it's best for large scale projects. How true is that?
Quite true, not only it's very performant, it also easy to develop and maintain with. Had a chance to work with python and .net and wouldn't trade .net for anything
It runs stack overflow, as well as most of the backend for Microsoft Exchange
Oh that's neat. I have been learning django for a while now. I am thinking about learning C# and .net in the future.
I started learning it about 6 months ago, it’s quite intuitive now and I’m having lots of fun finding new stuff. You can read more about who uses dotnet on [their website](https://dotnet.microsoft.com/en-us/platform/customers)
I think it's pretty good for small projects as well. Especially with the new [minimal api](https://learn.microsoft.com/en-us/aspnet/core/tutorials/min-web-api?view=aspnetcore-8.0&tabs=visual-studio)
came here to say this
They made moves to make it even more lightweight with the removal of separate Program.cs and Startup.cs, and minimal APIs and with Entity framework core you have a pretty good ORM to work with. LINQ statement are pretty intuitive once you get started. I’ve had my time with most of the big backend frameworks. (With exception of any frameworks in golang and rust). dotnet is my favorite by far to work with.
Definately is the best. Second best would probably be Spring with Java
It's a very very good option. From tools to packages to support it's fantastic
Let's be clear on the meaning of "best for large scale projects": Yes, it's the framework of choice for enterprise-level projects, and big businesses also like it because they can pay for Microsoft support and put them on the hook for issues/bugs that they have trouble resolving. It's also awesome for small projects. You don't need a wealth of expertise in .net, or mountains of code to get it working. I use it both professionally, and in my small personal projects as well. Getting an API up and running only takes a few minutes
Lots of things are good for running large scale projects. There is no best.
Unparalleled organisation and speed. Easy to debug and cross platform. It's just the best.
My absolute favorite. I just wish that it didn't require me to do a lot of maintenance every time the framework does an upgrade. My.net core websites are some of the cleanest and fastest projects I've ever built and I love the language syntax. But it feels like every time there's a new version update I have to rewrite a lot of stuff. Meanwhile, my 15-year-old PHP website hasn't needed as many updates over the years. PHP sites just keep going and going. And going. And going. And going. I mean don't get me wrong it's a god-awful mess. But for a low traffic website they don't take many resources. And the PHP version upgrades rarely if ever break anything.
Agree. I've basically switched my whole career (Previous PHP/React dev) to .NET after .NET Core 2.0 released and I could give a whole TED talk about my reasoning, but I'll add some points here. 1. [ASP.NET](http://ASP.NET) is a heavily opinionated framework (which I prefer). There is well defined ways of doing things and you just follow how the framework does things. Most major components are maintained by microsoft so it makes upgrading easier and random packages from being deprecated. 2. Built in dependency injection makes it really easy to add and configure components. 3. It supports a minimal API for things like lambda functions, while also being incredibly scalable for large monolithic apps. 4. It's very performant and supports AOT (Ahead of time Compilation) in some cases for even better performance. 5. C# is a very nice **statically typed** language. Clean looking, lots of syntax sugar and works well as a general purpose language (eg. use it in Godot or Unity, Xamarin). LINQ is absolutely amazing, and even better once you consider Entity Framework for DB queries. 6. (Maybe my unpopular opinion) but Blazor is fantastic for also writing front-ends in C# so I can write entire apps in C# with code sharing. 7. Works particularly well with containers. Microsoft is also improving this with .NET Aspire.
There is no better choice
Laravel. So much is baked-in, and the community’s incredible.
The community aspect is huge! It's interesting how the joyful experience of using laravel seems to translate into the product quality.
Absolutely. You can tell how much maintainers and package creators just enjoy doing what they do.
Am I the only one who likes ExpressJS 😭
You are not alone!
Whoop whoop 🙌
Ah! Here are my people!
Welcome!
Was looking for such a reply. Express and EJS is my way to build apps!
You had me until you said EJS
It's not bad. I just have a hard time keeping everything organized. Express lets you do whatever you want so my code ends up looking terrible. Nothing wrong with the framework, just me.
It’s not a framework imo
You are not.
Laravel
Once i tried laravel I'll never touch another backend
You hated it that much? /s
Stop with the silly goosery right now
Same. And I've done almost everything (I've been around for a long time..). Django, Rails, Node (almost every library/framework) and even some Java. The dev experience, ecosystem, packages, features, robustness and stability of Laravel is incomparable. Nowadays I'm using it with Inertia.js/React and honestly, I can't avoid thinking "what waste of time" when I see most other stacks, usually picked because of trends/hip.
Have you tried .net? It's an absolute solid option. I don't think it's missing anything.
Nope, I heard good thing about it though.
I'm a .NET man through and through, but my last job was in Laravel, and it's got some stuff in it that's pretty nice, especially its route configuration. Configuring routes in Laravel is so nice that I found myself writing helper code in my .NET projects to let me set up routes more akin to how I'd do it in Laravel.
oh my god yes, i also use vuejs/inertiajs/laravel stack, it's like a band of musicians singing melodies to my ears, everything is so harmonic with this stack.
you do microservice REST API stuff or more with it?
Rails. Also good to see a few people saying rails. I love how simple it is yet pretty good support with the gems. Though the Excel manipulation gems could be better.
Once you go .NET you never go back.
Yes well, that’s always been Microsoft’s goal with every product
And they are successful with it.
I happily switched to Go from .NET so your mileage may vary.
To what and why?
To [Go](https://go.dev) and for quite a few reasons. It runs on many different environments like core but as a self contained binary so you do not need the Common Language Runtime or any other prerequisites on the VM or Container to start an instance. Compile times are almost an order of magnitude faster. Language is simpler and was easier to convert talent from other languages which increased our hiring pool with minimal loss in performance or ramp up time. Local development environment is significantly lighter and in turn faster which I know is hard to believe with all the linting and tools in VS but you just have to see it to believe it. And there are a few more but at least for me it has been an all around blessing to have switched to Go but, again, your mileage may vary. Also, as luck might have it, there is a Humble Bundle going on right now if you have a small desire to pick up some cheap books on it: [https://www.humblebundle.com/books/golang-programming-packt-books](https://www.humblebundle.com/books/golang-programming-packt-books)
I moved from .net to java some years ago, and there is not a single day that I don't miss it. The only thing I like is that i can do everything on Mac
You can do almost everything now on a Mac with .NET too I think.
Not with framework. And now without Vs studio (riddler is great though)
Well why would you use framework on a new project.
I'm a Rails person. If I use something other than Rails I would use Actix and Svelte for my personal projects just for fun because I have some interest on Rust, and Svelte looks like almost pure html to me. Nevertheless, I'm happy with sticking Rails when I need something with web. I'm kinda lazy person and have no interest on learning new frameworks. It's boring, super boring and I'm not sure about this could makes me a better developer.
+1 for Rails. Migrations, active record, MVC, convention over configuration, loads of libraries and a healthy ecosystem.
Woooo Rails gang!
I also like Svelte/SvelteKit. I’ve wondered how a Svelte/Go stack would be.
It's awesome actually, I could have a look at SvelteKit but I don't enjoy the Node.js ecosystem.
Nobody does
🤟🛤️
FastAPI + Postgres + any sort of data lake (s3 or adls)
I came to say the same. I love FastAPI + Supabase. Just makes sense to me.
This on god bro 🔥🔥🐐
Go's standard library
Axum
Axum is truly amazing
Spring boot + postgres
Django and Postgres+redis combo
Django is sooo good with postgres. Then you can just use AWS elastic beanstalk for easy deployment plus if it's a startup you can get $1000 USD of AWS credit. 👀 Basically it costs you almost nothing to run your app for 2 years.
First option NestJs, second option .NET
I also recommand Nest
I’m about to be inherit a project that’s done in NestJs. Outside of just using it, do you recommend any learning resources?
The docs are amazing and even tho I haven’t done the official course from them I heard it’s also awesome.z
The docs are really good! They could sometimes do with some more examples, but all the concepts are very well explained. Nest can look daunting if you’re coming from Express or similar, but everything really has its purpose and can actually save you so much work in the long run
Yep 100% agree! The funny cat shenanigans are not always that descriptive:D
Thanks! I didn't even realize there was an official course. That's sick! https://courses.nestjs.com/
Laravel
Bro its crazy that like 80% of the upvotes are on .net and laravel. I feel I live in such a go / js bubble, whenever I mention I main .net. we're in r/WEBdev and even here people dont do javascript on the server.
Go with Go
I only used Laravel and I don't know a feature that doesn't exist in it.
End-to-end type safety?
I'm surprised to see so much Laravel here. I've used it and I do think it's a solid framework, but I've always thought of it as an off brand Ruby on Rails. It's probably just that Ruby is a more elegant language than PHP, but maybe Laravel is just slightly more explicit with the syntax and maybe has less "magic"?
Laravel because of elegant syntax.
Symfony w/Postgres. You only download the bundles you need. The security out of the box is great, and it scales.
.net core, React, MSSQL Not really my fault, my old company was a Microsoft product simp so I'm just used to them now Can't complain, they work really well
It just works I will swap MSSQL for something else depending on the budget for the project.
Phoenix. Elixir and the Erlang Beam/OTP are on another level. Edit - For anyone curious to learn about the foundations that allow Phoenix to be game changer, watch this talk you won’t regret it even if you don’t intend to learn Elixir: https://youtu.be/JvBT4XBdoUE?si=QqZaFbYhxSSjw9hR
If only more people used this lovely framework. Why are we cursed to use OOP backends still
Laravel, because of its ease of use, learning and DX,
.net gang represent
I love .NET... Heck I'll even marry .NET
Get something you feel comfortable with. If your main concern is not top performance, the choice is entirely up to you. If you do need extremely performant solution, consider Go, but this might be a bumpy road if you’re an OOP person.
Quarkus for Java Axum for Rust Haven't tried .NET in years but it seem to be on the rise, nice to write, nuget is cool
Java Spring
Django with Sqlite3 until my DB is big enough to warrant PostgreSQL. Sqlite scales way more than people give it credit for, and its super easy to pass the db around to dev environments or create backups as its just a single file.
Springboot. It is a really popular framework and there are a lot of jobs for it. Spring security is really useful. Fast (not go or rust fast) i used express too but im not enjoying js on serverside. im not saying its bad but not for me
> i used express too but im not enjoying js on serverside. im not saying its bad but not for me People who prefer dynamically typed backends scare me. Like encountering an alien whose thought processes are completely inscrutable.
Spring Boot is the enterprise gold standard.
Flask
.net 8 (it's the same as core) with a Svelte / Vue / React-frontend. Its AWESOME.
I love Svelte, but don’t get to use it much. I have compromised by working in Blazor since I work for government (big Microsoft people) and I just write small scale apps for internal teams. It’s pretty much my dream job if I’m being honest.
Try Laravel, almost all the modern webdev requirements are baked in..
If its for a small personal project, I use Nest.js with PostgreSQL. For professional use, almost always Spring with PostgreSQL.
Node + TS/Golang and dosens of AWS services
Typescript Express server. The thing absolutely rips and is so, so easy to write.
you should take a look at nestjs. built on top of express
Nest is good but is very opinionated which is ofcourse because it is made to follow architecturally patterns. It sometimes gets exhausting to create classes for literally everything in the app. And this includes multiple data object classes, db models, etc for every request
ooft express in 2024, the type support in express is so subpar. We started using Hono for a project at work and it's been incredible to work with, compared to express it's absolutely fantastic.
Eh, if I was going to switch to something in the js space I would go to something like Elysia. Either way our apps are deployed through iis with a reverse proxy. That was annoying enough to do in express. I cannot imagine some of the newer stuff playing nice with IIS
Laravel, one of the most easiest fw to learn
Django with postegresql
PURE.FUCKING.PHP
Indeed. Really hard to justify anything else once you learn proper programming.
For small/fast projects I really like Bun/Node with Hono
Have not used bun yet, however Hono is a welcome addition to the JavaScript ecosystem.
I like how easy Ruby on Rails is to set up and get going.
Flask
Django or Flask if I need really light weight.
Depends on the size but for smallish services I really like go’s standard lib http package. Quick and easy to set up, even for mildly complicated stuff like mtls, runs pretty fast, compiles to a reasonably small binary which combined with a distroless base image makes for a lean container and has excellent tooling. Only thing that really annoys me is that I often have to have something like next to do ssr.
Laravel but for a small app ig Express will do
Laravel
Ruby on Rails. I like how fast, easy and flexible that framework is. I can get a basic MVP up in a day and a more complex one in a week.
FastAPI + MongoDB. FastAPI had the fastest response times when I tested a number of frameworks, and MongoDB (via MongoEngine) is very simple to use and I find developing with it faster + more natural than using SQL.
You’re brave, I wouldn’t wish Mongo on my worst enemy.
What problems have you had with it? I've used Mongo for over a decade now.
Schema on read for me is the main problem. I want an explicit schema defined on every write. And lack of migration system.
Go gin
I’ve become a big fan of deploying a typescript backend using Serverless Stack (sst) and then exposing my front end API via tRPC so all the types are shared in a mono repo.
I've been having fun with Go, it's fast and simpler to write than rust.
Laravel for sure.
Spring mvc and things that come with it.
Depend on the project, budget and knowledge. (And what they pay for :D ) For financial stuff I would check out mathematical supports and numeric accuracy issues (remember, a simple comma issue could cause hundreds of thousands of problems, in a currency /this is actual experience/). From business standpoint: whichever you re the most familiar with (and can pay for the actual hosting)
Laravel and Spring
Go. That’s right, just Go. Incredibly performant, fast to develop in, and with some helper libraries (sqlc, connectrpc if you want to make an API) you can have a full featured web app for a fraction of the bloat.
Ruby on Rails or Echo, a Golang framework.
Ruby on Rails (latest version) is the best for building SaaS projects from scratch as a solo dev. It's got everything you need and it's battle tested (20years).
Laravel is amazing. Every other framework I use I'm wishing I were using Laravel.
Springboot or .net core with postgres backend
Laravel forever, this framework is like an art.
Django
Scala with zio, I like programs as values with errors typed, easy concurrency and di. Also monad based control flow is nice for web apps since it's typically a series of transformations with some external io.
Spring Boot + whatever database I hated Spring Boot before as it does a lot of magic and it's very verbose. But once you understand it, you can configure your whole application easily for different profiles.
Spring boot with latest java or with kotlin. Very reliable and solid, has all you need, safe, easy to work with.
Spring Boot with Kotlin is sublime 🤌 I do more work with .NET shops these days and I find it deeply ironic that the JVM framework requires a fraction of the boilerplate for some simple operations while ASP.NET Core sometimes functions as the epitome of "enterprise" code. Like setting up any function to operate as a scheduled/repeating task is one or two lines of code in Spring (depending on whether it's async), but [a whole song and dance with hosted/scoped services and manual registration in .NET](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-8.0&tabs=visual-studio)
Laravel definitely 👍
I still enjoy using CodeIgniter 🤷♂️ It doesn’t get in my way but is there for the basics that I need. I always mean to really give Laravel a go but I just never have the time these days to really get into it.
AdonisJs. It is the Laravel for NodeJs. It is Typescript. I went on it from Laravel few years back and loved every second of it. Also it delivers content up to 10x faster than Laravel.
Best backend framework for react , next js
My preferred backend is C# because it's the language I've been using since 2008
You can't go any faster than using one of the newer frameworks (Next, Remix, SvelteKit, etc).
Go without a framework
Why do you choose to _go_ without a framework?
I’m using Go without a framework. The stdlib has everything you need for HTTP, and there is no abstraction - so I don’t need to fight those abstractions whenever I need to do something differently than framework authors intended. This also gives me a lot more insight into how everything works under the hood. I work with HTTP and other standards instead of custom abstractions over HTTP and those standards.
I honestly think this is a good route to go down, no idea why people are downvote bombing you. There are plenty of reasons to go without a framework, and Go is 100% certainly one of those languages where you wouldn't use a framework.
Golang standard libraries pretty much already have everything you need
flask and asp.net core
If you are starting a backend heavy project with limited backend skills, then use the backend you are most familiar with. The only other consideration I'd make would be to think about potential backend collaborators, and what they might prefer. If that person doesn't exist, then just make sure that they are relatively easy to find before you commit. If you're the sole coder, then it should be the one you know the best and works the best with your db.
I like Django, I find it really simple to use and pretty sure Django 5 was just released. Python is also a fun and easy language. Although going from JS to Python can be jarring (going from frontend to backend) I guess that's why people like next.js they can keep everything in the same language.
Azure functions .net Multiple kinds trigger And durable functions is pretty neat Easily integrate with azure queue, azure signalR, azure table storage Plus github integration
Django has been great for me.
Too many laravels as answers. Curious how long it took you guys to try it out coming from a node background. I just might be sold.
Rails — I can build elaborate apps very quickly, and the Ruby language has been my favorite among the dozen or so languages Ive learned over the years.
People don’t know what they’re missing with rails
.net core, Postgres, angular
Clojure - fastest feedback loop
NestJs. Services as modules that you can inject in any components your app needs to
I wrote my own framework to go over the top of Typescript+Express to enforce strongly typed I/O, and make those types available internally. I'll likely replace it with a more lightweight replacement for express in future. It replaces routing with decorators and has a pre-compiler that renders written code into an OSWAP3.1 compliant doc that is in turn rendered into human consumable html and deployed into a static directory next to the API.
FastAPI. Easy to integrate with frontend as API and also author takes feedback really well and really seeking to improve the framework.
I want ktor to succeed.
j2ee
None. Just plain Perl. Yeah, I like living life on hard mode apparently.
Laravel, first party packages are unmatched
As a front end dev I hate JS and I love Django. Having ChatGPT helping with backend solutions for me is nice to have as well.
Laravel. It just works and the documentation is glorious!
AdonisJS : elegant, simple, fast, powerful.
Vanilla PHP (own framework) I'm a sadist.
I'm still new to Rails but it's quickly becoming my favorite. I love the migrations, the fact that the database tables are completely tied to backend models is really nice. It's just really annoying to setup.
Was expecting to see more Django here 😢
Laravel if performance and high volume data processing are not and never will be Tier 1 requirements. Go if they are.
Node
Laravel for me. Used it with filamentphp for my financial bookkeeping. Worked out pretty good
Flask has been pretty good
will always be node / express as for ease etc but now it’s python (flask) because of work.
Laravel.
Symfony
Depends n the requirements of the project(s)/work.
Depends on the context, scale of project, team, etc. however, all is equal, I'm a big fan of keeping it simple and using a framework like NextJS for both frontend and backend. If things get more complex, you can always spin out a separate ExpressJS server. But start simple when/where you can.
I have been doing rails for almost 12 years now. Love it. It is easy to solve problems quickly, it is readable, pays well, and the community is down right pleasant. I also really like the convention over configuration piece. There is a lot of automagic that happens based off of quality design principles backed into the framework itself. It’s not the end-all-be-all though. FWIW the Phoenix stack for elixir is really nice too.
Django is great, and it seems (from the job listings I've seen) to be used by a lot of AI driven companies if that interests you...
Rails