JAMstack & The Future Of Web Development
At the core of our continued exploration of the cutting edge in the technology and internet space, one aspect is a constant: performance.
At the core of our continued exploration of the cutting edge in the technology and internet space, one aspect is a constant: performance.
For example, we measure blockchains in terms of their TPS (transactions per second) and we often measure websites in terms of their load times.
While “best practice” in blockchain isn’t easily defined (as the slowest architecture is the most widely adopted), there are more defined conventions in modern web development.
So, what’s the problem, then?
EVERYTHING IS SLOW
Have you noticed this? As the internet has grown up, as devices have gotten way faster, and as internet infrasturuce has rapidly expanded . . . have you ever felt as though loading a webpage or downloading a song or watching a movie is not really that much faster than it was 5 or 10 years ago?
Put another way, why has your smartphone or your laptop made generational leaps and bounds in terms of speed over the years, but webpages are only a little bit faster today than before?
Let’s explore this some more, as you might be ready to blame your ISP (Comcast does deserve your hate) or say something like, “South Korea has the fastest internet on the planet!”
Trust me, I’ve been there, and while it’s definitely fast, the infrasturuce differences are not the only issue at hand.
Rather, it’s the content itself that’s causing problems. More specifically, how the content is built, i.e., coded. Let me explain.
First, some baselines for measurement.
It’s pretty reasonable to assume the default global baseline is a ~$200 Android device on a 400Kbps link with a 400ms round-trip-time (“RTT”). This translates into a budget of ~130-170KB of critical-path resources, depending on composition — the more Javascript you include, the smaller the bundle must be. This gives us a ceiling of <5 seconds for the first load of a website, and <2 seconds for subsequent loads.
If you weren’t aware, Javascript is really, really big.
When we talk about JavaScript, we’re not just talking about the language — we’re talking about the plethora of projects, libraries, and programs which have spawned around it, and have enjoyed their own runaway successes.
However, this has come with some costs . . . principle among them is bloat. We can see that over the past decade that websites have increasingly become more and more complicated leading to longer load times.
While a few seconds here and there don’t seem more than trivial, the increased weight of these sites and their increased load times cause website outages, critical infrastructure to go down, and limit the capabilities of those using older devices and infrastructure.
Of course, we have Moore’s Law to thank for ever-increasing web capabilities.
Modern hardware and internet infrastructure can handle an entire galaxy’s worth of extra data transfer. But, like ever-expanding suburbs and the highways that connect them, extra capacity soon gets filled up as we expand in every direction.
Just like blockchain, we need the web to be fast and functional. Eliminating Javascript and going back to the dark ages of HTML-only sites is not a possibility, so we need to get clever.
One way is to engineer better solutions. For example, a recent development was to switch from client-side rendering to server-side rendering, ultimately shaving off a large amount of the time needed to fully display a webpage.
Couple with the proliferation of cloud computing and higher bandwidth solutions, this had a dramatic impact without having to change much of the underlying nature.
At the same time, we’ve seen the nature of web development changing overtime.
One big one is the switch to Git over FTP over the last decade, drastically improving the ability to implement version control and rapidly deploy changes to a website or project.
Secondly, as we discussed last Thursday, the API economy has really taken off. This allows you to outsource core functionality of your business and website to those services which are world-class executions of that particular niche.
Need payments? Use Stripe.
Want to send a huge email blast? Use Sendgrid.
How about a text message blast? Use Twilio.
As businesses fight to become more agile and stay relevant, technology has evolved to support it.
So, we take the core ideas behind the API economy — build something using best-of-breed pieces — and apply that to website functionality.
Thus, JAMstack was born to meet that need.
JAMstack stands for Javascript, APIs, and Markup. It’s a beautiful union of modern technology, software-as-a-service, and the core founding languages of the web.
It provides:
Reduced cost
Faster speed-to-market
Increased security
Higher scalability, availability, and reliability
Reduced vendor lock-in
The JAMstack movement encourages avoiding server-side rendering completely in favor of pre-build, purely static HTML pages.
By serving only JavaScript, APIs, and Markdown (JAM) over a CDN, a website’s performance is dramatically increased, making for a much better user experience.
When we compare to our earlier graphic, you can see that we are capable of lightning-fast websites that often load in <2 seconds:
But, importantly, performance isn’t the only thing we’re addressing here.
After all, one of the chief complaints about the JAMstack movement is that it’s a buzzword to describe an over-engineered solution looking for a problem that was solved by basic websites 20 years ago.
Of course! Simple is faster!
. . . and yes, to a degree, that’s accurate.
But, I also think it misses the larger context in which JAMstack operates.
As the web has gotten larger, more ubiquitous, and more complicated, it has also become bloated. This is exacerbated as more users with less compute power access the internet — be that IoT devices or mobile phones.
Just like our modern economy, it’s important to recognize that both JAMstack and blockchain aren’t attempting to completely overhaul the entire system.
Instead, it’s better to look at them as radical solutions attempting a new solution to old problems which will help us build better systems moving forward.
Blockchain and JAMstack aren’t solutions for every problem and situation, but they are alternatives that uplift the aggregate and push for a new direction.
That sounds like the next generation of the Internet to me.
If you’d like to learn more about investing in future tech, SPACs, killer trading strategies, and building a system for consistent profit, check out our site to get free access to some of our best courses, such as the ‘Trading The Next Big Thing: Secrets To SPAC Gains’ course and ‘The Wheel: Passive Income Through Trading’ course.
See you there!
Cheers,