È stato pubblicato il primo rilascio stabile del progetto OpenSilver, che offre un'implementazione open-source della piattaforma Silverlight, consentendo la creazione di applicazioni web interattive tramite le tecnologie C#, XAML e .NET. Il codice del progetto è scritto in C# e distribuito sotto la licenza MIT. Le applicazioni Silverlight compilate possono funzionare in qualsiasi browser desktop e mobile che supporti WebAssembly, ma la compilazione diretta è attualmente 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 la completa cessazione del supporto per la piattaforma entro il 12 ottobre 2021. Così come per Adobe Flash, lo sviluppo di Silverlight è stato interrotto a favore dell'adozione di tecnologie web standard. Circa dieci anni fa, un'implementazione open-source di Silverlight basata su Mono, chiamata Moonlight, era in fase di sviluppo, ma il suo sviluppo è stato fermato a causa della scarsa richiesta da parte degli utenti.
Il progetto OpenSilver cerca di rinvigorire la tecnologia Silverlight, estendendo la vita delle applicazioni Silverlight esistenti nell'era della cessazione del supporto da parte di Microsoft e della rimozione dei plugin dai 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 Silverlight a chiamate equivalenti in OpenSilver, si raccomanda di utilizzare un'apposita estensione per l'ambiente Visual Studio.
OpenSilver si basa sul codice dei progetti open-source Mono (mono-wasm) e Microsoft Blazor (parte di ASP.NET Core), e utilizza la compilazione delle applicazioni in codice intermedio WebAssembly per l'esecuzione nel browser. OpenSilver si evolve insieme al progetto CSHTML5, che consente la compilazione di applicazioni C#/XAML/.NET in output JavaScript, idoneo per l'esecuzione nel browser. OpenSilver amplia la base di codice di CSHTML5, aggiungendo la possibilità di compilare C#/XAML/.NET in WebAssembly anziché in JavaScript.
Nella sua forma attuale, OpenSilver 1.0 supporta completamente tutte le principali funzionalità del motore Silverlight, inclusa la piena compatibilità con i linguaggi C# e XAML, così come l'implementazione della maggior parte delle API della piattaforma, sufficienti per utilizzare librerie in C# come Telerik UI, WCF RIA Services, PRISM e MEF. Inoltre, in OpenSilver sono disponibili anche alcune funzionalità avanzate assenti nel Silverlight originale, come il supporto per il linguaggio C# 9.0, la piattaforma .NET 6 e le nuove versioni dell'ambiente di sviluppo Visual Studio, oltre a garantire la compatibilità con tutte le librerie in JavaScript.
Tra i piani futuri, si segnala l'intenzione di implementare il supporto per il linguaggio Visual Basic (VB.NET) oltre al linguaggio C# attualmente supportato, così come la fornitura di strumenti per la migrazione delle applicazioni WPF (Windows Presentation Foundation). Il progetto prevede anche il supporto per l'ambiente di sviluppo Microsoft LightSwitch e la compatibilità con popolari librerie .NET e JavaScript, che saranno fornite in forma di pacchetti pronti all'uso.
Fonte: opennet.ru
