Framework OpenSilver oživuje Silverlight pro použití na moderním webu
Svět, kde interaktivnímu obsahu vévodil Flash od Macromedie, později od Adobe je dávno ten tam. Od oznámení ukončení podpory této technologie až do přelomu let 2020 a 2021, kdy Adobe podporu ukončilo a následně zamezilo spouštění obsahu v poslední verzi Flash Playeru, byla základna internetových surfařů rozdělena do dvou nesmiřitelných kategorií – na ty, kteří Flash brali jako nenahraditelný nástroj k provozování rozličných aplikací a her, a na ty, kteří tuto technologii proklínali jako největší bezpečnostní díru v systému a něco, co v jistém období dennodenně nepřetržitě narušovalo jejich uživatelský zážitek z internetu.
Flash byl posledním podporovaným NPAPI (Firefox), respektive PPAPI (Chromium) pluginem a v jeho stínu se zapomnělo na mnohé další zásuvné moduly, které byly svého času využívány na mnohých počítačích.
A co ti druzí?
Snad nejznámějším takovýmto pluginem, který přímo konkuroval Flashi, byl Silverlight. Ten byl Microsoftem představen v roce 2007 jako technologie, jejímž cílem je Flash předčit a ideálně jej v jeho monopolní pozici vystřídat. Jak však víme, nic takového se nestalo, což brzy došlo i samotnému Microsoftu, který jeho vývoj de facto ukončil v roce 2012. Udržován byl až do roku 2019, kdy Microsoft vydal poslední bezpečnostní záplatu. Oficiální exitus zažil Silverlight rok poté, kdy Microsoft vypnul jeho podporu v Internet Exploreru. EOL pak nastal v roce 2021. Smrt této technologie však nastala již mnohem dříve, a to v roce 2015, respektive 2017, kdy jeho podporu vypnuli tehdejší přední hráči na poli webových prohlížečů – Chrome a Firefox.
Co se týče technologického základu Silverlightu, zjednodušeně lze říci, že zajišťoval most mezi webem a frameworkem .NET. V principu tak uměl spouštět aplikace napsané v jazycích C#, VisualBasic .NET, či IronPython ve webovém prohlížeči. Z vývojářského pohledu více než lákavé, když vezmeme v potaz, že HTML bylo ve svém návrhu koncipováno jako čistě značkovací jazyk a při návrhu JavaScriptu se nepočítalo, že bude využíván k tvorbě natolik komplexních aplikacích, k jejichž tvorbě je využíván dnes.
Tím se však dostáváme do uzavřeného okruhu „chci na webu programovat v .NETu – což umožňuje Silverlight – který však již není podporovaný.“ Samotný Silverlight již dnes nerozběháme, pokud se nesmíříme s použitím obskurních, či velice zastaralých prohlížečů, naštěstí však existuje alternativa.
Zmrtvýchvstalý Silverlight pro moderní web
Od roku 2017 se v prohlížečích vyskytuje technologie WebAssembly, která mimo jiné a zjednodušeně řečeno umožňuje vývoj v jiným jazycích, než je JavaScript. A právě nad WebAssembly vyrostl projekt OpenSilver. Jeho vývojáři zaručují možnost provozovat kód ve všech moderních prohlížečích a možnost využít kompletní kód psaný v Silverlightu bez jeho drakonických změn.
První verze OpenSilveru byla vydána v říjnu 2020, přičemž umožňovala bezbolestnou migraci SL aplikací napsaných v C#. Ostatní jazyky .NETu byly až donedávna bez podpory, což je s přihlédnutím k majoritnímu postavení C# v rámci celého frameworku nepříliš velký problém. S příchodem verze 2.0, která vyšla v říjnu roku 2023 přišla podpora pro VB.NET.
Nabízí se otázka, proč v něčem takovém dnes vyvíjet projekt, když v dnešní době existují mnohé webové frameworky, v nichž můžete svou legacy aplikaci napsat od píky. Jako zásadní argument zmiňují autoři značné ušetření nákladů, které při migraci na OpenSilver z původní Silverlight aplikace ve srovnání s kompletním přepsáním jsou třetinové až šestinové. Příjemným bonusem je schopnost OpenSilveru začlenit kód těchto frameworků (jmenovitě Blazoru, Reactu a Angularu) uvnitř projektu, což je opět funkcionalita, která přišla s novou verzí 2.0.
Pro koho tak OpenSilver je? Pro vývojáře, kteří chtějí vdechnout nový život své Silverlight aplikaci bez zbytečného přepisování a pro ty, kteří před chaotickým JavaScriptem upřednostňují robustní .NET. Mimo to mohou OpenSilver vyzkoušet ti, kteří mají zkušenost s .NETem na desktopu a rádi by se posunuli k programování webových aplikací?
Závěrem snad jen zmíním, že OpenSilver je dodáván ve formě SDK, které vám umožní využívat jeho funkcionalit ve vývojovém prostředí Visual Studio, v němž také můžete produkovat samotné aplikace. Pro jeho stažení je nutné přihlásit se přes Microsoft účet. Pokud se chcete přihlášení skrz Microsoft účet vyhnout, můžete využít tento umě skrytý link, který je běžně dostupný až po zmíněném přihlášení a vyplnění formuláře s dotazy na stát, účel stažení OpenSilver a počet zaměstnanců ve firmě (neboť se předpokládá firemní využití).
Máte tip na článek? Napište mi v komentářích.
OpenSilver.net