Site Icon

Andrew Hopkins

A Software Developer You Can Rely On

Everything Old Is New Again

Mon Apr 08 2024

Technology is circular. What was once old, is new again.

I’ve noticed a trend in the tech industry recently where each new generation of developers is rediscovering old technologies, but implementing them in new ways.

Ye-Olden Days ~1994

I was a newborn infant.

Websites were built with plain html. They were considered wonderful and amazing but by today’s standards, they were very basic and quite ugly.

Websites were used as message boards, and for sharing information. They were static, and there was no way to interact with them. Some people figured out how to use them as blogs, and portfolios, but that was about it.

The invention of Javascript and PHP ~1995

Along came Javascript. This allowed you to interact with the page, and make it dynamic. You could now create popups, and change the content of the page without reloading it.

Additionally some guy called “Rasmus” had this idea of running a server that could generate html on the fly. He called it PHP. This allowed you to create dynamic websites, and interact with a database.

This was a game changer. Up popped forums, and social media sites. You could now create a website that was unique to each user, and you could store their data in a database.

This new technology addressed the big issue of the time, but came at the cost of having to run a server, and a database; and all the complexity that comes with that.

The invention of CSS ~1996

In december of 1996 I was still a baby.

And so was CSS, which had just been released by the World Wide Web Consortium (W3C).

This new approach to web design allowed you to separate the content of the page from the design of the page. Allowing for much more flexibility in how you could style your website.

Websites were now starting to look prettier, professional, and have more personality; as they were no longer constrained by the limitations of pure html rendering.

The invention of AJAX ~1999

Javascript had started to become more popular, and people were starting to use it to create more interactive websites.

AJAX was a new way to allow rendering of content on a page, and then updating it without reloading the page.

You started seeing automatic updates on websites, and the ability to interact with the page without submitting forms, changing pages, or reloading the page.

The boom of the 2000’s

The 2000’s were a time of rapid growth in the tech industry.

Each of the technologies mentioned above were refined, and improved upon. A lot of security issues were discovered, and addressed.

Out came a lot of new technologies like:

  • Jquery - A library that made it easier to interact with the DOM
  • Git - A version control system that made it easier to collaborate on code
  • Ruby on Rails - A Ruby based server-side language; a new competitor to PHP
  • Node.js - A Javascript based server-side language; another new competitor to PHP
  • Wordpress - A PHP based CMS that made it easy for non-developers to create websites

The Birth of the SPA ~2010

In October of 2010 google released AngularJS. A javascript framework they’d been using internally to create websites that were reactive and dynamic. In a similar vein to Jquery, and AJAX, but designed more as an extension to HTML, rather than a library to interact with the DOM.

This new way of creating websites focused on loading the main content of the page once, and then updating it as needed while keeping the user on the same page.

This was the spark that ignited the Single Page Application (SPA) revolution.

Shortly after, React was released by Facebook, and Vue was released by a former Google employee. AngularJS was rebranded as Angular, and rewritten from the ground up.

Most SPA’s would use a REST API to interact with a server, and store data in a database.

The SPA was now the new hotness. If you using a website in 2008 it was probably either a wordpress site, or an SPA.

The return of static sites ~2015/2016

Around 2015 a new trend started to emerge. Some developers were starting to question the need for a server, and a database, and all the complexity that comes with that.

It’s too much overhead for a simple website, or a blog. Out came Nuxt.js and Next.js - Static site generators built upon the React and Vue frameworks. These generators would use the existing SPA framework, and generate a static version of the site that could be hosted on a CDN.

This had a number of benefits:

  • Faster load times
  • Cheaper hosting
  • More secure
  • Less complexity
  • Easier to scale

This new approach to web development was called “Jamstack” - Javascript, APIs, and Markup. But was this really a new approach, or was it just a return to the old ways of building websites?

Back in the 90’s websites were static, and hosted on a simple server often without any kind of database or dynamic content. Some people back in the 90’s were generating blogs and websites using PHP, and then saving the output as static html files.

This new approach was just a modern take on an old idea.

The Present ~2020’s

The tech industry is always changing, and evolving.

Cloud based services have quickly become the norm. These days very few companies run their own servers, or databases, as it’s much cheaper, and easier to use a cloud provider like AWS, or Google Cloud.

Serverless technologies have become popular, as they allow you to run code that scales automatically, without having to worry about the underlying infrastructure; additionally you only pay for what you use when it comes to compute resources.

We saw a potential new trend emerge in the 2020’s coined “Web 3.0”, built upon the blockchain, and decentralized technologies; however it’s looking unlikely that this will take off in the near future, as it’s still too complex, and expensive for the average person to use; and seems to be solving problems that most web users don’t have.

The Future

The future is uncertain, but i predict that the tech industry will continue to evolve, and change in a somewhat cyclical manner.

Looking Back, each technology is released to address the problems of the time, but comes with it’s own set of problems, and limitations.

After awhile a new technology is released that addresses the limitations of the old technology, and the cycle repeats.

In the far distant future, i predict a divided technical landscape, where some websites are built with the latest and greatest technologies, and some websites are built with the simplest, and most reliable technologies.

  • You will see many website that render like simple webages from the 90’s, but with a more modern styling.

Database access will continue the current trend of being abstracted away, and eventually

  • Individuals and companies will no longer host their own server or database
  • All data will be stored in one giant world wide database
  • Access control and encryption will be the only thing that separates one user’s data from another.
  • All websites will be static, and hosted on a global CDN
  • Any website that can be static will be static
  • Any website that requires data will do so by dynamically fetching from the World Wide Database REST API.

This is my fantastical prediction for the future of web development. 🤞 let’s see if it comes true.