I've been wanting to get more confident with web development for a while now, and am gradually getting more comfortable with frontend (HTML, CSS, JS). I'd like to learn more about backend, but honestly it's kind of intimidating how many options there are out there. What I'm looking for some guidance on is: how can I pick a web stack/framework, while minimising the amount of new things I would need to learn all at the same time in order to get a working solution quickly? (I'll clarify below what I know already below)
E.g. if you told me I needed to learn the MEAN stack I would say "That's going to be very difficult, as I've never used MongoDB, Express, Angular or NodeJS, so I would have to learn four new things at once". But I can use MySQL and SQLite. I don't want to get demotivated by overloading myself as I know I'll give up if that happens.
I want to be able to develop web apps for fun. In particular at a minimum I want to be confident in building a basic web application that interfaces with a database. I don't mind how exactly I go about that, but again want to make it as simple as possible for myself.
My current level of experience
- I have good experience working with Python (so Django and Flask is an option)
- Are there any real disadvantages on using Python for the backend? E.g. is Django + some DBMS the main thing I need to get a web app + database?
- Somewhat reasonable competency with GoLang
- I'm very much at a beginner level with JS (for frontend too) but want to develop here too.
- So Node.Js is an option, but from Googling it doesn't sound like it can interface with a database out of the box - you need something else with it?
- I'm comfortable with MySQL/MariaDB, SQLite and SQL in general (I can probably swap out the DBMS, but nicer if I can use one of the ones I know)
- I can use Linux and bash but would much prefer to develop in a Windows environment
- I'm comfortable with HTML and developing my CSS knowledge.
- I've used PHP and Perl in the course of my work and could pick them up again if needed.
Basically I just need some help in understanding and narrowing down the numerous options based on my level of experience. I'm grateful for any kind of input.
Also if there is a better forum or place for this type of question, please let me know.