![](/asm-dom/img/hammer-and-wrench.png)
Flexibility
Flexibility
asm-dom is a low-level virtual DOM library. It is unopinionated with regards to how you should structure your application.
![](/asm-dom/img/black-universal-recycling-symbol.png)
Shared C++ Codebase
Shared C++ Codebase
Write only once in C++ and share as much code as possible with desktop/mobile apps and web site.
Cutting Edge Technologies
asm-dom allows you to write an entire SPA in C++ and compile it to WebAssembly (or asmjs as fallback) using Emscripten. This will produce an app that aims to execute at native speed by taking advantage of common hardware capabilities!
![](/asm-dom/img/cpx.png)
JSX like syntax
JSX like syntax
asm-dom can be used with a JSX like syntax to make your developer experience even better
Server Side Rendering
Server Side Rendering
asm-dom supports server-side rendering, you can write your server in C++ and run it on Node.js with WebAssembly
![](/asm-dom/img/ssr.png)