It’s a strange thing, the internet. I first encountered it when I was just a little boy. My maternal grandfather (may he rest in peace) was talking to his son/my uncle who was in Saudi Arabia at that time. And I was absolutely stunned that as my grandfather pressed ‘Enter’, my uncle could see what he had typed more than a 1000 miles away. The only internet we had at that time was a dial-up connection that gave a mere 2-3 KBps bandwidth, barely enough for a flash game to load.
But now, about 15 years later, I’m a Computer Science graduate working as a web developer in Lahore. It’s been an interesting journey to say the least. And the web has evolved so much that its almost impossible to sum it up in one article.
What was once a simple tool between Govt. institutions to share documents is now becoming the default application delivery platform of the world. The potential audience of the internet is reaching 4 billion people. That’s half of the world!
Yet, in my mind, the simplicity of the tool remains the same. I think that fundamentally the internet hasn’t changed that much and anyone who is looking to understand how it works can use my following 6-step thought pattern into how to think about the web.
Now you could use MDN’s approach to understanding how the web works
But I intend to offer a much simpler explanation. Here is basically what every single website in the world does:
- Show a form to the user
- Get data from the user via said form
- Save that data in a database
- Get data from the database
- Put that data in a template
- Show that data to the user
What do you see when you visit Google? A form which tells you what you want to search for. Facebook? Right on top of the page is a search field, and all the data you see in your news feed? data that’s brought to you from a database.
Almost every single website in the world follows the above 6 steps. Now, you could argue that most websites provide so many features other than the above, so how can I claim websites do nothing else? Well, I’m not saying that they do nothing else. But whatever they do must go through the above steps. The web is built up of lots of computers that basically request each other for stuff and then respond to each other with the requested stuff.
This has been the working model of the web for over 50 years now and it is not going to change. The underlying protocols and infrastructure has been set using billions of dollars and centuries of man-years. And as more and more of the office work in companies and corporations becomes dependent on the web, the better you can understand and utilize it the more you are valuable to the workforce.
So, to anyone who is looking to understand the web and become a web developer in 2018? Here is the order which I recommend you should study.
- Basic Computer Science
- SQL and Databases
- One server-side language (PHP, Python, Node.js, Java or Ruby) and one framework in the selected language.
- One CSS framework (Bootstrap, Material CSS, Semantic UI, Foundation)