Presentation: WebAssembly (And the Death of JavaScript?)
Share this on:
Abstract
JavaScript brought interactivity to the web more than 20 years ago, and despite numerous challengers, it is still the only language supported by browser. However, as those 20 years have passed we've moved from adding a little interactivity to largely static sites, to creating complex JavaScript-heavy single page applications. Throughout this journey, the way we use JavaScript itself has also changed. Gone are the days of writing simple code snippets that are run directly in the browser. Nowadays we transpile, minify, tree-shake and more, treating the JavaScript virtual machine as a compilation target.
The problem is, JavaScript isn't a very good compilation target, because it simply wasn't designed to be one.
This talk will look at what's wrong with the way we are using JavaScript today and why we need WebAssembly. It will delve into the internals, giving a quick tour of the WebAssembly instruction set, memory and security model, before moving on to the more practical aspects of using it with Rust, C++ and JavaScript. Finally we'll do some crystal-ball gazing and see what the future might hold for this rapidly evolving technology, and ask the question - “Is WebAssembly going to kill JavaScript?”
What is the focus of your work today?
I’m the Technology Director of Scott Logic, a UK-based consultancy that provides bespoke software solutions for our financial services clients. The main focus of my day-to-day work is meeting with clients, understanding their problems, and finding ways in which they can capitalise on new tools and technologies.
What’s the motivation for this talk?
The web has become a critical part of application delivery for everyone within financial services, both commercial and retail. However, it is still a challenging platform when building mission-critical, complex line-of-business applications.
I personally think that WebAssembly is the start of a revolution, it is going to shake up the way in which we deliver applications on the web, opening up new opportunities, solving some of the current issues. Ultimately it might herald the end of JavaScript’s dominance on the web (and beyond).
How you you describe the persona and level of the target audience?
The talk should have quite broad appeal - part of what makes WebAssembly interesting is that it allows a wide range of languages to target the web as first-class citizens. For that reason this talk should be of interest to JavaScript, Rust, C#, Java and C++ developers.
What do you want “that” persona to walk away from your talk knowing that they might not have known 50 minutes before?
I’d like them to walk away with a better idea of what is possible now with WebAssembly, what will be possible in the future, and how this will shape the web.
Similar Talks
Tracks
-
Microservices/ Serverless: Patterns and Practices
Stories of success and failure building modern service and function-based applications, including event sourcing, reactive, decomposition, & more.
-
Distributed Stateful Systems
Architecting and leveraging NoSQL revisitied
-
Evolving Java and the JVM: Mobile, Micro and Modular
Although the Java language is holding strong as a developer favourite, new languages and paradigms are being embraced on JVM.
-
The Practice & Frontiers of AI
Learn about machine learning in practice and on the horizon
-
Operating Systems: LinuxKit, Unikernels, & Beyond
Applied, practical, & real-world deep-dive into industry adoption of OS, containers and virtualisation, including Linux on Windows, LinuxKit, and Unikernels
-
Stream Processing in the Modern Age
Compelling applications of stream processing & recent advances in the field
-
Leading Edge Backend Languages
Code the future! How cutting-edge programming languages and their more-established forerunners can help solve today and tomorrow’s server-side technical problems.
-
Modern CS in the Real World
Applied trends in Computer Science that are likely to affect Software Engineers today.
-
DevEx: The Next Evolution of DevOps
Removing friction from the developer experience.
-
Bare Knuckle Performance
Killing latency and getting the most out of your hardware
-
Tech Ethics in Action
Learning from the experiences of real-world companies driving technology decisions from ethics as much as technology.
-
Security: Red XOR Blue Team
Security from the defender's AND the attacker's point of view
-
Architecting for Failure
If you're not architecting for failure you're heading for failure
-
Architectures You've Always Wondered About
Topics like next-gen architecture mixed with applied use cases found in today's large-scale systems, self-driving cars, network routing, scale, robotics, cloud deployments, and more.
-
Observability: Logging, Alerting and Tracing
Observability in modern large distributed computer systems
-
Speaker AMAs (Ask Me Anything)
-
Building Great Engineering Cultures & Organizations
Stories of cultural change in organizations
-
Speaker AMAs (Ask Me Anything)