Web App vs Website
Let’s define what website and web application really means.
A typical website can by a static HTML document served from the server (with all the complementary resources) or dynamic HTML rendered by the server, for example, by Wordpress.
In practice, you don’t have to build a website if you need one, you can avoid buying the hosting, setting up the server and all of this web admin burden by using one of the services like Wix, Squarespace, or Webflow.
You don’t even have to know how to code. You just browse the catalog of templates and choose the one that you think will be a good base for your website. You amend it as needed by using drag and drop editor, so no coding is required. When you finish, just publish it. Everything else will be taken care of for you.
Of course, you have to pay a bit extra for this convenience, but for many people, this extra price is a bargain, compering of the time saved, not thinking about buying good hosting, hiring a developer, and hoping for the best.
You can also achieve a similar result by hosting your website on one of CMS systems like Wordpress. It also has drag & drop plugins that you can use to implement the design. There is definitely more of the work involved rather than by using plug & play service, but it can be a better solution if you need more flexibility and freedom in the long run.
Sometimes the initial server response involves generating an HTML page as well, but every subsequent request are served in JSON format.
These kinds of web applications are called universal because part of the rendering is happening on the server site.
Building web application instead of regular website helps reduce bandwidth, increase performance & scalability, and overall user experience. But the costs of creating and maintaining such an application are much higher because of the number of layers that needs to be implemented like: server security, authentication, RestAPI, and data persistence.
Some very complex websites like modern Facebook can only be built as web applications. It was necessary to create frameworks like React, Angular, or Vue, to implement their advanced features.
Web applications are built with the front end part and back end part. What’s important to mention is that the web application can exist without the front end part and without the back end, but at least one of them has to be provided.
In the simplest scenario, you can build a web application that only serves the code that is executed on the clients' browser and doesn’t interact further with the server or any backend part.
These types of applications can use your browser data storage features and even work offline.
As you see, you can still build web applications without the back end, but the features will be very limited.
Yes, it’s possible to build a web application without the front end part. How to do that?
You simply implement the back end part only. So in the result, you will have working RestAPI web services, security layer, and working server that respond to the incoming requests.
Privileged clients would make a request to your server and receive expected data on the other end.
Yes, this is a fully legit web application, and there are plenty it’s examples around the internet.
When you start looking at web application development from the perspective of the RestAPI server, you will feel liberated from the necessity of having the front end part.
As a front end for this kind of application, we can use anything that can make an API request. You can use popular API clients like Insomnia, Postman, or even Linux console tool curl. They all can serve as a front end for your application.
This scenario is most often in the mind of the people who are interested in web application development.
As you already know, either front end and back end part are optional. You just need one of them to have a web application.
The development tasks for a web application can be split between two groups of developers. One group, front end developers, will take care of the implementation of user interface and interactions, and the second group will take care of the back end.
These teams don’t interfere with each other. They just have to agree on the shape of API and can work independently.
It’s very common practice to have a single team of people that performs all of these tasks. They are called full-stack developers. They are savvy about the front end and back end so they can contribute to both parts of the application. This kind of scenario is most common in startups, where the team is small and multidisciplinary.
Most modern businesses don’t need web applications. The website would do a better job.
If you are a business owner or freelancer, and you need a platform to host your portfolio, contact information, your offer, or even online shop - these are probably more than 60% of the websites already available online - the website would be sufficient.
Websites are far, cheaper, and easier to build, maintain, and scale than web applications. And you don’t need to know a specialized framework to build them. In the simplest scenario, you can just take a free CMS system like Wordpress and adapt it to your requirements.
The best way to decide if you need the web application instead of the website is to ask yourself a question, “can I achieve the same result by just having a website”?
Asking this question is crucial because the costs of building and maintaining a web application are much higher than the website both in time and money.
The most common scenarios where building web application is justified are SaaS services, RestAPI available for multiple clients, sophisticated live dashboards with graphs, applications that have to be available offline.
That’s it. If your idea doesn’t fit into any one of these, you will do just fine by having a website rather than a web application.
So, know you know what the difference between website and web application, and when choose to build one or the other.
You probably now understand why most of the internet is build using regular websites rather than fully-fledged web applications. The one reason is, the websites were here far earlier before web applications show up. The second reason is, most of the time, websites are just good enough, and nobody wants to overpay.
But if you want to focus on building web applications, do it! There is a huge market waiting for your services, so you can make a good living while building web applications.
If you have any questions related to this video, leave the comment below.
If you found this post helpful, consider sharing it, so I will be motivated to publish more posts that will help you get the IT career you want.
See you next time, and as always, stay focused!