È stata pubblicata la prima versione stabile del progetto OpenSilver, che offre un'implementazione aperta della piattaforma Silverlight, consentendo la creazione di applicazioni web interattive mediante tecnologie C#, XAML e .NET. Il codice del progetto è scritto in C# e distribuito con licenza MIT. Le applicazioni Silverlight compilate possono funzionare su qualsiasi browser desktop e mobile che supporti WebAssembly, ma per ora la compilazione è possibile solo su Windows utilizzando l'ambiente Visual Studio.
Ricordiamo che Microsoft ha interrotto lo sviluppo delle funzionalità di Silverlight nel 2011 e ha programmato il completo abbandono del supporto alla piattaforma per il 12 ottobre 2021. Come nel caso di Adobe Flash, lo sviluppo di Silverlight è stato interrotto a favore dell'uso di tecnologie web standard. Circa 10 anni fa, sulla base di Mono, era già in fase di sviluppo un'implementazione aperta di Silverlight chiamata Moonlight, ma il suo sviluppo è stato fermato a causa della mancata richiesta da parte degli utenti.
Il progetto OpenSilver ha tentato di far rivivere la tecnologia Silverlight con l'obiettivo di prolungare la vita delle esistenti applicazioni Silverlight, in un contesto di cessazione del supporto della piattaforma da parte di Microsoft e della soppressione del supporto per i plugin da parte dei browser. Tuttavia, anche i sostenitori delle tecnologie .NET e del linguaggio C# possono utilizzare OpenSilver per creare nuovi programmi. Per sviluppare un'applicazione e migrare dall'API di Silverlight a chiamate equivalenti di OpenSilver, si propone di utilizzare un plugin appositamente preparato per l'ambiente Visual Studio.
Come base di OpenSilver è stato utilizzato il codice dei progetti aperti Mono (mono-wasm) e Microsoft Blazor (parte di ASP.NET Core), e per l'esecuzione nel browser si utilizza la compilazione delle applicazioni in codice intermedio WebAssembly. OpenSilver si sviluppa insieme al progetto CSHTML5, che consente di compilare applicazioni C#/XAML/.NET in presentazioni in JavaScript adatte per l'esecuzione nel browser. OpenSilver amplia la base di codice di CSHTML5 con la possibilità di compilare C#/XAML/.NET in WebAssembly, anziché in JavaScript.
Nella sua attuale versione, OpenSilver 1.0 supporta completamente tutte le principali funzionalità del motore Silverlight, inclusa la piena compatibilità con i linguaggi C# e XAML, oltre all'implementazione della maggior parte delle API della piattaforma, sufficienti per utilizzare librerie C# come Telerik UI, WCF RIA Services, PRISM e MEF. Inoltre, OpenSilver offre anche alcune funzionalità avanzate non presenti nella versione originale di Silverlight, come il supporto per il linguaggio C# 9.0, la piattaforma .NET 6 e le nuove versioni dell'ambiente di sviluppo Visual Studio, garantendo anche la compatibilità con tutte le librerie JavaScript.
Tra i piani futuri si segnala l'intenzione di implementare nel prossimo anno il supporto per il linguaggio Visual Basic (VB.NET) oltre a quello attualmente supportato, C#, e di fornire strumenti per la migrazione delle applicazioni WPF (Windows Presentation Foundation). Il progetto prevede anche l'implementazione del supporto per l'ambiente di sviluppo Microsoft LightSwitch e la compatibilità con le librerie .NET e JavaScript più diffuse, che saranno fornite sotto forma di pacchetti pronti per l'uso.
Fonte: opennet.ru
