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.
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.
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.
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.
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 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:
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.
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:
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 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 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.
Database access will continue the current trend of being abstracted away, and eventually
This is my fantastical prediction for the future of web development. 🤞 let’s see if it comes true.