Everyone can contribute! Learn DevOps and Cloud Native in our cafe ☕
Technology is moving fast in the DevOps and Cloud Native community.
Join the conversation and add your thoughts, tips, experiences, stories.
"Everyone Can Contribute" is inspired by GitLab's mission.
53. #EveryoneCanContribute Cafe: WebAssembly with AssemblyScript, first try in Gitpod
Insights
Michael F., Michael A. and Ryan Perry discussed getting started with WebAssembly. After researching a bit, we started a new project based on the AssemblyScript introduction, wondering how things are installed with npm and WebAssembly. After a while, we figured to follow the AssemblyScript: Setting up a new project guide which also populates the package.json
scripts section.
After we modified the index.html
body with the add()
demo example, and successfully ran the website preview inside GitPod, we continue to explore. We then added some div id’s to manipulate, keeping the effort as simple as possible and continued adding the functions: fib()
for integer operations, hello_from()
for strings, sort()
and format_arr()
for sorting arrays, and taught each other both, TypeScript and WebAssembly.
The whole experience was developed in the browser using Gitpod; with a file tree, terminal and port 3000 preview. After the meetup, we have added a .gitpod.yml
configuration file into the project, so that everyone can contribute and learn where we left off :-)
Resources
- Learn Wasm project including the Git history from the meetup.
- Includes a Gitpod configuration to launch the meetup results for you to learn.
- AssemblyScript
- Concepts and WebAssembly System Interface (WASI)
- AssemblyScript supports a limited set of types; in order to make types other than numbers (i32, etc.) work across module boundaries, the compilation commands require the
--exportRuntime
flag. exports.__new is not a function issue.
- Wasm Cooking with Golang book by Philippe Charrière
- WebAssembly in the opsindev.news newsletter July 2022
Future ideas
- Help improve the developer experience. The learning curve is very steep.
- Build WebAssembly in GitLab CI/CD
- Upload the wasm files into the generic package registry in GitLab, and consume the wasm files externally.
- Security scanning
- WASI tutorial
News
The next meetup happens on Augst 9, 2022.
We will meet on the second Tuesday at 9am PT.