progetto , mirato a creare un'implementazione open source della piattaforma , il cui sviluppo è stato interrotto da Microsoft nel 2011 e il supporto durerà fino al 2021. Come nel di Adobe Flash, lo sviluppo di Silverlight è stato sospeso a favore dell'uso di tecnologie web standard. In passato, esisteva già un'implementazione open source di Silverlight basata su Mono — , ma il suo sviluppo a causa della scarsa richiesta della tecnologia da parte degli utenti.
Il progetto OpenSilver ha fatto un altro tentativo di rinascita della tecnologia Silverlight, consentendo la creazione di applicazioni web interattive utilizzando C#, XAML e .NET. Uno degli obiettivi principali del progetto è prolungare la vita delle esistenti applicazioni Silverlight in un contesto di interruzione del supporto alla piattaforma e della cessazione del supporto da parte dei browser per i plugin. Tuttavia, i sostenitori delle tecnologie .NET e del linguaggio C# possono anche utilizzare OpenSilver per creare nuovi programmi.
Come base, OpenSilver utilizza il codice di progetti open source () e (parte di ASP.NET Core), e per l'esecuzione nel browser viene applicata la compilazione delle applicazioni in codice intermedio . OpenSilver si sviluppa insieme al progetto , che consente di eseguire applicazioni C#/XAML nel browser attraverso la loro compilazione in JavaScript. OpenSilver utilizza la base di codice esistente di CSHTML5, sostituendo i componenti di compilazione in JavaScript con WebAssembly.
Codice del progetto con licenza MIT. Le applicazioni web compilate possono funzionare in qualsiasi browser desktop e mobile che supporti WebAssembly, ma attualmente la compilazione viene eseguita solo su Windows utilizzando l'ambiente Visual Studio 2019. Nella sua forma attuale, è fornito supporto per circa il 60% delle interfacce di programmazione Silverlight più richieste. Quest'anno si prevede di aggiungere supporto ai servizi Open RIA e Telerik UI, oltre a sincronizzare con la recente base di codice dei progetti Blazor e Mono per WebAssembly, in cui si prevede il supporto per la compilazione anticipata (Ahead-of-Time, AOT), che nei test promette di migliorare le prestazioni fino a 30 volte.
Fonte: opennet.ru
