OpenSilver

Last updated
OpenSilver
Other namesCSHTML5
Developer(s) Userware
Initial releaseMarch 9, 2020;5 years ago (2020-03-09)
Stable release
3.2 / March 18, 2025;24 days ago (2025-03-18) [1]
Repository
Written in C#
Operating system Cross-platform
Platform .NET, WebAssembly
Available inEnglish
Type Software framework
License MIT License
Website opensilver.net   OOjs UI icon edit-ltr-progressive.svg

OpenSilver (formerly CSHTML5 or C#/XAML for HTML5) is an open-source framework designed to facilitate the development of rich internet applications (RIAs) using C# and XAML. It was developed as a successor to Microsoft Silverlight, enabling developers to migrate existing Silverlight applications to the web without rewriting their codebase. This framework is built on current web standards, including HTML5, CSS3, and WebAssembly, ensuring broad compatibility across modern web browsers regardless of the operating system without requiring plugins.

Contents

OpenSilver is a community-driven project that is freely available for anyone to use, modify, or improve. It operates under the MIT license. It is compatible with Microsoft's .NET platform, allowing developers to use C#, VB.NET, [2] F#, [3] and XAML for application development, thereby maintaining a familiar development experience for those from a Silverlight or WPF background. Over the past two years, OpenSilver's release 2.2 [4] has positioned itself as an advanced web framework designed for line-of-business applications.

Until the end of 2024, releases 3.0 and the version 3.1 [5] bring several key features such as XAML designer for Visual Studio Code, improvements of WPF support, and support for .NET 9.

As of March 2025, OpenSilver version 3.2 [6] introduces support for porting Silverlight and WPF applications to web, mobile, and non-Windows desktop platforms.

History

In 2014, Userware, founded in 2007 and led by Giovanni Albani, [7] launched CSHTML5, [8] a precursor to becoming OpenSilver. This initiative began efforts to provide a contemporary alternative to Microsoft Silverlight in 2020, [9] focusing on open-source development. As technology progressed and the need for modern web application frameworks grew, CSHTML5 evolved, culminating in the creation of OpenSilver 1.0 in October 2021. [10] OpenSilver aimed to seamlessly integrate Silverlight's legacy capabilities with the demands of modern web development.

The inception of OpenSilver was motivated by the discontinuation of Silverlight and the need for a robust solution that allows legacy Silverlight applications to continue functioning in a modern web environment. [11] By providing a path forward for these applications, OpenSilver helps preserve the investment made in Silverlight-based projects while taking advantage of the advancements in web technology.

Version history and milestones

OpenSilver releases [12]
VersionRelease DateNotes
class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="Technology Preview" | Old version, not maintained: Technology PreviewMarch 9, 2020/
class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="Beta" | Old version, not maintained: BetaSeptember 13, 2021/
class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="1.0" | Old version, not maintained: 1.0October 12, 2021/
class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="1.1" | Old version, not maintained: 1.1October 4, 2022Support for third-party libraries, including Telerik UI for Silverlight.
class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.0" | Old version, not maintained: 2.0October 16, 2023Support for the VB.NET programming language.
class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.1" | Old version, not maintained: 2.1February 6, 2024Support for the F# programming language and integration of the Microsoft Silverlight Toolkit.
class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="2.2" | Old version, not maintained: 2.2April 23, 2024Support for Visual Studio LightSwitch.
class="templateVersion co swatch-maintained" style="color: var(--color-base, #202122); " title="Old version, still maintained" data-sort-value="3.0" | Old version, still maintained: 3.0July 10, 2024AI-powered XAML designer and supports Windows, Linux, and Mac. OpenSilver CLI.
class="templateVersion co swatch-maintained" style="color: var(--color-base, #202122); " title="Old version, still maintained" data-sort-value="3.1" | Old version, still maintained: 3.1December 10, 2024XAML designer for Visual Studio Code, improvements of WPF support, new UI theme, and .NET 9 support.
class="templateVersion c swatch-latest" style="color: var(--color-base, #202122); " title="Latest version" data-sort-value="3.2" | Latest version:3.2March 18, 2025Integrates .NET MAUI Hybrid, enabling WPF-compatible apps on multiple platforms from a single codebase.
Legend:
Old version, not maintained
Old version, still maintained
Latest version

Technology

OpenSilver: The primary logical components: Compiler and Runtime Opensilver Top-Level Logical Ccomponents.jpg
OpenSilver: The primary logical components: Compiler and Runtime

OpenSilver integrates three main components:

  1. Compiler - Converts XAML into C# equivalents and copies resources, such as images, to the output folder.
  2. Runtime - Bridges the HTML DOM and the XAML code.
  3. Simulator - Allows developers to debug OpenSilver web applications like desktop applications.

OpenSilver's foundation is its ability to take .NET assemblies and XAML files (the building blocks of Silverlight applications) as input and use Blazor to compile them in WebAssembly.

Compilation process

Runtime environment

Development and debugging

High-level architecture of OpenSilver

OpenSilver: Top-level architectural diagram Opensilver Architecture.jpg
OpenSilver: Top-level architectural diagram

Development tools

OpenSilver offers development tools and a software development kit (SDK [13] ) to aid application development. These tools include Visual Studio project templates and the OpenSilver Simulator, simplifying the workflow for developers accustomed to Silverlight or .NET environments.

Supported IDE

Product nameCode nameVersion number.NET Framework.NET (formerly .NET Core)
Visual Studio 2019Dev1616.0Only to run the OpenSilver simulator application6.0
Visual Studio 2022Dev1717.0Only to run the OpenSilver simulator application6.0, 7.0, Recommended: 8.0, 9.0

Supported coding editors

Product nameOperating System.NET (formerly .NET Core)
Visual Studio Code Windows, Linux, MacOS7.0, Recommended: 8.0, 9.0

NOTE: OpenSilver CLI is supported since OpenSilver 3.0. It allows the creation and manipulation of OpenSilver projects with Command-line interface, which makes it convenient for users to use their preferred code editors for software development.

Licensing

OpenSilver is licensed under the MIT License, which allows users to freely use, modify, distribute, and sell the software as long as they include the original copyright and permission notices.

See also

References

  1. "OpenSilver 3.2 Brings WPF Apps to iOS, Android, and Beyond via MAUI Hybrid!". OpenSilver. Retrieved March 21, 2025.
  2. "OpenSilver 2.0 Adds VB.NET, RIA Services and Live XAML Preview". InfoQ. Retrieved October 20, 2023.
  3. "OpenSilver 2.1 adds support for F#". SD Times. 7 February 2024. Retrieved February 7, 2024.
  4. Ramel, David (April 30, 2024). "OpenSilver 2.2 Aims to Revive Visual Studio LightSwitch Legacy Apps". Visual Studio Magazine. Retrieved July 10, 2024.; Krill, Paul (April 30, 2024). "OpenSilver 2.2 shines on LightSwitch". InfoWorld. Retrieved July 10, 2024.; Kapić, Edin (May 30, 2024). "OpenSilver 2.2 Migrates LightSwitch Applications". InfoQ. Retrieved July 10, 2024.; Ewbank, Kay (April 30, 2024). "OpenSilver 2.2 Adds LightSwitch Compatibility Pack". I-Programmer. Retrieved July 10, 2024.; Lee, Michaelis (May 1, 2024). "Continuing Development Of Silverlight Technology: OpenSilver 2.2 Platform Released". Gamingdeputy. Retrieved July 10, 2024.
  5. Krill, Paul (December 11, 2024). "OpenSilver 3.1 brings XAML designer for VS Code". InfoWorld. Retrieved December 13, 2024.; Barron, Jenna (December 10, 2024). "OpenSilver 3.1 adds new drag-and-drop XAML designer for VS Code". SD Times. Retrieved December 13, 2024.; Ewbank, Kay (December 12, 2024). "OpenSilver Adds XAML Designer For Visual Studio Code". I-Programmer. Retrieved December 13, 2024.
  6. Krill, Paul (March 21, 2025). "OpenSilver extends to iOS and Android". InfoWorld. Retrieved March 26, 2025.; Ramel, David (March 18, 2025). "OpenSilver 3.2 Takes WPF Apps to Mobile with .NET MAUI Hybrid Integration". Visual Studio Magazine. Retrieved March 26, 2025.; Kapić, Edin (March 25, 2025). "OpenSilver 3.2 Extends Silverlight and WPF to Mobile Devices". InfoQ. Retrieved March 26, 2025.
  7. "OpenSilver Ships with Giovanni Albani". .NET Rocks!. Retrieved December 9, 2021.
  8. "Missing Silverlight and Waiting for Blazor? CSHTML5 for C# Web Development Goes Open Source". Visual Studio Magazine. Retrieved March 12, 2019.
  9. Schwichtenberg, Holger (March 11, 2020). "OpenSilver: Silverlight kehrt als Open Source zurück" [OpenSilver: Silverlight returns as open source]. Heise Online (in German). Retrieved July 10, 2024.; Schwichtenberg, Holger (March 11, 2020). "OpenSilver: Silverlight kehrt als Open Source zurück" [OpenSilver: Silverlight returns as open source]. Heise Online (in German). Retrieved July 10, 2024.; Krill, Paul (March 11, 2020). "OpenSilver resurrects Silverlight with WebAssembly". InfoWorld. Retrieved July 10, 2024.; Krill, Paul; Elyan, Jean (March 13, 2024). "OpenSilver ressuscite Silverlight avec WebAssembly" [OpenSilver Resurrects Silverlight with WebAssembly]. Le Monde Informatique (in French). Retrieved July 10, 2024.
  10. Ramel, David (October 26, 2021). "OpenSilver v1.0 Arrives as Microsoft Ends Silverlight Support". Visual Studio Magazine. Retrieved July 10, 2024.; Anderson, Tim (September 16, 2021). "OpenSilver throws Microsoft Silverlight devs a lifeline as end of support looms – or you could forget it ever happened". The Register. Situation Publishing. Retrieved July 10, 2024.; Krčmář, Petr (October 14, 2021). "Silverlight je mrtev, ať žije OpenSilver" [Silverlight is dead, long live OpenSilver]. Root.cz (in Czech). Retrieved July 10, 2024.; Taler, Hubert (October 14, 2021). "Umarł Silverlight, niech żyje OpenSilver" [Silverlight is dead, long live OpenSilver]. Spider's Web (in Polish). Retrieved July 10, 2024.
  11. "OpenSilver". AlternativeTo. Retrieved July 10, 2024.
  12. "What's New". OpenSilver. Retrieved 2025-03-20.
  13. "Download OpenSilver SDK". OpenSilver website.

Further reading

Documentation and resources