Difference Between a Website and a Web App

Sometimes I’m asked a question in various forms.

What is a web app and what is a website?

I’m pretty sure not a lot of web developers do struggle with this question. It’s an interesting question as the two aren’t exclusive. There isn’t a rule that says what each one is in general. So I’m going to try to lay down my thoughts on the subject and how I differentiate them. This is just my opinion, remember that!

Website

A website is content based. The most important thing on it is text and pictures that it shows on load. When we strip down a website to the core layer, the HTML, we can still understand what we are doing on a page. Any design or functionality, other than links, that the page provides is a bonus.

This, to me, is a simple build process. We need to make sure that at the most basic level the content makes sense without any other formatting.

Looking at things from a traditional view. A website needs to be accessible to all; disabled, able-bodied and even bots. So the solution needs that basic approach. Websites should be manipulative.

Web App

A web app is more complicated as it’s function driven so to give correct feedback to the user. It relies on functionality to show that information. A user interacting with a page to gain insight. Developers may build using a single-page application framework so they could be an app. Keep in mind, sometimes developers use these for websites. If that’s the case, the site should still fall back to a non-JS option.

Apps are bespoke to the use-case and designed to work in a particular way. These approaches need a lot of thought as we are almost locking the user into a particular flow. An app should be easier to use, in that the use-case needed fixing so the app solves this to improve user feedback. If I’m designing an app for a visual impaired user then I’ll add features that make it more accessible. A website should always be accessible otherwise I’m breaking the openness of the web. In theory, you’re not adding so much but keeping things simple.

Close Enough?

So why think of this differentiation and feel the need to separate the two? It’s more a development approach for me and how I should approach a problem. Can I fix it using something like JavaScript or tricky CSS? Do I have to make sure the solution is simple or could I take more away?

I haven’t challenged this idea so if you think it’s wrong or have another interpretation then let me hear it. Send me a message on Twitter (@WolfieZero) with your thoughts on what’s define’s web app or a site? Or maybe there isn’t a difference?

As I said, it’s a question that pops up a lot. I’ve seen a change in development processes when it’s stated as one or the other. Again, this isn’t a perfect rule nor a de facto response. This is more just my ideas on what I think and how I make the split.