Understand the Next Phase of Web Development - Steve Sanderson - NDC London 2024
AI Summary
Summary: Web Development Talk
Introduction
- Speaker: Steve, a developer architect at Microsoft, focusing on web technologies.
- Audience: Primarily web developers.
- Topics: Current web industry trends and future directions.
Web Applications
- Evolution of web UI:
- Early ’90s: Server-rendered HTML using CGI, Perl, PHP.
- Web 2.0 (~2005): JavaScript usage increased, libraries like jQuery emerged.
- Client rendering frameworks: Backbone, Knockout, Angular introduced structure.
- Modern client-side rendering: React popularized component-oriented architecture.
- Current trend: Moving from client-heavy to server-and-client rendering.
Frameworks and Server-Side Rendering
- Frameworks like Next.js, Nuxt, SvelteKit, and Blazor are focusing on server-side rendering.
- Server-side rendering is preferred for performance and compatibility with low-end devices.
- Progressive enhancement allows for client-side interactivity where needed.
- Streaming server-side rendering allows for rendering pages before all data is fetched.
- Enhanced navigation/form posts provide fluidity similar to client-side SPAs.
- Interactive Islands: Parts of the page can be interactive while others are server-rendered.
Web Assembly and Wazzy
- Web Assembly (Wasm) allows running code in browsers regardless of language.
- Wazzy (Web Assembly System Interface) enables Wasm to perform server tasks.
- Wazzy Preview 2 introduces the component model, allowing cross-language interoperability.
- Components are sandboxed and communicate through defined interfaces (wit files).
Practical Demonstration
- Built a Rust web server that calls a .NET component for timestamp and response content.
- Implemented a static file server in C# that serves markdown files.
- Used Go to format markdown into HTML.
- Showcased the potential for a cross-language package ecosystem with Wazzy.
Conclusion
- The web development landscape is evolving with a focus on performance and flexibility.
- Wazzy is shaping the future of server programming with its cross-language capabilities.