Elements' WebAssembly platform allows you to build apps that run client-side natively in the web browser.
With Elements, you can use any of its six languages to write for WebAssembly. You can pick the language you like or know best, or that provides the features best suited for the task at hand – and of course, you can also mix them in the same project as needed.
As mentioned above, your project compiles into a
Elements provides strongly-typed wrappers for most of these APIs, so you get full Code Completion and other IDE smarts as your work, can see what methods are available, and will get clean compile-time errors for wrong code, even when working with the Browser and DOM APIs. Just as you know and expect from Elements in general.
The tool chain also provides an (optional) CodeBehind model where – very similar to WPF on .NET – where elements of your HTML page are exposed to your code as strongly typed properties and can be accessed without DOM voodoo. So you can simply go
okButton.innerText := "Click Me".
Simply giving your HTML elements an
id tag is enough!
Of course, writing code is only half the story. Elements comes with a powerful debug engine for WebAssembly that works with any modern Chromium browser to let you run, test, and debug your project the way you expect – with breakpoints, stepping, variable inspection and all the rest.
Elements provides full support for creating modules that run on Node.js. Just as with Browser modules, Node.js modules have access to all the APIs the Node.js runtime provides, many of them wrapped as strongly-typed interfaces to give you code completion and compile-time error checking.
You can read more about Node.js at nodejs.org.