Skip to content

Commit

Permalink
[EN] add WebAssembly (#2117)
Browse files Browse the repository at this point in the history
Signed-off-by: Arun Karthick N M <[email protected]>
Signed-off-by: Catherine Paganini <[email protected]>
Signed-off-by: Noah Ispas <[email protected]>
Signed-off-by: Nate W <[email protected]>
Signed-off-by: Seokho Son <[email protected]>
Co-authored-by: Catherine Paganini <[email protected]>
Co-authored-by: Seokho Son <[email protected]>
Co-authored-by: Noah Ispas <[email protected]>
Co-authored-by: Hilliary Lipsig <[email protected]>
Co-authored-by: Nate W <[email protected]>
  • Loading branch information
6 people authored Jul 5, 2024
1 parent d7dca23 commit c53b99b
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
23 changes: 23 additions & 0 deletions content/en/webassembly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: WebAssembly
status: Completed
category: Concept
tags: ["Application", "", ""]
---

WebAssembly (often abbreviated as Wasm) is a binary instruction format designed as a portable target for compiling high-level languages like C, C++, Rust, and others. It enables deployment on the web for client-side and server-side applications.
It is a low-level bytecode format that can be executed in a virtual machine, typically integrated into web browsers. While initially developed for the web, Web Assembly is a Universal Runtime and sees applications in non-web environments such as IoT and edge devices.

## Problem it addresses

For many years, the LAMP (Linux Apache MySQL PHP) stack was the template for web-based applications. Later, Javascript became the king of front-end application development and node. js based applications became the norm. As the technology around the web evolved, it heavily favored interpreted languages, which are typically less performant than compiled languages, even with technological advancements.
While JavaScript has improved over the years, it still faces performance limitations when executing computationally intensive tasks.
Interpreted languages that are compiled at runtime often see performance and functionality issues as the code is executed across different environments. Conversely, compiled binaries typically run the same as long as they've compiled correctly. However, historically, a compiled binary has been less suited for the web environment.

## How it helps

WebAssembly provides a low-level binary format that can be executed at near-native speeds, enabling web applications to perform complex computations efficiently.
It allows developers to build web applications by leveraging their existing skills in languages like C, C++, Rust, and others.
This opens up new possibilities and allows developers to reuse existing codebases and libraries.
Also, WebAssembly modules can run consistently across different browsers, operating systems, and devices, reducing the need for platform-specific code.
Overall, WebAssembly addresses performance limitations, language restrictions, code portability, security concerns, code size, and loading time issues, providing a more robust and flexible environment for web application development.
6 changes: 6 additions & 0 deletions wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ bracex
brømsø
bursty
bvs
bytecode
caas
capex
caret
Expand All @@ -38,6 +39,7 @@ cks
cncf
cncf's
codebase
codebases
codefences
config
cpu
Expand Down Expand Up @@ -112,6 +114,7 @@ jihoon
jonasbn
jones
josé
js
katelin
keda
keys
Expand Down Expand Up @@ -151,6 +154,7 @@ paas
pathconverter
pavel
pavelskipenes
performant
pre
prem
programmatically
Expand Down Expand Up @@ -217,7 +221,9 @@ virtualizing
vm
vms
volkman
wasm
wcmatch
webassembly
wifi
wordlist
wordlists
Expand Down

0 comments on commit c53b99b

Please sign in to comment.