It's promising to observe the rising interest in minimalist frameworks like Svelte, HTMX, and Alpine.js.
During the prolific years of Node, Webpack, and React, complex tech stacks were the norm, often incorporating GraphQL. This was an effort to mimic what Laravel or Rails + jQuery achieved a decade earlier with significantly less time and code.
Over time, the technology landscape has been marked by various trends:
- There was a phase when XML was lauded as the future.
- NoSQL databases were, at one point, seen as an essential tool for a wide variety of applications.
- For some time, using the same language on both the client and server sides was a popular approach.
- There was a surge in demand for an AMP version of sites, which later receded.
- At one point, the recommendation was that each website's home page should be a Single Page Application (SPA).
- Asynchronous programming was, and still is, seen as an important aspect of development in many contexts.
- The use of message queues has been promoted as a critical part of certain systems.
- There was a period when there was a strong move towards decomposing services into microservices.
- The use of containers for these microservices became a standard approach.
- To manage these containers, the use of orchestrators became common.
- Cloud-based solutions were and continue to be seen as beneficial for managing these containers and orchestrators.
- The concept of serverless computing emerged and gained traction.
- Most recently, there's been a trend towards minimizing backends, opting instead to call SaaS from the edge.
Each year, engineers learn lessons based on these evolving trends. They come to understand concepts such as "there is no silver bullet" in technology and the importance of "using the right tech for the right problem". They start to realize the implications of "rewriting a codebase every 2 years", and they grapple with the reality that "things cost money". This learning process is a testament to the ever-evolving landscape of technology and underscores the importance of understanding the principles that guide our work.