Course Outline
Introduction to Web Programming and WebAssembly
- The evolution of client-side web programming
- Constraints of traditional JavaScript-based browser applications
- An overview of WebAssembly and its significance in modern web development
- Key advantages of WebAssembly:
- Enhanced performance
- Portability across platforms
- Operational efficiency
- Near-native execution speeds in browsers
WebAssembly Architecture and Core Concepts
- Exploring the WebAssembly execution model
- The structure and components of a WebAssembly module
- Understanding the binary format and its textual representation
- WebAssembly modules, memory management, tables, and the execution environment
- The interplay between JavaScript and WebAssembly
Transitioning from JavaScript to WebAssembly
- A review of JavaScript, asm.js, and the emergence of WebAssembly
- Comparing execution models of JavaScript versus WebAssembly
- Browsing support and runtime integration details
- Invoking WebAssembly code from JavaScript applications
Structure of WebAssembly Programs
- Deconstructing the components of WebAssembly
- Handling functions, imports, and exports
- Memory management and data exchange mechanisms
- Representing bytecode via Abstract Syntax Trees (AST)
Building WebAssembly Applications
- Creating your first WebAssembly module
- Understanding WebAssembly instructions and syntax
- Developing modules using C and C++
- Compiling source code into WebAssembly format
- Integrating WebAssembly modules into web applications
WebAssembly Toolchain and Development Environment
- Configuring WebAssembly development tools
- Utilizing compilers and build systems
- Selecting and using appropriate editors and IDEs
- Debugging techniques for WebAssembly applications
- Testing and code optimization strategies
Advanced WebAssembly Concepts
- Addressing performance considerations
- Optimization techniques for WebAssembly applications
- Leveraging browser APIs
- Security implications and best practices
- Interoperability strategies between WebAssembly and JavaScript
Practical WebAssembly Workshop
- Developing a complete WebAssembly application
- Compiling C/C++ code for browser execution
- Integrating WebAssembly with a web user interface
- Debugging and enhancing application performance
Future Applications of WebAssembly
- Industry adoption and key use cases for WebAssembly
- Applications in:
- Gaming
- Virtual reality
- High-performance computing
- Advanced web applications
- Emerging trends in browser-based development
Course Review and Conclusion
- Recap of WebAssembly concepts and development workflows
- Discussion of best practices
- Identifying opportunities for continued learning
Requirements
- Familiarity with or experience in browser-based, client-side programming.
- Proficiency in C/C++ programming.
- A keen interest in expanding web development capabilities beyond JavaScript.
Target Audience
- Web developers
- Developers specializing in C and C++
Testimonials (3)
The training helped me expand my knowledge and understanding of Burp Suite. I also realized that what I had learned through self-study was still quite limited. This training was very helpful to me as a QA because Burp Suite is a valuable tool for performing security testing and improving the overall quality of application testing. I will continue exploring this tool and learning more about its features and capabilities.
Rea Mendez - BAKAWAN Data Anallytics Inc.
Course - OWASP Top 10 2025
I really enjoyed learning about AI attacks and the tools out there to begin practicing and actively using for security testing. I took a lot of knowledge away which I didn't have at the beginning and the course met what I hoped it would be. My favorite part shown from the training was Comet Browser and was amazed at what it could do. Definitely something will be looking into more. Overall it was a great course and enjoyed learning all OWASP GenAI Top 10.
Patrick Collins - Optum
Course - OWASP GenAI Security
Hands-on, exercises, in-person helping and questioning.