— Oh, so you are programmer. What do you do?
— I work making web applications.
— So you work with web? Can you make a website for my food truck?
How would you explain the difference between web apps and websites? Situations like this are normal in the lives of developers working on web.
The advancement of technologies for internet and browsers ended up enabling the creation of increasingly complex and elaborate sites. That’s how the web apps term appeared (or web applications).
Distinguishing the two terms is, in fact, something relevant. Taking into account that both involve different situations, costs and objectives, it is important that developers are familiar with the concepts of each one.
The css-tricks blog conducted a survey of 17,161 developers, asking the question: Is it useful to distinguish between “web apps” and “web sites“?
Check the result below:
The vast majority think it is a valuable distinction to make. We will see in this post:
• The basic differences between web apps and websites
• The cost ratio for development of both
• In practice: How the concepts end up colliding
# The basic differences between web apps and websites
The debate on the topic is broad and usually arises several arguments. See a list with some of them:
“It is a matter of scope. 5 static pages. Web site. Dynamic data and input from users. Web app.”
“The distinction comes from a vision between back and front end. More front-end, website. More back-end, web app.”
“It is a matter of use. Does it performs tasks? Web app. Does it only delivery information? Website.”
Definitions abound …
But let’s get to what really matters.
Websites are static, ie they are not updated very often. Its goal is to provide information to the user, so there is no interaction in changing the content by him/her. A classic example is the company websites, where certainly you will see: description of products / services offered, company history and forms of contact (email, phone, etc).
Websites are a huge part of the web and play important roles as letting you know of an event or new product to be released or showing you the services of a particular company.
Web apps function as desktop applications (Word, Photoshop, Skype), and they are dynamic and are constantly changing. They depend on user interaction to achieve their objective, either contributing with content (YouTube, Facebook, Twitter) or collecting data from other sources and presenting them to you (Mint, Google Analytics, Klout).
According to Christian Heilmann (Principal Developer Evangelist – HTML5 / Open Web – at Mozilla Corporation), in an interview to VisionMobile blog, “The use case of an application is always do something with it”.
Here’s what you should ask yourself if you have a web design to do: How often should it be updated? Monthly? Daily? Or every hour? Will users be able to provide content? Or are the pages static?
Your answers to such questions will be used to help you determine if what you have on hand is a website or a web app.
# The cost ratio for development of both
As we have seen so far, because they are more complex and require a greater amount of programming and projection, of course the web apps require more time to complete.
Therefore, as time is literally money, there are resources that significantly reduce the development time of these projects.
In the case of websites, WordPress is almost unanimously for content management (CMS). It is a semantic platform focusing on aesthetics and web standards. It has templates that greatly facilitate the development of websites, blogs, etc.
For the sake of efficiency and reducing time and costs, Scriptcase is for web apps like WordPress is for websites, in the development process. Having connections with the databases most widely used in this market, it offers a range of applications that are common in the design of a web app. Such as: Consultations in grid format, registration forms and editing records, charts, calendars, menus, dashboards and a more extensive list of items.
# In practice: How the concepts end up colliding
Consider the following situation: A restaurant website has only one navigation menu and some pictures of the menu dishes. Following the concepts that we have seen, it is a website, right? Right. Let’s say it is attached, alongside the contact page, a Google Maps map. Now users can mark locations, zoom and receive directions. Would it now be a web app? Or a website with a web app in?
In fact, nowadays it is very difficult to find websites that are totally static. A vast majority have at least a contact form where the user can interact by sending a message to the site administrators.
Platforms like DISQUS facilitated the generation of content by users, in the form of comments.
Summarizing the issue and opining
Therefore, in practice, the distinction between the concepts ends up not being so clear.In my opinion, we should use common sense when it comes to differentiating projects. A classic example of how I see this marked difference is when we compare Trello (website for management tasks) with the BuzzFeed website.
Trello is a classic web app, where in order to fulfill the purpose of the site, you need users to create and manage tasks. In the BuzzFeed case , even with the possibility to interact commenting materials and sharing them, it is better categorized as website because it does not necessarily require user interaction to meet its goal.
# In conclusion: The difference between Web Apps vs Websites
Conceptually websites are static, exist to provide information and do not require user interaction to accomplish their goal. Web apps are dynamic, exist to solve a particular need and need user interaction to meet their goal.
Sites tend to be cheaper and less time-consuming to make, since they do not use programming languages or databases. Web apps generally cost more and take longer in their development.
As seen in practice, the distinction between the concepts is more complicated to apply. But if we judge the purpose of each project, we differentiate types.
I hope I have clarified your main doubts. If you liked the post, leave your comment below giving your opinion!