For quite sometime I have been planning to start a tutorial blog series in web design to help college students start freelancing during/just after their graduation. I am really motivated by people like Bill Gates and Mark Zuckerberg who started their career during their college days and didn’t bother taking a degree, because I think knowledge and skills are more important than a college degree. Nevertheless a college degree is very helpful to shape your career.
For this course to make better sense it is preferable that you are an engineering student or in any other course related to computer science. But this is not a requirement, anyone who is willing, can learn web design.
Firstly we have to keep in mind that a website is essentially a software, which runs on top of other softwares which interact with the hardware(computers or mobile devices). A website cannot by itself interact with an OS like windows or linux. This is actually an advantage over other softwares like MS word. MS word runs directly on windows OS so it cannot run on a mac or linux computer. But a website runs on a web browser, so it is OS independent. The web browsers in turn interact with the OS, so there have to be different versions of the browser software to run in different OSs. But browsers already come with the OS, so we need not worry about it.
Languages like HTML(HyperText Markup Language) are called “Markup” languages because they tell the browser how to stack up the contents(text/images etc) on a webpage. CSS(Cascading Style Sheets) defines rules to style the layout of the page. It is called “cascading” because we can put one stylesheet over another in a cascading manner and the last style rule of any element takes preference over the previous rules for the same element.
At first websites were used to display information to the user. They were called static websites. With the evolution of the internet, websites needed to interact with the users like regular softwares. For this purpose server-side languages like ASP, JSP and PHP etc were developed and “programs” were written with them.
These programs run on the server(a remote computer) and implement logic to interact with the viewer of the website. These remote computers actually have softwares called “servers” like Apache, Tomcat, IIS etc. on top of which server side programs run. This is similar to running html on web browsers.
Keep in mind that web browsers can understand only html, so responses generated by these programs on the server are sent to the user’s web browser as html. The exchange of data between the user’s computer and the remote computer(server) is governed by a protocol(set of rules) called HTTP(Hyper Text Transfer Protocol).
Here I’d like to advice you to read a book on CCN(computer communication networks) to better understand the underlying workings of the internet. I neglected it during my graduation and I paid for it.
If you liked this article please comment and show your support and interest so that I’ll be motivated to continue this effort. Like our facebook page if you haven’t already.
P.S. There are a ton of awesome articles/video tutorials on the internet. I personally learnt web design through those. So please check out those too. If you want me to start a discussion forum, comment below.