6 ms·
Wait, why involve wasm in this?
by mwcampbell 1mo ago
Wait, why involve wasm in this?
- josephg 1mo agoWasm will be optional. Really, I have 2 goals with this: 1. Short term, I want a good, clean, rust UI library for building native applications. 2. Long term, I'm making my own OS / computing environment. I have a whole bunch of strange sounding ideas for how I want that to work. For example, I want to be able to just launch an app via a URL like we do on the web. I want to be able to write a program once and run it on any computer or phone. (Though it may want platform specific tweaks). For (2) to work, I'm experimenting with a design where I separate the application into 2 parts: the platform specific layout engine & UI, and the application's logic & code. Like webpages and a web browser. This could bring a bunch of benefits - including allowing apps to be write-once, run-anywhere. This separation would make it easy to allow apps to be written in other languages, like C#, Go, C, etc. And I think we can make a special host app for LLMs to interact directly with applications. But the downside is wasm. Apps will run slower, and lose raw access to the raw platform APIs. But, since the interaction between the application and the host is just function calls, it should be easy to just skip wasm entirely. My plan is 2 separate compilation modes: 1. Compile a native app. No wasm. The result is a simple binary. And 2. Cross platform wasm mode. That's the plan at least. We'll see!