Silverlight - это был аналог Flash интегрированный со СТАРЫМ стеком .NET Framework.Если ваше (старое) приложение написано с использованием:
- .NET Framework (не core/mono), то есть оно Windows-специфично
- Использует Windows Communication Foundation для организации серверных/сервисных компонентов. Опять специфично для Windows.
- Использует Windows Presentation Foundation для организации GUI.
- Использует устаревшую системную шину Windows (MSMQ)
- Использует ASP.NET MVC для серверной части веб-фронтенда
Вот в этом случае Microsoft предлагал использовать Silverlight для организации красивого и "богатого" веб-клиента.
В 2024-ом году нет смысла это использовать по следующим причинам:
1) .NET Framework устарел и не рекомендуется к использованию, нужно использовать кроссплатформенный .NET 8 (LTS), например. Это и есть Mono. Microsoft его купил и сделал основным, а свои родные продукты перевел в Legacy.
2) Вместо ASP.NET MVC рекомендуется использовать кроссплатформенную версию ASP.NET Core, которая работает в любой ОС и является развитием более удачной реализации ASP.NET изнутри Mono.
3) WCF не рекомендуется к использованию вообще, Microsoft предлагает использовать gRPC и Protobuf для реализации служебного взаимодействия.
https://learn.microsoft.com/en-us/aspnet/core/grpc/why-migra...
4) WPF всё еще актуален, но для новых проектов для Windows рекомендуется использовать WinUI 3
https://learn.microsoft.com/en-us/windows/apps/winui/winui3/
5) MSMQ мертва примерно лет 15. Если в вашем проекте используется шина данных рекомендуется использовать кроссплатформенные шины вроде RabbitMQ.
А вместо Silverlight нужно использовать .NET Blazor
https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor
Причем .NET MAUI - это бывший Xamarin Forms из Mono. Оно лишь кроссплатформенная абстракция и он тоже поддерживается в Blazor.
Собственно, там можно писать как настольное приложение с использованием MAUI так и веб приложение. А также смешивать, т.е. настольное приложение с веб-объектами (движок на Windows будет Google Blink, а не IE).
Не поймите меня не правильно, OpenSilver - это важный и нужный проект!
Просто это проект для сопровождения и оздоровления legacy кодовой базы Silverlight/WCF и прочего. Просто если кто-то из присутствующих решит использовать его в НОВОМ проекте - не вздумайте. Для этого есть Blazor с которым OpenSilver тоже дружит.