Presented By: Pankaj Chaudhary
Software Consultant at
Knoldus Inc.
Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
Punctuality
Respect Knolx session timings, you
are requested not to join sessions
after a 5 minutes threshold post
the session start time.
Feedback
Make sure to submit a constructive
feedback for all sessions as it is
very helpful for the presenter.
Mute
Please keep your window on mute
Avoid Disturbance
Avoid leaving your window
unmuted after asking a question
● WebAssembly
● WebAssembly for Web developers
● WebAssembly with Rust
● Demo
WebAssembly
WebAssembly
WebAssembly
● New transformation in Web development.
● A new capability to Web and web browsers.
● Fast, portable and secure.
● Safe and Isolated execution and memory.
● Compile to WASM from any supported language
○ C, C++, Go, Rust
● Interpret in Many languages:
○ JavaScript,Node, Go, Rust, C, C++
Efficient and Fast
WebAssembly aims to execute at
native speed by taking advantage of
common hardware capabilities
available on a wide range of
platforms.
01
Open and debuggable
WebAssembly is designed to be
pretty-printed in a textual format for
debugging, testing, experimenting,
optimizing, learning, teaching, and
writing programs by hand.
03
Safe
WebAssembly describes a
memory-safe, sandboxed execution
environment that may even be
implemented inside existing
JavaScript virtual machines.
02
Open web platform
WebAssembly is designed to
maintain the versionless,
feature-tested, and
backwards-compatible nature of the
web.
04
WebAssembly features
WebAssembly for Web developers
● Existing code to web.
● like Autocad, Various Games, and image processing tools, etc.
● Ecosystem
Web Development Today
● Browser Compatibility
● Disparate build
environment
● TypeScript,
JavaScript,
CoffeeScript, X-to-JS
CodeGen.
As SPA’s gets better and
more powerful, gets
everything gets slower.
● Slow builds.
● Bloated Frameworks.
● Code Performance.
● Browser Issues.
● An infinite number of
ways to solve every
problem.
● Too many libraries, too
much to learn
node_module directory
is a meme.
● Rapid ecosystem
change.
Fragmented Slow Overwhelming
WebAssembly vs Javascript
WebAssembly with Rust
● Get benefit of unique Rust features.
○ Memory safety
○ Efficiency
○ Portability
● Wasm pack, Wasm_bindgen.
● Powerful community.
WebAssembly Architecture
WebAssembly Architecture
DEMO
Advantages of WebAssembly
❏ Compatible with All Major Operating Systems and Web Browsers.
❏ Offers Programming Language Choice to Developers.
❏ Provides Better Load Time to Web Applications.
❏ Ensures Secure Experience to Users.
Improvements areas in Web Assembly
❏ Manual Memory management(No garbage collector).
❏ Debugging.
❏ Direct access to Web APIs.
❏ Support limited languages.
Companies using WebAssembly?
WebSight
Live Applications
The revolution is just beginning!!!
❏ https://webassembly.org/
❏ https://rustwasm.github.io/book/
❏ https://developer.mozilla.org/en-US/docs/WebAssembly
❏ https://github.com/WebAssembly
❏ https://datafloq.com/read/competitor-siblings-webassembly-replace-javascript/6821
❏ https://www.youtube.com/watch?v=YDQICTKlr9g
❏ https://youtu.be/cRwUD5SxF4o
❏ https://blog.mozilla.org/blog/2016/03/14/mozilla-pushes-the-web-to-new-levels-as-a-platform-for-games/sun
-temple-image/
❏ https://www.openwebgames.com/#/home.html
chaudhary-pankaj
itsPChaudhary pankaj.chaudhary@knoldus.com

WebAssembly with Rust

  • 1.
    Presented By: PankajChaudhary Software Consultant at Knoldus Inc.
  • 2.
    Lack of etiquetteand manners is a huge turn off. KnolX Etiquettes Punctuality Respect Knolx session timings, you are requested not to join sessions after a 5 minutes threshold post the session start time. Feedback Make sure to submit a constructive feedback for all sessions as it is very helpful for the presenter. Mute Please keep your window on mute Avoid Disturbance Avoid leaving your window unmuted after asking a question
  • 3.
    ● WebAssembly ● WebAssemblyfor Web developers ● WebAssembly with Rust ● Demo
  • 4.
  • 5.
  • 6.
    WebAssembly ● New transformationin Web development. ● A new capability to Web and web browsers. ● Fast, portable and secure. ● Safe and Isolated execution and memory. ● Compile to WASM from any supported language ○ C, C++, Go, Rust ● Interpret in Many languages: ○ JavaScript,Node, Go, Rust, C, C++
  • 7.
    Efficient and Fast WebAssemblyaims to execute at native speed by taking advantage of common hardware capabilities available on a wide range of platforms. 01 Open and debuggable WebAssembly is designed to be pretty-printed in a textual format for debugging, testing, experimenting, optimizing, learning, teaching, and writing programs by hand. 03 Safe WebAssembly describes a memory-safe, sandboxed execution environment that may even be implemented inside existing JavaScript virtual machines. 02 Open web platform WebAssembly is designed to maintain the versionless, feature-tested, and backwards-compatible nature of the web. 04 WebAssembly features
  • 9.
    WebAssembly for Webdevelopers ● Existing code to web. ● like Autocad, Various Games, and image processing tools, etc. ● Ecosystem
  • 11.
    Web Development Today ●Browser Compatibility ● Disparate build environment ● TypeScript, JavaScript, CoffeeScript, X-to-JS CodeGen. As SPA’s gets better and more powerful, gets everything gets slower. ● Slow builds. ● Bloated Frameworks. ● Code Performance. ● Browser Issues. ● An infinite number of ways to solve every problem. ● Too many libraries, too much to learn node_module directory is a meme. ● Rapid ecosystem change. Fragmented Slow Overwhelming
  • 13.
  • 14.
    WebAssembly with Rust ●Get benefit of unique Rust features. ○ Memory safety ○ Efficiency ○ Portability ● Wasm pack, Wasm_bindgen. ● Powerful community.
  • 15.
  • 16.
  • 17.
  • 18.
    Advantages of WebAssembly ❏Compatible with All Major Operating Systems and Web Browsers. ❏ Offers Programming Language Choice to Developers. ❏ Provides Better Load Time to Web Applications. ❏ Ensures Secure Experience to Users.
  • 19.
    Improvements areas inWeb Assembly ❏ Manual Memory management(No garbage collector). ❏ Debugging. ❏ Direct access to Web APIs. ❏ Support limited languages.
  • 21.
  • 22.
  • 23.
    The revolution isjust beginning!!!
  • 25.
    ❏ https://webassembly.org/ ❏ https://rustwasm.github.io/book/ ❏https://developer.mozilla.org/en-US/docs/WebAssembly ❏ https://github.com/WebAssembly ❏ https://datafloq.com/read/competitor-siblings-webassembly-replace-javascript/6821 ❏ https://www.youtube.com/watch?v=YDQICTKlr9g ❏ https://youtu.be/cRwUD5SxF4o ❏ https://blog.mozilla.org/blog/2016/03/14/mozilla-pushes-the-web-to-new-levels-as-a-platform-for-games/sun -temple-image/ ❏ https://www.openwebgames.com/#/home.html
  • 26.