Interview Matt Biilmann, co-founder of Netlify and one of the originators of the Jamstack (JavaScript, API and Markup) approach to web development, spoke to Devclass at the Headless Commerce Summit, which is underway this week in London.
What is the technical argument behind Jamstack? “We saw this shift happening in the core architecture of the web,” Biilmann tells us, “from a world where every website, every web application was a monolithic application with templates, business logic, plug-in ecosystem, data access, all grouped together … we were fortunate to predict the shift towards decoupling the web UI layer from the back end business logic layer, and having that back end business logic layer split into all these different APIs and services, where some of them might be owned today, typically running in a Kubernetes cluster somewhere, but a lot of them [were] other people’s services like Stripe, Twilio, Contentful, Algolia and so on.”
He adds: “We saw the opportunity to build an end to end cloud platform around the web UI layer and we coined the term Jamstack.”
How important was the idea of reducing the role of the web server, in favour of static pages and API calls?
“Before, the stack was like your server, your web server, your operating system, your back end programming, language. Now the stack is really what you deliver to the browser and how it communicates with different API’s and services,” he says.
“The important piece for us was this step up in where the abstraction is. Are you working with an abstraction that’s your Apache server here, your PHP program, your Ruby program? Or are you working more in the abstraction of developing a web UI, we can preview it locally, we can see how it looks when we push it to git, it will automatically go live. It was a step up from having to worry about all the underlying components,” Biilmann says.
Living on the edge
Netlify’s platform includes the idea of having a content delivery network built in, so that static content is always served with low latency. It now includes the concept of Edge functions, code that runs server-side but close to where the user is located and with a serverless architecture. Is this any different from what Cloudflare is doing with its Pages and Workers, or other providers that have adopted this model?
“We’re thinking about it differently,” said Biilmann. “I would say that Cloudflare is really building their own application platform … a very Cloudflare-specific ecosystem where if you build an app for that application platform, you build it for Cloudflare. When it comes to our Edge functions, we spent a long time thinking about, how do we avoid making that a proprietary Netlify layer. That was why we started collaborating with the Deno team, who are actually working on an open source runtime for that kind of layer.”
“Where we think we created lock-in is just in terms of delivering developer productivity that makes our customers stay,” he added.
Why Deno and not the better-known Node.js runtime? “Both were made by the same person, Ryan Dahl,” Biilmann says. “He had this interesting observation that there was a growing need for developers to be able to program asynchronous IO, and that was very hard to do in any of the existing dynamic runtimes like Ruby, PHP, Python.
“He saw that if he made a new language around JavaScript and built it around asynchronous APIs from the beginning, it’s an advantage. That drove the adoption and success of Node, and what he’s doing now with Deno is very similar.”
The difference with Deno, Biilmann says, is that Dahl now sees that “everybody wants to start running their code in these new environments, where instead of running your code on your own server in your own data center, you want to take your code and have providers just distribute them all over the world and run your code for you.”
Node libraries often come with native code dependencies, Biilmann said, which breaks this kind of deployment. Features like deeper TypeScript integration and use of ECMAScript modules also make Deno attractive.
Headless approach
Why is the Jamstack, headless approach important for ecommerce? “This idea of bringing the web UI very close to the user, either pre-building as static assets or having it run with edge functions close to the user, means huge benefits in performance, and no one is more aware of the huge difference performance makes to conversion rates than the ecommerce operators. It’s just so well proven by studies,” Biilmann says.
Should developers care more about Jamstack, or Web 3? “There’s an immense hype around with Web 3, and I think some of the ideas are really interesting, the idea of being able to bring your data with you to applications instead of putting your data into applications and giving it away,” says Biilmann.
“Most of those applications are built with the Jamstack approach …but if you look at the number of developers on Ethereum or Solid, that’s a smaller number than the developers signing up for Netlify every week.
“There’s a lot of ideas there that are very aligned with our idea of what the open web means and what’s good for the web. But I think they are often artificially coupled to cryptocurrencies and blockchain, and it gets very hard to differentiate.”