How web technology got like this and how it might evolve in the future

Since 2016, the Norwegian Developers Conference has held a parallel conference in Sydney, Australia. Last month, one of his presentations was a whirlwind tour of the history of the web and its development tools, providing a detailed and thoughtful perspective on what has led to our modern web development landscape.

Along the way, the audience was treated to a demonstration of the world’s first web server, compiled from its original 1989 source code, and other web development tools from the past three decades to explain how we got here. the.

But at the end of the conference, the audience also heard educated speculation about where it all might ultimately go.

In short, the conference offered its audience a glimpse of how we were – and what we could become.

Birth of the browser

The talk was delivered by Steve Sanderson, the original creator of the Blazor web application framework. (A biography on Steve’s website says he’s worked on everything from JavaScript libraries to the new Azure management portal.) for JavaScript developers.

But the title of his speech promised to tell web developers “Why Web Technology Is Like This.”

Before running the world’s first web browser, Sanderson began by compiling the code for the world’s first web server – the 700 lines of C code that powered Tim Berners-Lee’s TCPServer.c in 1989. He created a binary 22 kilobytes named httpd which, instead of port 80, listens on port 2784. “Apparently those are the last four digits of Berners-Lee’s parents’ phone number,” Sanderson said.

Diagnostics such as console traces to view HTML file source code in various formats were also included. “So we kind of have the first browser dev tools in there, right from the start,” Sanderson said.

It’s not the only early software with built-in developer tools. Pei Wei’s 1991 ViolaWWW browser for Unix only even had style sheets. “Now it’s not CSS, obviously – which hadn’t been invented yet. But it’s something like that that he invented and put in there,” Sanderson said.

“But even more impressive than that,” Sanderson continued, “it had scripts built in. Again, not JavaScript – which wasn’t invented – but the whole browser was built in this type of scripting language, and it allowed you to embed the same scripting language into your pages to edit content dynamically. So that really set a direction for what a webpage could do.

Scripting and stylesheets in the ViolaWWW browser by Pei Wei - demo by Steven Sanderson - Why Web Tech Is Like It Is (Talk at Sydney NDC 2022

These are not just historical curiosities, but examples of Sanderson’s larger argument: that “we can change the course of the web.”

“The people making these decisions, in some cases, are big companies, but a lot of the decisions along the way have been made by individual engineers,” he said.

Develop development tools

For better or worse, these individual decisions can reverberate through the decades. For example, when Brendan Eich created JavaScript in 10 days in 1995, Marc Andreessen made it clear that he wanted an uncompiled language so people could enter code directly into their HTML. “It was a design decision that carried us through to the creation of WebAssembly,” Sanderson said.

Yet, as recently as 2006, “the closest thing to any browser development tool is viewing the source in Notepad,” he said.

Improvements came with Joe Hewitt’s 2007 Firebug browser plugin – complete with a console, HTML view, CSS, script debugger and network plotters. “That design has largely stayed with us throughout,” Sanderson said. “It was even pretty much copied by Google as soon as they released their Chrome browser.”

Sanderson’s speech goes through the rise of mobile-centric design, with the release of the iPhone in 2007, until it hits a sort of inflection point. Sanderson argues that JavaScript was “reborn” between 2005 and 2008 in a quest for attractive interfaces to attract user-generated content. The release of Google Maps demonstrated the potential of asynchronous JavaScript to perform background queries and dynamically update pages — and “it’s really been with us so far.” And Sanderson points to another “major enabling technology of the time”: jQuery in 2006.

But in Sanderson’s story, the real turning point seems to be around 2010, a time when JavaScript was everywhere, albeit still in those massive, messy jQuery apps. Along with Ryan Dahl’s publication of Node.js in 2009, Sanderson credits O’Reilly’s book “JavaScript: The Good Parts” with sparking a new respect for JavaScript, leading to a remarkable confluence of framework versions:

“A whole bunch of people came up with pretty much the same idea at the same time” – the idea of ​​introducing disciplined development patterns (like Model-View-Controller or other patterns) into web development.

“None of these things were done in coordination with each other,” Sanderson said. “It was just an idea that was ready for the world. It had to come out, and a whole bunch of people did it at the same time.

It’s interesting how he summed up our modern era of web development as “a period of very rapid growth in complexity for web developers”. He even released a slide with the logos for TypeScript, webpack… and Kubernetes.

CoffeeScript (first released in 2009) made the idea of ​​compiled JavaScript more popular. Based on this, TypeScript added a typing system and became “an incredible achievement” and an “effective way to solve real problems for developers”. But with the proliferation of compiled JavaScript, “we now need compilation and bundling systems, so Webpack came to fill that need.”

Sanderson said he included Kubernetes (2014) because “it just gives you an idea of ​​what web developers were supposed to know by now. It’s not just about frontend development and backend development, styling and building systems, etc. It’s also now cloud orchestration, it’s becoming a very, very sophisticated era.

“And it’s starting to get to the point where people are going to have to push that back a bit.”

Facing the future

At the end of his speech, Sanderson pulled out a slide titled “the present and the future,” giving him a chance to pontificate. Looking ahead, Sanderson predicted “a pushback against sophistication and how many things web developers are supposed to know. Maybe we’re reaching some kind of end point.

“And some of the technologies that are emerging could start to help us reduce that a bit.”

Sanderson applauded browsers that can handle more content with less pre-preparation on the part of web developers, specifically citing native CSS nesting, which “allows us to get a lot of the benefits that you have with things like LESS and Sass just by cooking more and more. features inside the browser. And he also saw proposals for type erasure: “a way to run languages ​​like TypeScript directly in a browser without having to compile them, just by teaching the browser to ignore type annotations and other things that ‘he does not understand”.

But our world is evolving differently. Sanderson noted a new movement toward delivering content to the edge of the cloud – “delivering your web applications not just on a few servers in certain locations around the world, but in thousands or tens of thousands of locations around the world” . The advantage? “You get those single-digit millisecond response times for your users, and you can hardly ever go down because you’d have to bring down the entire global infrastructure to bring down your website in that moment.”

Sanderson mentioned the lower latency made possible by the HTTP/3 protocol and the WebTransport API. “You don’t really need to bundle content anymore. Serving a large number of small files is just as efficient as serving a single large file.

Another big trend is the rise of meta-frameworks like Sveltekit, Astro, and NextJS. “The basic idea now is, especially in the JavaScript world, that people use so many frameworks that they kind of need a framework to manage their frameworks… By having a single framework that knows the server side, client side, build system and IDE you can put all of that together and then you can create new types of functionality that cover all of those things which wouldn’t be possible if you just had frameworks in their own little silos.

Meta frameworks bring new kinds of functionality. While .NET developers may already have experience with a combined server/client/IDE build solution, “the fact that these ideas are now coming to JavaScript is inspiring a lot of new feature innovation, all of which Web community can benefit”. of. So I think that’s pretty exciting…”

At the end of the talk, Sanderson pointed out that individual engineers can make decisions that influence the future of web development. “You are those engineers. You’re here at this conference, you can chat with each other and come up with some of these ideas about where we’re going to go. And I’m very excited to see it and hope to be a part of what you’re creating.

Band Created with Sketch.

About Dora Kohler

Check Also

Software Outsourcing Magazine: Top 5 Java Development Companies in the World

Ho Chi Minh City, Vietnam–(BUSINESS WIRE)–If you are looking for a leading Java development company, …