Zaprezentowano wydanie projektu OpenSilver 3.2, które kontynuuje rozwój platformy Silverlight i umożliwia tworzenie interaktywnych aplikacji webowych przy użyciu technologii C#, F#, XAML i .NET. Aplikacje Silverlight skompilowane za pomocą OpenSilver mogą działać w dowolnych przeglądarkach desktopowych i mobilnych obsługujących WebAssembly. Do rozwoju można wykorzystać środowisko Visual Studio oraz edytor kodu VS Code, który obsługuje prace w Windows, macOS i Linux. Kod projektu napisany jest w języku C# i udostępniany na zasadach licencji MIT.
Początkowo projekt OpenSilver miał na celu dostarczenie narzędzi do przedłużenia życia istniejących aplikacji Silverlight, po zaprzestaniu rozwoju i wsparcia platformy Silverlight przez firmę Microsoft w 2021 roku, a także po zakończeniu wsparcia powiązanych z nią wtyczek w przeglądarkach. W OpenSilver obsługiwane są wszystkie główne możliwości silnika Silverlight, w tym pełne wsparcie dla języków C# i XAML oraz implementacja większości interfejsów API platformy, wystarczająca do użycia takich bibliotek C# jak Telerik UI, WCF RIA Services, PRISM i MEF.
W obecnej formie OpenSilver wykracza poza rolę warstwy do przedłużania życia Silverlight i może być postrzegany jako samodzielna platforma do tworzenia nowych aplikacji. Na przykład, projekt rozwija środowisko programistyczne, zapewnia wsparcie dla nowych wersji języka C# oraz platformy .NET, oferując kompatybilność z bibliotekami napisanymi w języku JavaScript.
Jako podstawę OpenSilver wykorzystano kod otwartych projektów Mono (mono-wasm) oraz Microsoft Blazor (część ASP.NET Core), a do wykonania w przeglądarce stosuje się kompilację aplikacji do pośredniego kodu WebAssembly. OpenSilver kontynuuje rozwój projektu CSHTML5, umożliwiającego kompilację aplikacji C#/XAML/.NET do reprezentacji w języku JavaScript, nadającej się do uruchamiania w przeglądarkach, oraz rozszerza swoją bazę kodu o możliwości kompilacji C#/XAML/.NET do WebAssembly, a nie do JavaScript.
W nowej wersji:
- Dodano wsparcie dla wdrażania aplikacji opartych na frameworku „WPF” (Windows Presentation Foundation) na iOS, Android, Windows, macOS, Linux oraz przeglądarki internetowe, wykorzystując jedną wspólną bazę kodu na XAML/C#. Wsparcie dla platform mobilnych wdrożono poprzez integrację z narzędziem .NET MAUI Hybrid, które pozwala na wykorzystanie WebView do wyświetlania interfejsu przy kompilacji logiki biznesowej do kodu natywnego. Aby uzyskać dostęp do API platform mobilnych, można wykorzystać framework MAUI.

- Poprawiono kompatybilność z frameworkiem „WPF” (Windows Presentation Foundation): dodano wsparcie dla renderowania RTL (od prawej do lewej), przekazywania zdarzeń w górę hierarchii elementów, rozszerzone animacje, API VirtualizingStackPanel oraz płynnego przewijania na ekranach dotykowych.
- Udostępniono narzędzia do migracji istniejących baz kodu i ich dostosowania do możliwości WPF specyficznych dla OpenSilver.
- Poprawiono integrację ze środowiskiem deweloperskim Visual Studio oraz edytorem kodu VS Code. Dodatki z wsparciem OpenSilver zostały umieszczone w domyślnych katalogach dodatków Visual Studio i VS Code.

- Dodano nową aplikację ToDoCalendar, będącą przykładem realizacji kalendarza-planera, kompilowanego dla różnych typów urządzeń. Aplikacja demostraacyjna Showcase została rozszerzona o możliwości integracji z platformami mobilnymi, umożliwiającymi dostęp do API do zarządzania czujnikami, orientacją, wibracjami oraz powiadomieniami, a także do określania lokalizacji i dostępu do plików.

Źródło: opennet.ru



