Riding the Sin Wave Trend

Posted at Mar 23, 2024

In my experience as a web developer and, in general, as a coder, I’ve noticed an intriguing trend that seems to have flown under the radar. It’s a pattern that I believe deserves a spotlight.

The Rise and Fall Trend

In the early 2000s, Visual Basic was the prevalent choice for developing client applications to interact with servers. This necessitated the installation of the client application on individual systems for usage, making it what I would categorize as a “Thick client” as this setup posed inflexibility, and any software updates had to be manually done.

Screenshot of Visual Basic

Around 2005-2010, The Model-View-Controller (MVC) architectural pattern gained significant popularity and became a prevailing trend in web development

MVC architectue

In this pattern, all the rendering heavy lifting is done on the server-side, leaving the client to only require a browser, thus fitting into what I would categorize as a “Thin client” . In contrast to Visual Basic (VB), updating software in this setup can be efficiently executed at scale.

In the present trend, we are moving towards Single-Page Applications where the server solely serves the data (using REST API), while the client shoulders the heavy lifting of rendering, once again aligning with what I would term a “Thick client”.

The Sin Wave

As we can observe, a back-and-forth trend akin to a sine wave emerges not only in the realm of client-server interactions but also in various aspects of coding. For instance, in software design paradigms, we witness shifts between object-oriented and functional programming methodologies. Similarly, in user interface design, there’s a constant oscillation between minimalist aesthetics and feature-rich interfaces.

Furthermore, in programming languages themselves, trends fluctuate between statically typed languages like Java and dynamically typed languages like Python. These fluctuations underscore the dynamic and cyclical nature of technological evolution.

Conclusion

The significance of shedding light on this trend cannot be overstated. Many newcomers to the field often find themselves caught up in temporary upswings, neglecting fundamental and traditional trends and architectures. However, it’s crucial to recognize that these transient trends often circle back to established principles. By acknowledging and understanding this cyclical nature, developers can navigate the ever-evolving landscape of technology with greater foresight and adaptability.