'Web Sites' vs 'Web Applications'

Clarifying the distinction will help you understand what you'll be learning ahead.

Scroll down...




Not everyone can agree what differentiates the two, but generally web sites are more about displaying static (unchanging) content and web applications require a "smart" server running code (that you're going to learn to write) to produce dynamic content.

Vending Machines and Restaurants

For an analogy, we'll borrow from Noah Veltman and use the difference between getting food from a vending machine and ordering from a restaurant.

Think of visiting a static web site as buying a candy bar from a vending machine. The food is just sitting there waiting for you. There's really no difference between you or anyone else who orders it. You make the request from the available options and the food appears.

As an example of a static website, check out Piccola Italian... it's just a random site we found on Google and it should look a lot like the others you've seen before. Note that you can click through from one page to the next but the pages are the same every time. It doesn't matter whether it's me or you clicking and whether we do it today or tomorrow or if we want to see anything different.

Going to a site run by a web application is more like ordering from a real restaurant. You still order from the menu but the kitchen cooks it special for you each time. You can also request certain changes (e.g. "hold the onions") that you couldn't from a vending machine.

In the real world of web applications, the web server runs some code which acts like the kitchen in the restaurant. It takes orders for web pages, cooks up a new one based on what you told it you wanted, and then returns it to the browser.

As an example, think about Google.com. Their search results are completely different depending on which query you entered. This is certainly a web application -- you can tell that there has to be something "smart" running somewhere under the surface which is dynamically generating the page we're seeing. You can think of pretty much any site where you're able to interact with it (e.g. by submitting a form) as a web application.

Key Takeaways

The key takeaway is that "web applications" involve some degree of server-side code in order to work properly whereas "web sites" are usually just fixed HTML files that get served as needed. As a web developer, the days of building simple static sites for clients are long gone so you'll be building almost exclusively web applications during your career. The server-side code which makes those web applications run is what you'll be learning here during your study of web development.

As a final note, despite the differences between websites and web applications that we highlighted above, the terms are actually used pretty interchangeably (since pretty much everything's dynamic these days anyway).

For those paying attention, the restaurant site we looked at above actually does have some dynamic elements -- there is a submission form which would require some server-side code to run. But most of the site is very static nonetheless :)

Sign up to track your progress for free

There are ( ) additional resources for this lesson. Check them out!

  • "Static vs Dynamic" from Noah Veltman uses a vending machine vs restaurant example to illustrate the differences between the two.

Sorry, comments aren't active just yet!

Next Lesson: How a Website is Built