Web Technologies
Apr 26, 2012
Internet seems to be the best innovation from human race. The architecture of the internet remains the same for decades, but the application and use of internet has got an unimaginable growth. To be precise, from 2001 to 2011, within a span of 10 years, internet users’ growth is 528%! (Source: http://www.internetworldstats.com/stats.htm). Web is the largest application in the internet. Every one of us is active user of at least 10 websites. Last decade saw a new revolution in the name of social networking which is still not over yet. Definitely web is the big thing which is going to rule the world for few more decades (Some say mobile is the next big thing; I would like to ask them to switch off internet in their ‘smarter’ phones and say it again).
Few years back when I was at college, I was thinking web is meant only for web sites. Basically I’m an algorithmic worm who wishes to solve problems and just to not presenting them in beautiful look and feel. Web was not appealing to me as it seemed just a presentation technology. One of my seniors was developing an application for managing all the details of students of our college and he was doing that in ASP. It did not fall into shape for me then. I was asking myself, ‘Is it a good idea to create an application using web technologies? You cannot install a web application just like that, you have to deploy it carefully’ and many more things were going on my mind. But when he showed me the final output, I was totally moved. All the difficulties in the development were worth. Once hosted in a single system, you can use it from anywhere using the network. Single storage point. So there are no problems in moving or updating data over different systems.
Well, if ‘What for this article is?’ is your question, the here is the answer. Most of the people aren’t aware of the technologies that exist in web and what to learn. While web gives such great opportunities, it is a must for us to know the common technologies end to exploit web in our career. Anyone can emerge out with an idea like Facebook or Google, all we need is tools to realize our ideas. So here I would like to give a small tour of web technologies
Technologies are pouring in the area of web. Every day there rises a new technology with a new name. Here I would like to group them into a few categories. Even if a new technology comes, then it should fit itself among one of these groups. I hope this kind of understanding keeps you up when you come across a new technology.
- Presentation technology
- Server side script
- Client side script
- Data carrier
- Database
Presentation Technology
It’s the simplest. What you see on your browser is given by these technologies. Whatever application you make it is all going to be received by the browser as HTML only. CSS (Cascading Style Sheets) makes the presentation appealing to the viewer. This has nothing to do with logic or algorithms. It is just presentation.
Server Side Script
Server side technologies are doing all the work. For example, say you are viewing university results. The server in the university does not contain one HTML page for each student’s register number; instead they generate the result on the fly getting the data from the database. So one have to write the program using any one of the server side technologies to generate the result page. This executes on the server. It is theoretically impossible to tell which technology is used at the server to generate the output by the end user who uses the website. It is all about logic and algorithms. This is a programmer’s meaty part.
Frameworks such as Struts, Spring MVC (in case of Java) are widely used to make web development easier.
Client Side Script
Client Side technologies were developed at first for doing small jobs such as validation of forms such as checking email ids are valid etc. But now-a-days the world is shifting more towards the client side technologies to produce great look and feel applications. JavaScript is the king of this area (almost all other technologies became obsolete).
In the above picture I have mentioned AJAX and JQuery along with JavaScript. In fact, it is wrong. AJAX is the technique used in JavaScript to send or receive data from or to the server without refreshing the current page. For example, espncricinfo.com updates the scores automatically without refreshing, that’s AJAX. And JQuery is just an API for enhanced look and feel, AJAX (and a little more). Just try JQuery, you will love it for sure. But AJAX and JQuery has become very important so that I mention it as client side technologies in the picture.
Client Side technologies are the toughest to master. They are not compiled, they are interpreted by browsers and so it’s very hard to find errors. But it is worth all the difficulty.
Data Carrier
As I said, updating a particular part of the page is made possible by AJAX. You can ask ‘In what form the server should send data to the AJAX request?’ XML came for rescue. The server sends the data in the form of XML and the client JavaScript processes the XML to make the necessary updates in the already loaded page.
JSON (JavaScript Object Notation) is an alternative for XML. It contains data in a different format and it is easily convertible into JavaScript objects, which gives it an edge over XML. Most of the sites, including Facebook, Twitter, Google+ extensively uses JSON.
Database
Last but not least, Database. In most of the web application, you would require to use databases extensively. MySQL is the most widely used database for web applications.
Learning these technologies isn’t a big task. Millions of tutorials are available throughout the internet to help you. All you need is just to spend your time to learn it. For those who are waiting for jobs, I would say its better to create your own job. Learn everything, build a web application of your choice, host it, and you can earn. I don’t think it was possible only by Mark Zuckerberg, Every one of us can do. If you don’t believe please check out 9lessons and its founder.