So-called modern web developers are the culprits

Published on 2021-12-17. Modified on 2021-12-29.

2022 needs to be the year when we seriously begin to get rid of bloatware, hype and trends in web development. It needs to be the year when we focus on performance and on utilizing the technology in harmony with the intend behind it. I am not saying that we should do all web development in assembly or C, but we need to stop the JavaScript, Ruby on Rails, Python with Django and PHP framework madness.

Google Chrome currently dominates the market share of web browsers. This is a problem because Google, being the advertisement company it is, are planing to implement the deceitful and threatening Manifest V3.

Some people naively look towards Mozilla Firefox as the "savior" and alternative to the Chrome hegemony. Maybe that's because of the way it previously saved the Internet from the "evil dominance" of Microsoft Explorer. The problem is that Mozilla is extremely mismanaged. In 2018 Mozilla got $435.7 million in revenue from search engines who pay to be the default search option in Firefox in different parts of the world, mainly Google, but also Yandex and Baidu. Still, in 2020 Mozilla cut about 25% (250 people) of its global workforce, blaming the corona virus impact on economies as something that "significantly impacted their revenue". Yet, Mozilla had received more that enough money. In 2018 Mozilla's top executive was paid $2.4 million and his payments has more than doubled the last five years!

Mozilla is NOT the "trusting" organization it used to be. If Mozilla is going to survive, the management needs to be fired as soon as possible with no compensation what so ever, products that nobody wants need to be stopped and Mozilla needs to be limited to its core competence, not only so that it can survive on less revenue (perhaps on donations only), but also so focus can be where it needs to be.

Yet, we need to pause here for a second!

We need to ask ourselves why we are having these problems to begin with? Why do we even need these major browser vendors in the first place?

I blame the so-called modern web developers! They are the culprits!

It is the so-called modern web developers that keep stuffing websites with bloated and unneeded JavaScript. It is the so-called modern web developers that keep building websites on unsuited platforms. It is the so-called modern web developers that build websites so that absolutely nothing works unless you run with one of these "miserable" browsers.

Without so-called modern web development we don't need these huge monsters that the browsers have become. We can get fully functional websites with simple lightweight browsers, and only specialized websites would require special solutions. But even most of these special solutions can be made to work without any of the huge browsers.

I know that some web developers just doesn't know any better, they do web development as they where taught, but that's possibly the least acceptable excuse. If you're doing any kind of software development you need to study beyond what you have been taught, you need to understand the technology you work with. You need to know when to use a specific tool over another.

We need a new movement in web development. We need to make it so that it will be absolutely frowned upon to have a website that doesn't work without JavaScript enabled unless it is absolutely necessary. This MUST be a requirement for the future development of websites on the Internet. If there should be any truth to the hype about a "Web 3.0", then this is one of the most important matters besides more decentralization.

We need this movement not only because of the above mentioned problems with our dependency on a few browser manufactures, but also from an environmental point of view. The power requirements of the bloated websites, both on the servers and on the clients, are absolutely ridiculous. Because of the excessive stuffing of JavaScript into the browser (apparently no so-called modern web developer knows how to create a frontend without JavaScript), the user regularly experience an increase in power consumption when he opens a simple webpage. And because of the ill-suited server based frameworks, such as Rails and Django, the servers also experience an unneeded increase in power consumption. Even PHP, that is running most of the websites on the Internet, doesn't go free. PHP in and off itself is not the problem because PHP has since version 7 seen major performance improvements, some very much motivated by environmental concerns, no, the culprits are still the so-called modern web developers who, when working with PHP, cannot figure out how to do anything without one of ridicules inefficient frameworks such as Laravel, Symfony, CodeIgniter or Yii.

The fact is that all the popular frameworks are bad. They are mostly developed by theory. Theory about abstractions, design patterns, and all the other buzz that is more or less useless in real life. Not only that, you cannot use a framework in the first place because when you need performance, you need to work with raw optimized code. You need to get rid of all the clutter, not add more of it. You cannot build software for performance when it requires 75 classes or modules just to print "Hello world" on the monitor. What you need is simple tools, small, optimized and specialized libraries, not frameworks!

We used to sit around in the Unix Room saying, 'What can we throw out? Why is there this option?' It's often because there is some deficiency in the basic design — you didn't really hit the right design point. Instead of adding an option, think about what was forcing you to add that option.

Doug McIlroy.

With regard to Rails and Django specifically then that is a matter beyond comprehension. Neither Ruby nor Python should ever have been utilized for web development. They are simply ill-suited because they are too slow. They are the wrong tool for the job. Just because I can use Bash to create and run a website doesn't mean it's a good idea to do so.

Some people argue that developer time is more costly than computing resources and Rails and Django is all about getting things done fast, but that is exactly the problem. The problems we're facing on the Internet today is the long term consequence of exactly that irresponsible short term view. To get things done fast rather than right.

As a personal recommendation, if you're a so-called modern web developer, I strongly suggest that you try to do web development in Go, yet without JavaScript on the frontend. Learn how to do Go web development without anything but the Go standard library. It will not only be a learning experience, but you will gain a valuable insight and Go will enlighten you.

If you're a web developer consider these points:

Maybe you believe that this article belongs in 2001 and not 2021, but it really doesn't. More and more web developers are slowly waking up to the fact that what they have been doing all these years of so-called modern web development is wrong. We need less power hungry websites both on the servers and on the clients.

Relevant reading


Email from an anonymous user

I have been arguing with all of my teachers and classmates about this very problem!

You use a project tool that pulls down 1786 packages with 69 vulnerabilities. 45 moderate, 20 high and 4 critical. In summary 432 MB of a mess. Yet, you can't even print "hello world" with it. You need a separate package for routing, another for state management, etc.

This is just about as crazy as it gets, yet everyone is doing it and it's considered "the modern way".