× Aktuálně z oboru

SHIELD Experience Upgrade 7 – méně hledání a více zábavy [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]
Celá zprávička [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]

Něco málo k technologiím WPF a Silverlight

[ http://programujte.com/profil/2373-dusan-janosik/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       15. 5. 2007       18 582×

Souhrnné informace o nových technologiích WPF a Silverlight, které jsou od spuštění platformy .NET největšími vývojářskými projekty společnosti Microsoft. V závěru najdete srovnání technologií.

Ani v nejmenším nepochybuji, že jste se už s pojmy WPF [ http://wpf.netfx3.com/ ] a Silverlight [ http://www.microsoft.com/silverlight/ ] setkali a víte přibližně, co znamenají, přesto bych vám rád nabídl jejich stručný popis a porovnání s konkurenčními produkty.

WPF

WPF je podsystém .NET Frameworku, který s sebou přináší jednotný přístup k UI, dokumentům a médiím. Využití najde především v aplikacích s bohatým grafickým rozhraním. Více o skladbě komponent a možnostech vám napoví obrázky.

Další informace o WPF hledejte v seriálu [ http://vyvojar.cz/Series/3-zaciname-s-wpf.aspx ] na serveru Vyvojar.cz [ http://vyvojar.cz ]. Pro nějaké ukázky se podívejte na seznam exitujících aplikací [ http://channel9.msdn.com/wiki/default.aspx/WPF.ApplicationPortfolio ].

Grafika

WPF je zaměřené na graficky bohaté aplikace a můžete tedy plně využívat možností vektorové grafiky (graficky bezztrátová změna velikosti prvků založená na DPI, barevné gradienty, používání geometrických tvarů), animací (časové nebo založené na framech), multimédií (wma, mp3, avi, mpeg, wmv), efektů (stíny, záře, rozostření, průhlednost nebo zrcadlení) a samozřejmě možností 3D grafiky.

Rendering

Na první pohled se může zdát, že taková aplikace musí strašně zatěžovat procesor, ale většinou tomu tak nebude. WPF beží na DirectX, veškerá grafika je tak renderována na grafické kartě – to platí v případě, že grafická karta hardwarově podporuje vše od DirectX 7 po DirectX 9. Vertex a Pixel shadery musí být ve verzi 2.0, jinak může nastat situace, kdy je aplikace častečně renderována na GPU a částečně na CPU. V nejhorším případě bude aplikace celá renderovaná na CPU, tehdy dojde ke značnému zpomalení aplikace a PC (v závislosti na síle procesoru). Více informací najdete na stránkách MSDN [ http://msdn2.microsoft.com/en-us/library/ms742196.aspx ].

XAML

WPF do světa desktopových aplikací přináší něco „zcela“ nového, jde o deklarativní programování, které přináší možnost oddělit aplikační logiku od designu (v jednom souboru máte XAML kód a v druhém logiku napsanou v některém z .NET jazyků). Vše se děje prostřednictvím značkovacího jazyku XAML. Mezi jeho hlavní výhody patří čistota, jednoduchost a rychlost psaní kódu.

<Border Background="SkyBlue" BorderBrush="Black" BorderThickness="1" DockPanel.Dock="Top">
    <Menu Background="SkyBlue">
        <MenuItem Header="Language">
            <MenuItem Header="English" Name="english" />
            <MenuItem Header="German" Name="german"  />
            <MenuItem Header="Italian" Name="italian"  />
        </MenuItem>
    </Menu>
</Border>

Ve výsledku je XAML převeden do zdrojového kódu a přeložen do binární formy. Nemusí sloužit jen k definici designu, ale také k definici systémových zdrojů nebo celé aplikace. Dobrým místem k vyzkoušení XAMLu je online editor Silverlight Pad [ http://silverlight.net/samples/1.0/Silverlight-Pad/default.html ].

Vývojové nástroje

Pro vývoj pod operačním systémem Windows XP a Windwos Server 2003 budete potřebovat .NET Framework 3.0 [ http://www.microsoft.com/downloads/details.aspx?familyid=10CC340B-F857-4A14-83F5-25634C3BF043&displaylang=en ], Windows SDK [ http://www.microsoft.com/downloads/details.aspx?FamilyID=c2b1e300-f358-4523-b479-f53d234cdccf&DisplayLang=en ] a jakoukoliv edici Visual Studia 2005 [ http://msdn.microsoft.com/vstudio/express/downloads/default.aspx ] s rozšířením pro WPF [ http://www.microsoft.com/downloads/details.aspx?FamilyID=f54f5537-cc86-4bf5-ae44-f5a1e805680d&DisplayLang=en ] nebo Visual Studia "Orcas" [ http://www.microsoft.com/downloads/details.aspx?FamilyID=5d9c6b2d-439c-4ec2-8e24-b7d9ff6a2ab2&DisplayLang=en ]. Pod Windows Vista si vystačíte s instalací Visual Studia, ale rozhodně neuděláte chybu, když zkusíte také Expression Studio [ http://www.microsoft.com/Expression/ ].

Silverlight

S touto technologií jste se donedávna mohli setkat pod kódovým označením WPF/E. K jejímu přejmenování na Silverlight došlo 16. dubna 2007. Jedná se o podmnožinu WPF, která nepochybně zaujme tím, že je nezávislá na .NET Frameworku a je k dispozici pro více platforem. Je totiž šířena ve formě pluginu, který je nutné, podobně jako Flash, doinstalovat do prohlížeče. Další informace vám mohou poskytnout přednášky z cyklu Build The Game [ http://www.build-the-game.cz/ ].

V současné době jsou k dispozici dva pluginy, první nese označení Silverlight 1.0 Beta a druhý, zajímavější, Silverlight 1.1 Alpha. Proč je zajímavější? Jeho velikost o moc nepřesahuje 4 MB, a přesto v sobě obsahuje upravený CLR 2.0 s novou vrstvou DLR [ http://blogs.msdn.com/hugunin/archive/2007/04/30/a-dynamic-language-runtime-dlr.aspx ], která usnadňuje portaci dynamických jazyků (Python, Ruby) na platformu .NET. Podporované vlastnosti jistě nejlépe prozradí tento plakát [ http://download.microsoft.com/download/f/2/e/f2ecc2ad-c498-4538-8a2c-15eb157c00a7/SL_Map_FinalNET.png ].

Podporované platformy

V současné době jsou podporovány operační systémy Windows Vista, Windows XP SP2 a Apple Mac OS X, prohlížeče IE 6, IE 7, FF 1.5.0.8, FF 2.0.x a Safari 2.0.4. Připravuje se oficiální podpora operačního systému Windows 2000 a prohlížeče Opera.

Velký otazník visí nad operačním systémem Linux. Není vůbec jasné, zda se oficiální podpory dočkáme, ale vzhledem k tomu, že jsou základní části technologie uvolněny pod opensource licencí, nebude to velký problém. Vývojaři MONO Frameworku [ http://www.mono-project.com/Main_Page ] už mají připravený koncept vlastního pluginu s názvem Moonlight [ http://www.mono-project.com/Moonlight ], který potenciál technologie Silverlight zpřístupní také na dalších operačních systémech.

Využitelnost

Vzhledem k možnostem a základům technologie je její využití velmi široké. Můžete ji použít k tvorbě animovaných her, inteligentních reklam, elektronických knih, přehrávačů multimedií, ale taky k tvorbě rozsáhlých aplikací pro střih videa a grafických editorů. Samozřejmostí jsou menu začleněná do klasických webů. Prostě můžete vytvořit téměř vše, co zvládnete s „velkým“ WPF. Na komunitních stránkách Silverlight.net [ http://silverlight.net ] najdete galerii [ http://silverlight.net/community/communitygallery.aspx ] příkladů k oběma verzím pluginu.

Nátroje pro vývoj

K profesionálnímu vývoji budete potřebovat stejné nástroje jako u „plné verze“ WPF. K Visual Studiu "Orcas" musíte doinstalovat Microsoft Silverlight Tools [ http://www.microsoft.com/downloads/details.aspx?FamilyId=6C2B309B-8F2D-44A5-B04F-836F0D4EC1C4&displaylang=en ]. Další informace o vývojařských nástrojích získáte na oficiálních stránkách [ http://www.microsoft.com/silverlight/tools.aspx ].

Srovnání technologií

V současné době jsou dostupné dvě verze, Silverlight 1.0 Beta a Silverlight 1.1 Alpha. Jaké jsou mezi nimi rozdíli a jakou verzi vyzkoušet, na to vám snad odpoví následující tabulka.

Vlastnost Silverlight 1.0 Beta Silverlight 1.1 Alpha
Go-live licence ano ne
Programovací jazyky Javascript Javascript, JScript, C#, VB.NET, IronPython 2
Značkovací jazyk XAML XAML
Host (X)HTML stránka (X)HTML stránka
Uložení aplikační logiky JS soubory/JS Managed assemblies (DLL)/JS soubory/JS
Podporované/dostupné knihovny AJAX .NET (IO, Threading, Networking, Collections, Generics, LINQ), AJAX
Managed HTML DOM API ne ano
Pokročilé prvky ne Sample Control Kit (Button, Listbox, …)
Podpora dynamických jazyků ne ano
Interakce Javascriptu a .NETu ne ano
Zařazení .NET typů do JSON [ http://www.json.org/json-cz.html ] ne ano
Způsob spouštění kódu Interpetovaný Nativní (JIT kompilace, Managed kód) → rychlejší
Velikost pluginu ~ 2 MB ~ 4 MB
Doba instalace ~ 15 sekund ~ 20 sekund

Další tabulka má za úkol souhrnně srovnat technologie Silverlight, WPF a konkurenční Flash/Flex.

Vlastnost Silverlight WPF Flash/Flex
2D grafika/animace s podporou multimedií ano ano ano
Standardní video kodek ano ano ne
Video formáty od HD až po mobilní formáty ano ano ne
Hardwarová akcelerace ano ano ne
XAML vrstva zaměřená na SEO 1 ano ne ne
Výběr z mnoha jazyků 2 ano ano ne
Přímá serverová a aplikační platforma ano ano ne
Ochrana obsahu (DRM) ano ano ne
Klientské playlisty pro ad-inserting ano ano ano
Robustní nástroje pro zobrazení videa ano ano ne
Podpora výkonných vícejádrových klientů ano ano ne
Fullscreen HD video ano ano ne
Podpora pro HW akcelerované video ano ano ne
Podpora offline dokumentů ne ano ne
Výměna dat s webovým serverem (AJAX, WebService) ano ano ano
Šifrovaný obsah ne ano ne
Binární nebo textová forma textová 3 binární binární
Nástroje ano ano ano
Podpora 3D grafiky ne ano ne
Prvky třetích stran ano 4 ano ano
Velikost klienta ~ 2 MB / 4 MB ~ 50 MB ~ 2 MB
Podporované platformy Windows, Mac 5 Windows 6 Windows, Mac, Linux, Mobile (light) 7

1 prezentační vrstva založená na XML, která usnadňuje indexaci vyhledávači
2 ve verzi 1.1 Alpha jsou podporovány jazyky Javascript, JScript, C#, VB.NET, IronPython a brzy se dočkáte podpory jazyků IronRuby a VBx (VB script)
3 později možná dojde ke změně; v současné době můžete využít GZIP komprese pro redukci XAML kódu
4 použijte wpfeControl.createFromXaml(xamlstring);
5 Windows Vista a Windows XP SP2, IE 6, IE 7, FF 1.5.0.8 a 2.0.x; Apple Mac OS X, FF 1.5.0.8 a 2.0.x, Safari 2.0.4; pravděpodobně bude podporován také OS Windows 2000 i Linux a webový prohlížeč Opera
6 .NET 3.0: Windows Vista a Windows XP SP2; IE 6, IE 7
7 Flash Player 8: Windows Vista a Windows XP; IE 6 a IE 7; Windows 2000 s IE 5.x; FF 1.x, Mozilla 1.x, Netscape 7.x a vyšší, AOL 9, Opera 7.11 a vyšší; Mac OS X, IE 5.2, Mozilla 1.x, FF 1.x, Safari 1.x a vyšší.

Závěr

Doufám, že jsem poskytl dostatek informací pro to, abyste si dokázali objektivně vytvořit vlastní názor na tyto nové nepochybně inovativní technologie. Možnost napsat celý web v jednom jazyku mi přijde velmi lákavá.

Zdroj: http://www.vyvojar.cz/, http://weblogs.asp.net/mschwarz/archive/2007/04/19/rich-media-platform-comparison.aspx, prezentace WPF - Přehled technologií

Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2007051202-neco-malo-k-technologiim-wpf-a-silverlight/ ].