Silverlight 3.0 : Stručný pohľad do histórie platformy Silverlight
K výraznému zvýšeniu úrovne prezentačnej vrstvy a interaktivity webových aplikácií môže prispieť aj technológia Silverlight z dielne spoločnosti Microsoft. Silverlight rozširuje prezentačnú úroveň prehľadávača webového obsahu o nové možnosti s využitím vektorovej grafiky a multimédií. Fyzicky je to plug-in do prehľadávača webového obsahu.
Zjednodušene by sa Silverlight aplikácia dala prirovnať k interaktívnemu zobrazovaciemu a pracovnému priestoru, ktorý je zobrazený u klienta v okne prehľadávača webového obsahu, alebo v samostatnom okne, pričom aplikačná logika beží na serveri.
História platformy Silverlight je pomerne krátka, začala sa písať v septembri 2007, kedy spoločnosť Microsoft zároveň s finálnou verziou Silverlight 1.0 predstavila aj alfa verziu 1.1. Táto verzia bola následne, približne o rok premenovaná na Silverlight 2.0. Zatiaľ čo Silverlight 1.0 využíval ako programovací jazyk iba JavaScript, vo verzii 2.0 už bolo možné v plnej miere využívať .NET jazyky. Predtým, v procese vývoja mala táto technológia označenie Windows Presentation Foundation/Everywhere, čo naznačuje, zámer spoločnosti Microsoft preniesť čo možno najviac čŕt nového prezentačného rozhrania WPF(Windows Presentation Foundation), ktoré je súčasťou platformy .NET Framework od verzie 3.0.
Časová mapa histórie produktu Silverlight
Za necelé dva roky svojej histórie vzrástol počet inštalácií na klientskych počítačoch až na 350 miliónov, pričom krivka rastu je exponenciálna. Technológiu Silverlight využíva viac než 300 000 vývojárov a dizajnérov. Spoločnosť Microsoft má v súvislosti s touto technológiou 200 partnerov v 30 krajinách a využíva ju aj v takmer 200 svojich produktoch a webových projektoch. V globálnom meradle je k dispozícii viac než 10 000 aplikácií.
Exponenciálny nárast počtu používateľov produktu Silverlight sa vyšplhal až k 350 miliónom
Spoločnosť Microsoft využíva technológiu Silverlight vo vyše 200 svojich produktoch a weboch
V celosvetovom meradle sa technológia Silverlight využíva vo viac ako 10 000 aplikáciách
Pre ilustráciu možností prezentácie videa cez Silverlight uvedieme niekoľko čísel týkajúcich sa televíznych prenosov NBC z olympijských hier 2008 v Pekingu:
- 1,3 miliardy zobrazených stránok,
- 52,1 milióna unikátnych návštevníkov,
- 75,5 miliónov pozretých videoprenosov,
- 9,9 miliónov hodín videa (1 126 rokov),
- 27 minút priemerný čas pozerania,
- 35 miliónov prístupov z mobilných zariadení,
- 130 000 peak streams,
- 3,4 petabytov preneseného videa.
Platforma Silverlight je teda vo verzii 3.0 a v rovnakej verzii je aj táto publikácia. Aby mohli s publikáciou pracovať aj začiatočníci a mali podrobné a kompletné návody na základné typy aplikácií, niektoré základné témy sa mierne prekrývajú s predchádzajúcou publikáciou. Nakoľko Silverlight 2 je podmnožinou trojky, niektoré témy, napríklad databázové Silverlight aplikácie využívajúce LINQ, aplikácie využívajúce webové služby a podobne nájdete v predchádzajúcej verzii publikácie.
Novinky vo verzii 3.0
Od 10. 7. 2009 je k dispozícii verzia 3.0, ktorá prináša niektoré významné novinky a vylepšenia. Najskôr urobíme stručný prehľad noviniek a potom budú v jednotlivých kapitolách podrobne predstavené. Jednou z najvýznamnejších noviniek je možnosť behu aplikácie na klientskom počítači „mimo prehľadávač webového obsahu“. V originálnej terminológii sa táto črta nazýva „Out of Browser“ (OOB). Silverlight aplikácia sa najskôr nainštaluje do lokálneho operačného systému, kde na rozdiel od bežných aplikácií beží v izolovanom priestore „sandboxe“, takže sa používatelia nemusia obávať dôsledkov prípadného škodlivého kódu. Lokálna inštalácia sa z pohľadu koncového používateľa správa ako desktopová – je reprezentovaná zástupcom na ploche, alebo v ponuke menu Štart a beží bez nutnosti inštalácie akéhokoľvek ďalšieho softvéru a to aj pri dočasnom odpojení od Internetu.
Silverlight 3 je plnohodnotná platforma pre RIA (Rich Internet Applications) aplikácie, či už pre zábavu, alebo podporu biznisu. K tomu prispieva aj rozšírená dátová podpora a podpora pre business objekty. Tieto je možné jednoducho triediť, filtrovať a stránkovať, presne tak ako sú používatelia zvyknutí pri klasických aplikáciách. Rovnako ako v ASP.NET, aj na platforme Silverlight 3 je možné validovať vstupné údaje zadané používateľmi a vizuálne ho informovať o jeho chybách. Na strane klienta je k dispozícii nový objekt CollectionView a množina operácií pre prácu s údajmi na serveri. Serverová stránka sa potom realizuje cez .NET RIA Services.
Pre prepojenie údajov na vizuálne objekty slúži vylepšený databinding. ElementName binding umožňuje prepojenie viacerých prvkov navzájom a to priamo v XAML kóde. V zborníku nájdete príklad pre prepojenie potenciometra a grafického objektu, pričom posúvaním potenciometra sa mení niektorý parameter grafického objektu. RelativeSource binding umožňuje prepojenie prvku „samého na seba“, alebo s údajmi šablóny, ak je jej súčasťou. Nový ovládací prvok typu dátový formulár podporuje validáciu, aktualizáciu a stránkovanie údajov.
K rozšíreniu platformy Silverlight 3 nepochybne prispeje aj jej otvorenosť. Všetky ovládacie prvky boli uvoľnené aj so zdrojovými kódmi ako projekt Silverlight Toolkit.
Čo nenájdu vyhľadávače, to ako keby na Internete ani neexistovalo. Jedným z čoraz významnejších faktorov úspechu v prakticky každej oblasti podnikania je zobrazenie prepojení na webový obsah príslušnej firmy na čelných pozíciách významných vyhľadávačov. Algoritmy vyhľadávania a utrieďovania výsledkov vyhľadávania sú jedným z najcennejších know-how každého vyhľadávača a prísne sa utajujú. Preto získavajú na význame rôzne metódy spätného inžinierstva, poodhaľujúce okľukou činnosť týchto algoritmov. Na ich základe sa vypracovávajú odporúčania pre tvorcov webových stránok. Táto problematika sa zvykne označovať skratkou SEO (Search Engine Optimization, alebo po našom optimalizácia pre vyhľadávače), čo je metodika odporúčaní pre tvorbu webových stránok, aby sa tieto zobrazovali vo výsledkoch vyhľadávania v najpoužívanejších internetových vyhľadávačoch na popredných pozíciách, čo priláka na tieto stránky čo najviac návštevníkov. Vyhľadávacie algoritmy mali problém z RIA technológiami, preto je veľmi dôležité, aby podporovali SEO. Silverlight 3 dokáže previesť obsah, ktorý sa generuje z databáz na ľahko indexovateľný HTML kód. Podporuje aj bookmarky vo vnútri aplikácie. V anglickej dokumentácii sa táto vlastnosť nazýva Deep Linking.
Pre dobrý dojem z plynulosti zobrazovania je dôležitá podpora hardvérovej akcelerácie, čo prenesie časť záťaže z CPU na GPU. Pre dobrý grafický dojem sú určené aj 3D transformácie, ktoré umožňujú umiestniť rovinu v ktorej sú ovládacie prvky ľubovoľne do priestoru. K dispozícii sú aj grafické efekty na úrovni pixlov, napríklad tieňovanie alebo rozostrenie.
Nakoľko Silverlight primárne vykresľuje grafiku vektorovo, je pre zvýšenie výkonu graficky bohatej aplikácie k dispozícii možnosť bitmapovej cache. Grafický obsah, ktorý nemusí meniť veľkosť je možné z vektorovej formy previesť na bitovú mapu a tú umiestniť do lokálnej vyrovnávacej pamäte. Typickým príkladom použitia je pozadie aplikácie. S jednotlivými pixlami a rámcami je možné pracovať na úrovni triedy WritableBitmap. Dá sa použiť na snímanie videa, dátovú vizualizáciu, alebo algoritmické generovanie grafického obsahu.
Pomocou technológie Deep Zoom je možné vykresľovať aj obrázky s vysokým rozlíšením. Príklad pre zobrazenie fotky v rôznom rozlíšení nájdete v zborníku.
Aplikácie môžu meniť vzhľad dynamicky pomocou grafických tém. Pre animácie reálneho pohybu podľa fyzikálnych zákonov je k dispozícii nová črta Animation Easing. V zborníku je príklad animácie skákajúcej guľôčky.
Od grafiky, cez novinky v animácii sme sa prepracovali až k podpore pre video a audio vo vysokej kvalite. Vo verzii Silverlight 3 je k dispozícii podpora živého aj on-demand streamovania v úplnom HD (720+) rozlíšení kombinované s technológiou Smooth Streaming. To prispieva k plynulosti prehrávania obrazu bez rušivých „trhavých“ úsekov. Okrem kodeku VC-1/WMA je k dispozícii aj podpora pre MPEG4 vo formáte H.264 s ACC pre kvalitné audio. Pri vykresľovaní HD videa sa využíva aj GPU akcelerácia. Silverlight 3.0 podporuje aj využívanie kodekov tretích strán. Pomocou otvorenej Raw AV Pipeline je možné pre dekódovanie využiť externý komponent a obsah sa následne vykreslí v Silverlight okne.
Pre zrýchlenie komunikácie sa využíva binárne XML, ktoré obsahuje údaje v komprimovanej podobe.
Popis architektúry
Z hľadiska implementácie je technológia Silverlight multiplatformový plug-in do webového prehľadávača. Architektúra platformy Silverlight je rozdelená na dve základné časti: Prezentačná vrstva obsahuje komponenty a služby orientované na generovanie používateľského rozhrania a interakciu s používateľom. Používateľské rozhranie môže využívať renderovanie vektorovej a bitmapovej grafiky, textový výstup, animácie a prezentáciu multimediálneho obsahu v rôznych formátoch. Interakcia s užívateľom zahŕňa obsluhu udalostí generovaných používateľom pomocou myši a klávesnice. Spodnou vrstvou je inštalačný a aktualizačný komponent pre internetový prehľadávač.
Na obrázku architektúry si môžete všimnúť moduly prezentačného jadra UI Core, Inputs, Media, Deep Zoom a DRM, moduly platformy .NET Framework pre Silverlight Data, WPF (Windows Presentation Foundation) WCF (Window Communication Foundation), DLR, BCL a CLR (Common Language Runtime).
Architektúra platformy Silverlight
Programovacie modely
Silverlight aplikácie využívajú riadený (angl. managed) kód, ktorý beží na úrovni vrstvy CLR. Je možné využívať kompilované programovacie jazyky Visual Basic a C# cez Managed API, alebo dynamické jazyky, ako napríklad IronPython a IronRuby. Pre tieto jazyky je k Silverlight Dynamic Languages SDK. Kvôli spätnej kompatibilite so Silverlight 1.0, ktorý nevyužíval .NET jazyky, ale len java Script je k dispozícii JavaScript API for Silverlight. Pri využívaní tohto modelu je kód interpretovaný na úrovni prehľadávača webového obsahu.
Späť na obsah