So yes. We had an idea. A requirement. But where & how to begin ? We knew there are plenty of online website builders which allows to create site in 5 mins. We explored couple of them, of which one suited our needs. We started collecting the requirements - How many pages , Layout , UI Design.
The initial idea in everyone's mind was a flashy animated website. So we picked up a template from website builder & started customizing it. Once the prototype was ready, we proceeded to the check out page, just to realize that the fee was way too high for our budget. First roadblock. Solution - Ok, lets build our own website. Google said building own website needs custom domain name , server storage & other technical jargons. Second roadblock. Solution - We hired, again a friend, the co-author of this blog. So I took responsibility for building the frontend & Jai to do backend.
Where do I start ? Heard Adobe's dreamweaver offers UI to build a website. Downloaded & installed the trial version. Opened the IDE & wanted a square like box where the websites content will be displayed. Drew a square. The code window showed something like <div id=""></div>. Problem of starting too early, I never understood what a <div> means. I decided to read about what HTML/CSS is , what web server is , what application server is & how communications happen in web. Downloaded several pdf's including Headfirst series for HTML , Css. Got a fair decent idea on the basics of HTML, especially understood what <div> is.
Ok for those who still didn't get a clear picture of what these jargon's are
HTML - This is what you see in your browser. Hit any page -> right click -> view source, what you see is a HTML. Some set of text enclosed inside predefined tags. All the browsers display HTML.
CSS - This is to style the HTML. Something like you want your Facebook profile picture to be on the top left corner of your page. CSS does that for you.
That's it for now. More about CSS on the following posts.
Ok for those who still didn't get a clear picture of what these jargon's are
HTML - This is what you see in your browser. Hit any page -> right click -> view source, what you see is a HTML. Some set of text enclosed inside predefined tags. All the browsers display HTML.
CSS - This is to style the HTML. Something like you want your Facebook profile picture to be on the top left corner of your page. CSS does that for you.
That's it for now. More about CSS on the following posts.
We decided to build the initial version of the site with static HTML pages so that it would be easy for learning + we will have something to deliver. Static HTML's are something like hard coded pages whose content will not change dynamically. Something like an "About Us" page in which the contents are written & saved directly as a HTML. Once requested the server just picks up the file & sends it across to the browser. No manipulation of the HTML, no adding any data to the HTML. Just what you saved in the HTML gets displayed.
On the other hand, dynamic web pages adds content to the HTML dynamically , say something like "Flipkart", when you request for a product, the price & the offers are not same all the time. These data are dynamically added to the HTML from database or any other source, every time when you request for the page.
To achive the same result using static HTML, you need to create and maintain HTML page for each flipkart product. This means creating more than 11 million pages, which is almost impossible. With dynamic pages, all you need is one page for a particular category ( say books ) inside which you can modify the values based on the book. (i.e) if the book is XYZ , change the price value to $10, if the book is ABC, change the price value to $20.
So this logic to determine which price to show for which book should be written in a application [Code ]. If there is a code, then obviously we need some place to execute it. If you are a Java developer, your code runs anywhere in a machine where JRE is installed. So you get a machine, install JRE , download & install the application & execute the code. But that is a desktop application executing in a single computer. If say another User -X needs to access the same, you need to install the same in User-X computer. Imagine
GTalk. This is a classic example of Desktop Application. To use the service, you need to install the GTalk software.
Building a web application, which means the code should be hosted in a server so that multiple users can use the service without installing the software. For example, the google chat services inside Gmail, is a classic example of Web Application. Everytime you login to google mail, you see that little chat window on your left corner, that code actually runs on google's server & not on our desktop. & remember you never installed anything in your machine to access that service.
Server which hosts this application is called APPLICATION SERVER. Any request to the application server, it executes the application logic & serves the resulting page to something called WEB SERVER. The job of web server is to handle HTTP requests from browsers & send back the pages to the requesting client / user [which is nothing but the browsers ]. If you have any application whose sole purpose is just to display the HTML content , there is no need for Application Server. On the other hand, if your web application has to do some business logic, you need a Application Server to do that, & serve the response using web server. In short, application server is to process your business logic & web server is to serve the HTTP request.
So I began writing my first static HTML.
~Prem.