This post tracks the technology stack we are using for the different versions of RIBOT.
It is expected to be a registry or "log", tracking individual versions + implemented technologies.
As time progresses, new entries/posts are being added for this first post to be updated accordingly.
RIBOT/X v1:
- Framework7 (https://framework7.io/): mobile-first web toolkit.
- It is a Single Page Application (https://en.wikipedia.org/wiki/Single-page_application) (SPA).
- WebAssembly (https://webassembly.org/) (Wasm): "a portable compilation target for programming languages".
- AssemblyScript (https://www.assemblyscript.org/) is our main language for generating "lean and mean" embedded wasm modules.
Added:
Quote from: VLS on Mar 26, 2025, 08:50 PM- WebAssembly (https://webassembly.org/) (Wasm): "a portable compilation target for programming languages".
Instead of focusing on supporting a single programming
language, we are adopting
WebAssembly (Wasm) as the open
target for module creation.
Any language that can work with our RIBOT string format is suitable (and virtually all languages support text string handling).
The list of Wasm languages is extensive and continues to grow.
Here is a curated list: "WebAssembly Support in Top 20 Languages":
https://developer.fermyon.com/wasm-languages/webassembly-language-support
Here are some additional resources:
https://wasmlang.org/
https://awesome.facts.dev/awesome/appcypher/awesome-wasm-langs
https://github.com/tempbottle/WebAssemblyLanguages
With such a wide range of options, this should be an interesting module development choice!
RIBOT's framework/core continues to advance!
We are packaging everything into a self-contained HTML page (SPA):
https://en.wikipedia.org/wiki/Single-page_application
In our implementation, once the webpage is transferred to the user's device, it can continue to function in offline mode.
This addresses internet connection issues for land-based players and enhances local usage for online bettors.
We have settled on
AssemblyScript as our projects' main language for generating the "lean and mean" embedded "
.wasm" files we require to interact with RIBOT's core.
- https://en.wikipedia.org/wiki/AssemblyScript
- https://www.assemblyscript.org/
Fellow programmers are free to choose their Webassembly language from the growing list of wasm-targeting programming languages available, of course! O:-).
Bright news! We have adopted JavaScript modules as default loading format, which enables support for more programming languages, while keeping most of our code intact:
- 10 Languages That Compile to JavaScript (https://www.sitepoint.com/10-languages-compile-javascript/)
- 51 Best Languages That Compile to JavaScript as of 2025 (https://www.slant.co/topics/101/~best-languages-that-compile-to-javascript)
This improved "Module.js" format keeps access to
all of the mentioned in the posts above (Webassembly/Wasm), while adding more languages and making RIBOT more future-proof.
It is a very positive last speed-tracked enhancement/addition, right before build snapshot to go live with v1.2.