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
Clients pursuing WebAssembly for this reason usually have questions about performance, security, authentication, deployment, testing, designing for multiple form factors, as well as general skillset questions. Each one of these topics deserves a discussion on its own and we suggest you research this further before deciding which stack to use when targeting WebAssembly.
Our recommendation here is using WinUI and Uno Platform for multi-platform development . The Windows has you covered for most, if not all, of those important enterprise considerations mentioned above over the decades they have used to evolve one amazing framework after another – WinForms, WPF, UWP and finally WinUI – the way forward for building Windows apps. And Uno Platform has you covered on WebAssembly side as well as on mobile devices, and non-Windows desktops.
2 – Moving from Desktop-Only to (also) Browser-Based Applications
The same recommendations from #1 above about WinUI and Uno Platform apply. What’s more, the project Reunion that Microsoft announced at this year’s Build conference may make this even more appealing to you. Not only will you unify all your Windows applications, but you will unify even the non-Windows platforms.
We’ve had great success with lifting and modernizing traditional desktop app – Windows Calculator – to run on WebAssembly. Read all about it here.
3 – Modernization of an Older app Written in Silverlight
4 – Backward Compatibility with Windows 7 and earlier
Windows 7 extended end of life was about 6 months ago – January 14, 2020. However, Windows 7 stlll held about 30% of the OS market share. In addition, our surveys from December 2019 showed that over 20% of the developer still have plans to support Windows 7 over the next 3 years.
If you are one of these developers, and you are starting work on net new desktop applications targeting Windows 10 and later, than using WebAssembly as part of your development stack can ensure you have backward compatibility with Windows 7 and before. It will mean that you wrap your WebAssembly (and Uno Platform built application in an Electron shell so you can run it as a native Windows 7 app. Alternatively, you can ask your Windows 7 users to use the WebAssembly powered Web Application you can get from the same source code you produced using WinUI & Uno Platform.
5 – Progressive Web Apps / Complementary Mobile App
Wikipedia defines PWAs as:
Be it that you are looking to develop a pure PWA for your mobile-first, mobile-only approach, or you are looking to ‘peel off’ a piece of your LOB desktop app and make it mobile (I.e. a time-tracking app), WebAssembly is your friend as you can use C# and XAML to target PWA. Deployment is a breeze – users will be able to install your app by simply ‘+’ on your WebApp.
At OSS Uno Platform we have been working on WebAssembly since 2018 and have achieved some great performance advantages (LINK). We hope you check out Uno through this getting started tutorial and that you also check out our annual UnoConf – virtual and free this year, on August 12. Register Now.
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.
Sasha Krsmanovic, on behalf of Uno Platform team