.NET

Top 5 WebAssembly Use Cases for .NET Developers

If you are an enterprise software developer, WebAssembly probably crosses your news feeds frequently. Usually the use cases are related to games – someone has ported Doom3 or the Flight Simulator, or some performance improvement over a JavaScript library, which may create the illusion WebAssembly is ‘not meant for you’. The reality couldn’t be more different. If you are not paying attention to WebAssembly – you should. The adoption rate is accelerating and WebAssembly is shifting from being relatively unknown technology to mainstream technology as we speak. Below is the list of use cases we come across most often when talking to our customers and community, and sometimes those use cases are even interlocked. 1 – Greenfield Development – Multi-Platform Development Of the five scenarios, this is the most frequent one. You’ve been tasked to develop an app that ‘runs everywhere’ – desktop, mobile, web. Good news for you – no luggage to carry forward, it is a net new app and there is no old code base to consider. A dream job, really. Naturally, no other deployment mechanism will beat the web. However, you are not a fan of JavaScript. WebAssembly to the rescue! As of last year, W3C

Working with SQLite and WebAssembly for .NET Developers

With recent updates of the mono runtime, and the reactivity of the .NET team to fix issues, it’s now possible to use SQLite with the Uno WebAssembly Bootstrapper and Uno Platform apps.This support is now enabled through WebAssembly static linking, and the reuse of LLVM bitcode compiled source, such as SkiaSharp or SQLite. It allows for an easy use of code written in other languages, from an app built with C#. With the Erik Sink’s recent updates to SQLitePCLRaw 2.0, it’s now possible with .NET for WebAssembly to use the existing official packages. This also enables Entity Framework Core 3.1, and Frank Krueger’s SQLite-net to work out of the box without any specific configuration for WebAssembly. About Uno Platform For those new to Uno Platform – it enables for creation of single-source C# and XAML apps which run natively on iOS and Android, macOS and Web via WebAssembly. Uno Platform is Open Source (Apache 2.0) and available on GitHub. To learn more about Uno Platform, see how it works, or create a small sample app.   Client-side SQLite and Entity Framework Core In order to demonstrate the use of client-side only technologies in the browser, we’ve updated our SQLite 3.3 + EFCore 3.1

Build .NET AOT for WebAssembly in Visual Studio with Uno Platform

It’s been a long-time request: Build Uno Platform WebAssembly apps in Visual Studio on Windows using Ahead of Time (AOT) compilation. Good news, it’s now available in preview in Uno dev branch! The Uno.Wasm.Bootstrap package 1.1-dev.416 package now provides the ability to create AOT, Mixed (AOT+Interpreter) and Interpreter (with Bitcode dependencies) builds on Windows 10, without leaving Visual Studio 2019. To our knowledge, Uno is the first one to provide this kind of functionality. If we are not – please let us know in the comments below; maybe we missed something. This new Uno feature makes transparent use of the Windows Subsystem for Linux (WSL) to create the final binaries. You’ll only need to setup your WSL environment once using a simple script, and don’t worry if you forget to set it up, the bootstrapper will explain what to do.   Quick Start – Uno, Visual Studio, WASM, AOT Make sure WSL with Ubuntu 18.04 is installed Install the latest Uno Visual Studio templates Create a new Uno Cross Platform app project Update the Uno.Wasm.Bootstrap and Uno.Wasm.Bootstrap.Cli nuget packages to 1.1-dev.416 or later, using the Nuget Package manager (There’s no need to update other packages) In the Wasm project, add

Introduction to WebAssembly for .NET Developers

Guest Blog Post by Antonii Georgiev I really feel that we are on the brink of a revolution. It’s still very early in the revolution, but I feel like WebAssembly is going to completely change the way we think of web applications. WebAssembly has slowly been stirring up fire since its creation, but why exactly should you be interested in it? Firstly, what is WebAssembly?   WebAssembly operates on a stack-based machine that allows web applications to run near-native speed by using a binary format. It can be generated by higher level programming languages like C++ or C#. The idea is that it runs a lot faster than JavaScript. It’s quite efficient, meaning it’s fast to load and execute. It’s safe and portable just the way JavaScript is. You don’t have to deal with memory overflow exploits and things of that nature. Lastly, it’s portable so it will run in almost any modern browser nowadays. WebAssembly is not intended to kill JavaScript, and it probably won’t. Maybe someday it might replace JavaScript in certain scenarios, altering the way we write our web apps just enough that we may end up writing the majority of our applications in an entirely different