De release van het OpenSilver 2.1-project is gepubliceerd, dat de ontwikkeling van het Silverlight-platform voortzet en het mogelijk maakt om interactieve webapplicaties te creƫren met behulp van C#, F#, XAML en .NET-technologieƫn. De met OpenSilver gecompileerde Silverlight-applicaties kunnen draaien in elke desktop- en mobiele browser die WebAssembly ondersteunt, maar compilatie is voorlopig alleen mogelijk op Windows met behulp van Visual Studio. De code van het project is geschreven in C# en wordt verspreid onder de MIT-licentie.
In 2021 stopte Microsoft met de ontwikkeling en ondersteuning van het Silverlight-platform ten gunste van de toepassing van standaard webtechnologieƫn. Oorspronkelijk was het OpenSilver-project gericht op het aanbieden van gereedschappen om de levensduur van bestaande Silverlight-applicaties te verlengen in het licht van de stopzetting van de ondersteuning door Microsoft en het beƫindigen van de ondersteuning voor plugins in browsers. OpenSilver ondersteunt alle belangrijkste functies van de Silverlight-engine, inclusief volledige ondersteuning voor C#- en XAML-talen, evenals de implementatie van een groot deel van de API van het platform, voldoende voor het gebruik van bibliotheken zoals Telerik UI, WCF RIA Services, PRISM en MEF.
In zijn huidige vorm is OpenSilver al verder gegaan dan een tussenlaag voor het verlengen van de levensduur van Silverlight en kan het worden beschouwd als een zelfstandige platform voor het creƫren van nieuwe applicaties. Zo wordt er binnen het project een ontwikkelomgeving ontwikkeld (een aanvulling op Visual Studio), is er ondersteuning voor nieuwe versies van de C#-taal en het .NET-platform, en wordt compatibiliteit met bibliotheken in JavaScript geboden.
Als basis voor OpenSilver wordt gebruik gemaakt van de code van open-sourceprojecten zoals Mono (mono-wasm) en Microsoft Blazor (een onderdeel van ASP.NET Core), en voor uitvoering in de browser wordt applicatiecompilatie naar WebAssembly-rapport gecodeerd. OpenSilver zet de ontwikkeling van het CSHTML5-project voort, dat het mogelijk maakt om C# / XAML / .NET-applicaties te compileren naar een JavaScript-voorstelling die in de browser kan draaien, en breidt de codebasis uit met mogelijkheden voor het compileren van C# / XAML / .NET naar WebAssembly, in plaats van naar JavaScript.
Belangrijke verbeteringen in OpenSilver 2.1:
- Ondersteuning voor de functionele programmeertaal F# is toegevoegd, die kan worden gebruikt in hetzelfde project samen met de opmaaktaal XAML voor het bouwen van complexe gebruikersinterfaces.
- De originele set voorbeelden 'Silverlight Toolkit Samples', geleverd door Microsoft, is aangepast voor gebruik met OpenSilver.
- Ondersteuning voor aanpasbare thematiek is toegevoegd. Er zijn 12 thema's opgenomen die zijn geporteerd uit de Silverlight Toolkit.
- Meer dan 100 kleine programma's in F# zijn toegevoegd aan de galerij met voorbeeldapplicaties.
- De ontwikkeling van SampleCRM, een voorbeeld van een CRM-systeem voor het organiseren van klantinteractie binnen een onderneming en het ondersteunen van de verkoopafdeling, is voortgezet.

- Een voorlopige versie van het XR#-framework is aangeboden voor het gebruik van .NET en XAML bij de ontwikkeling van 3D-applicaties en systemen voor augmented of virtual reality.
- Het animatiesysteem is herzien, waarin de tools voor animatie zijn geĆÆmplementeerd die oorspronkelijk in Silverlight werden aangeboden.
- In het interface-element UIElement.Clip is de mogelijkheid geĆÆmplementeerd om elke geometrische objecten te gebruiken.
- De prestatie is geoptimaliseerd.
De toekomstige plannen vermelden de beschikbaarheid van een visuele ontwerpenvironment waarmee XAML-interfaces in WYSIWYG-modus kunnen worden gemaakt, ondersteuning voor extra mogelijkheden van WPF, ondersteuning voor de functie 'Hot Reload' in XAML (het toepassen van wijzigingen in de code op de draaiende applicatie), ondersteuning voor LightSwitch, verbetering van de integratie met de code-editor VS Code, integratie met het .NET-framework MAUI (Multi-platform App UI) voor het creƫren van hybride applicaties die gebruik maken van de native API van het platform.
Bron: opennet.ru

