26
Apr
Off

Webassembly and .net in the browser

Webassembly

is the successor to asm.js and allows bytecode to run in all mondern browser in sandboxes, no plugins etc. required.
While this is great for game developers for the browser, see Demo (near native speed, webGL support, compiled C++ runs without changes), enterprise developers may also consider this technique in the future.

Imagine Mono, the .Net Framework for Xamarin etc. running in the browser.
Imagine using your same business logic / interfaces / validation within the browser and on the server.
Imagine running Razor pages, written in C# within the browser (Blazor)
Imagine running XAML fat clients in the Browser (OOUI)

The server will be stripped to be a REST WebApi, serializing and deserializing the exact same C# view models e.g. via JSON
and might serve the static files for the browsers

 

Blazor vs. Angular

A matter of taste, Angular utilizes with TypeScript strong typing, also has features like single page application, components, dependency injection, routing etc.
.Net Developer will love to reduce additional complexity by avoiding an additional, non trivial client framework but using C# on both the UI and the business logic.
Native Web developers will prefer the freedom of javascript frameworks (Electron use etc.).
The race is also still open regarding  size, performance, Blazor is still in an experimental stage.
Other developers will love to write their with other languages like Java, Rust etc, Webassembly is just the compile target format.

The race is also still open regarding  size, performance, Blazor is still in an experimental stage.

Usecase

.Net Developers with focus on C# (comes in falvors HTML/Razor or XAML) rather than client frameworks
High performance and huge applications
Applications with focus on business logic rather than UI
True crossplattform applications without store

 

Outlook

Very promising, but in an early alpha state.

Mono belongs to Microsoft and Blazor is an official Microsoft experiment, OOUI is also promising. Maybe someone writes a WinForms framework 😉

Maybe we’ll see office or visual studio soon using this technique.

It can run on servers too, maybe for untrusted code…