Developer(s) | Userware |
---|---|
Initial release | March 9, 2020 |
Stable release | 3.1 / December 10, 2024 [1] |
Repository | github |
Written in | C# |
Operating system | Cross-platform |
Platform | .NET, WebAssembly |
Available in | English |
Type | Software framework |
License | MIT License |
Website | opensilver |
OpenSilver 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.
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, the major release 3.0 and the latest stable 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.
In 2014, Userware, founded in 2007 and led by Giovanni Albani, [6] launched CSHTML5, [7] a precursor to becoming OpenSilver. This initiative began efforts to provide a contemporary alternative to Microsoft Silverlight in 2020, [8] 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. [9] 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. [10] 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 | Release Date | Notes |
---|---|---|
Technology Preview | March 9, 2020 | / |
Beta | September 13, 2021 | / |
1.0 | October 12, 2021 | / |
1.1 | October 4, 2022 | Support for third-party libraries, including Telerik UI for Silverlight. |
2.0 | October 16, 2023 | Support for the VB.NET programming language. |
2.1 | February 6, 2024 | Support for the F# programming language and integration of the Microsoft Silverlight Toolkit. |
2.2 | April 23, 2024 | Support for Visual Studio LightSwitch. |
3.0 | July 10, 2024 | AI-powered XAML designer and supports Windows, Linux, and Mac. OpenSilver CLI. |
3.1 | December 10, 2024 | XAML designer for Visual Studio Code, improvements of WPF support, new UI theme, and .NET 9 support. |
OpenSilver integrates three main components:
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.
OpenSilver offers development tools and a software development kit (SDK [11] ) 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.
Product name | Code name | Version number | .NET Framework | .NET (formerly .NET Core) |
---|---|---|---|---|
Visual Studio 2019 | Dev16 | 16.0 | Only to run the OpenSilver simulator application | 6.0 |
Visual Studio 2022 | Dev17 | 17.0 | Only to run the OpenSilver simulator application | 6.0, 7.0, Recommended: 8.0, 9.0 |
Product name | Operating System | .NET (formerly .NET Core) |
---|---|---|
Visual Studio Code | Windows, Linux, MacOS | 7.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.
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.
Extensible Application Markup Language is a declarative XML-based language developed by Microsoft for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.
Windows Forms (WinForms) is a free and open-source graphical (GUI) class library included as a part of Microsoft .NET, .NET Framework or Mono, providing a platform to write client applications for desktop, laptop, and tablet PCs. While it is seen as a replacement for the earlier and more complex C++ based Microsoft Foundation Class Library, it does not offer a comparable paradigm and only acts as a platform for the user interface tier in a multi-tier solution.
Microsoft Blend for Visual Studio is a user interface design tool developed and sold by Microsoft for creating graphical interfaces for web and desktop applications that blend the features of these two types of applications. It is an interactive, WYSIWYG front-end for designing XAML-based interfaces for Windows Presentation Foundation, Silverlight and UWP applications. It was one of the applications in the Microsoft Expression Studio suite before that suite was discontinued.
SharpDevelop is a discontinued free and open source integrated development environment (IDE) for the .NET Framework, Mono, Gtk# and Glade# platforms. It supports development in C#, Visual Basic .NET, Boo, F#, IronPython and IronRuby programming languages.
Windows Presentation Foundation (WPF) is a free and open-source user interface framework for Windows-based desktop applications. WPF applications are based in .NET, and are primarily developed using C# and XAML.
ClickOnce is a component of Microsoft .NET Framework 2.0 and later, and supports deploying applications made with Windows Forms or Windows Presentation Foundation. It is similar to Java Web Start for the Java Platform or Zero Install for Linux.
Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe's runtime, Adobe Flash. While early versions of Silverlight focused on streaming media, later versions supported multimedia, graphics, and animation, and gave support to developers for CLI languages and development tools. Silverlight was one of the two application development platforms for Windows Phone, but web pages using Silverlight did not run on the Windows Phone or Windows Mobile versions of Internet Explorer, as there was no Silverlight plugin for Internet Explorer on those platforms.
MIX was a Microsoft conference held annually for Web developers and designers at which Microsoft showcased upcoming web technologies. The conference was held each spring at the Venetian Hotel in Las Vegas. Unlike many of Microsoft's technical conference, MIX has been promoted more heavily to designers by inviting popular speakers from other popular web design conferences, such as SXSW, and has sponsored a CSS design contest each year to promote the conference. Microsoft has also used this conference as an opportunity to promote new web design and development tools such as Silverlight and Microsoft Expression Studio.
Moonlight is a discontinued free and open source implementation for Linux and other Unix-based operating systems of the Microsoft Silverlight application framework, developed and then abandoned by the Mono Project. Like Silverlight, Moonlight was a web application framework which provided capabilities similar to those of Adobe Flash, integrating multimedia, graphics, animations and interactivity into a single runtime environment.
Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms including Windows API, Windows Forms, Windows Presentation Foundation (WPF), Microsoft Store and Microsoft Silverlight. It can produce both native code and managed code.
XAML Browser Applications are Windows Presentation Foundation (.xbap) applications that were intended to run inside a web browser such as Firefox or Internet Explorer through the NPAPI interface. Due to NPAPI being phased out in recent years, and from lack of support, there are currently no browsers that support XBAP applications.
Model–view–viewmodel (MVVM) is an architectural pattern in computer software that facilitates the separation of the development of a graphical user interface —be it via a markup language or GUI code—from the development of the business logic or back-end logic such that the view is not dependent upon any specific model platform.
The .NET Framework is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until being superseded by the cross-platform .NET project. It includes a large class library called Framework Class Library (FCL) and provides language interoperability across several programming languages. Programs written for .NET Framework execute in a software environment named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.
Microsoft Silverlight is an application framework for writing and running rich web applications that was actively developed and marketed by Microsoft from 2007 to 2012. This is a technical overview of the platform's history.
Mono is a free and open-source software framework that aims to run software made for the .NET Framework on Linux and other OSes. Originally by Ximian which was acquired by Novell, it was later developed by Xamarin which was acquired by Microsoft. In August 2024, Microsoft transferred ownership of Mono to WineHQ.
Windows UI Library is a user interface API that is part of the Windows Runtime programming model that forms the backbone of Universal Windows Platform apps for the Windows 8, Windows 8.1, Windows 10 and Windows Phone 8.1 operating systems. It enables declaring user interfaces using Extensible Application Markup Language (XAML) technology.
Progress Telerik Test Studio is a Windows-based software test automation tool for web and desktop that supports functional testing, software performance testing, load testing and RESTful API testing developed by Telerik. The tool ships with a plugin for Visual Studio and a standalone app that use the same repositories and file formats. Test Studio supports HTML, AJAX, Silverlight, ASP.NET MVC, JavaScript, WPF, Angular, React, ASP.NET AJAX, ASP.NET Core, and Blazor. Any application that runs on .NET 5, .NET Core, .NET 6 or higher can be automated with Test Studio. Test Studio supports cross-browser testing for Internet Explorer, Firefox, Microsoft Edge, and Chrome.
DotNetBrowser is a proprietary .NET library that provides a Chromium-based engine which can be used to load and display web pages. It is developed and supported by TeamDev since 2015.
Avalonia is a free and open-source .NET cross-platform XAML-based UI framework inspired by WPF/UWP and distributed under the MIT License. Avalonia supports the MVVM pattern.