I have an idea for a side project and now I'm analyzing different options for backend to serve the Flutter mobile app.<p>I write Go professionally and it will be generally easy to provide REST endpoints backed by Postgres as storage.<p>That said, I will also need to take care of user registration, authorization, content management, etc.<p>I am not very much experienced with Django, but it's a very popular choice in one-man startups. It also seems that there are many more ready components and production-ready libraries for Django and Django REST.<p>What backend stack would you choose today?
I don't know Go that much, but given you're a Go dev', why not using a "full-stack" framework to help your reach a better productivity ?
If you are good at Go, use Go.<p>I write a lot of Python using aiohttp, I have a lot of fun doing it (WebSockets!), but my experience is that it's really problematic to hand off Python code to somebody else to maintain (compared to, say, Java or Javascript) and I've been told that aiohttp multiples the problems by a lot.<p>Some very early web frameworks like the one pushed by<p><a href="https://en.wikipedia.org/wiki/ArsDigita" rel="nofollow">https://en.wikipedia.org/wiki/ArsDigita</a><p>put authentication first, I wrote one of my own and the world just did. not. care. Circa 2002 there was a lot of shovelware like PHPNuke that had a single auth system for a large number of low-quality applications. My paradigm at the time was to have a centralized cookie-based auth system that had a very simple (often about 50 lines of code) cookie handling module that could be ported to any development environment. The UI for registration, password resets, and all of that were written in PHP but the rest of the application could be Java, ColdFusion, Perl, WiTango, or whatever.<p>Frameworks like this never really caught on until around 2013 when they were coupled to a third-party SaaS vendor which would handle login for you. This was pretty convenient but I was always telling people... Look this is a non-starter because the company is going to get acquired and go out of business but they went ahead and did it anyway and then they went out of business. Don't fall for that, please.