Traditional web apps are back
One of the main characteristics of software and software development is abstraction. Hiding the complexity of a solved problem while also providing benefits such as composability, increased productivity, readability. In its most basic form web development is a set of software fundamentals interacting with each other in the form of a system that provides a solution to a problem. These fundamentals have been established, tested and perfected for more than 20 years now. TCP/IP, HTTP, HTML, various programming languages. Combining that with the current advancement of computers in the form of ridiculous processing power, large amounts of storage, high network speeds, a logical conclusion would be that web development, or at least that scaffolding around it, should be simple, straightforward, stable, allowing developers to focus on building.
Yet, this is not the case. In the past decade or so web development has been in a state of ever-increasing complexity with next to no proportional benefit. Web development has been driven by trends, hype, monstrous frameworks and constant insistence on complicating every single aspect of it. Overengineering has been the pillar on which almost every website and web applications stand on.
Maybe this started as good-natured advice by bigger players in the industry, in attempt to share their knowledge on solving complex problem on massive scale, but somehow this advice got taken verbatim by organisations and teams of all types and sizes. Website with a few hundred users started building infrastructure in preparation to scale to a million in a few seconds. Simple web apps started stuffing every technology under the sun so that they are “web scale”. Going through job ads seeing the never-ending lists of required technologies, just to join and see that they are building a generic CRUD app with a simple front end.
A quiet revolution (evolution?) has been happening in the background. People have started to realise that you can achieve the same results, if not better, with the tried and true technologies and methods without buying into the hype of state of the art frameworks and patterns or doing what Google or Amazon do. Most of the “old” tools such as Django, Ruby on Rails, plain JavaScript, traditional web servers, monolithic applications, have been trucking along nicely, improving on what is already great. There is this buzz that you can feel online. It’s people being fed up by the complexity, insane cost, and massive amount of effort to build software products.
Traditional web applications are coming back. In fact they have always been here but now they are seen as a viable solution and hopefully, soon, as the default approach.