DEV Community


Posted on

I want to learn about web-technologies as a beginner to the web development scene

I've been using Python for a few years now mainly for scripting and for data science/machine learning hobbyist projects.

Now, I want to learn more about web technologies.

I really want to learn what's involved in building complex websites.

Some websites I thought were pretty interesting and would like to see what's involved in building them are:

  • A video game message board such as this:

  • Freelance site such as Fiverr

  • Private video chats like Discord or video streams like Twitch

  • Controlling robotics via online interface

  • Ecommerce sites

  • How browser pluggins work! How do people create adblock pluggins, or various types of pluggins.

and much, much more.

There are so many web frameworks and languages I'm not sure what I should be learning. I'm really confused.

Should I be learning Python sockets to understand more low-end stuff?

I've learned the basics of html, css and javascript.
I was thinking of learning Jquery and React, to learn more about front end, but it seems most of the complicated tech revolves around back-end tech.

I've learned a little bit about rest apis and crud.

It seems I need a backend language and a framework as well as
Since I know Python, I can go with Flask and Django.
However, I wonder if Django will be able to build those complex sites I have listed above.

From my research it seems Ruby on Rails as well as PHP/Laravel are also pretty popular. Are they easier to learn than Django?
Is Nodejs worth learning or should I go with Go instead?

Basically I am thinking of learning something really flexible.
Should I watch some lectures/courses on all of them to get an idea? Do they all basically do the same thing?

Then we have databases. I am thinking Sql as it seems to be the most popular?

For cloud tech and deployment I know of AWS and Heroku.

There is also a lot of web security tech that I am not sure I understand works. I am assuming recaptcha works with javascript and some database. There are also security keys.

As you can see I am kind of lost as to where I should begin.
I'm really interested in getting general overviews as to all of the tech involved when building some of these complex websites I have listed above, and would appreciate any guidance.

Thank you.

Top comments (5)

ericchapman profile image
Eric The Coder

Hi, I ask myself almost the same questions as you here my journey:

To make the story short, after a lot of testing I came to the conclusion that Rails and Laravel are very good to create full features web app from frontend to backend. Django can do everything Rails and Laravel can do but you need to use more 3rd party packages and will need more boilerplate code. Django strength is backend data-driven web app. Rails and Laravel can do as good but they also have better front-end features and more things include out of the box.

pymoondra profile image

Thank you for sharing this! You dev blog journaling your journey into fullstack seems very interesting.

simplegeek profile image

HTML, CSS, and JavaScript basics are an excellent starting point to understanding the "front end" side of the web. I personally wouldn't recommend trying to learn a front end framework like React or Angular until you have a pretty good grasp on the basics of vanilla web development. If you want to learn about the back end, my personal choice is Spring Boot, which is a Java framework for building RESTful apis. However, Django would also be an excellent framework to learn, and might work better for you, since you're already familiar with Python. I would recommend focusing on either front or back end and getting familiar with that one domain before diving too far into the other. The web dev world is so enormous that it can be easy to get overwhelmed trying to learn a lot of different things at once. Good luck!

pymoondra profile image

Thank you. I am actually going to be do a project with a friend, so I will work on backend and friend will learn about the front-end. I will just probably going over the basics of front-end for design implementation.