Něco málo k technologiím WPF a Silverlight
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

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

 

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

Google       Google       15. 5. 2007       18 845×

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 a 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 na serveru Vyvojar.cz. Pro nějaké ukázky se podívejte na seznam exitujících aplikací.

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.

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.

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, Windows SDK a jakoukoliv edici Visual Studia 2005rozšířením pro WPF nebo Visual Studia "Orcas". Pod Windows Vista si vystačíte s instalací Visual Studia, ale rozhodně neuděláte chybu, když zkusíte také Expression Studio.

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.

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, která usnadňuje portaci dynamických jazyků (Python, Ruby) na platformu .NET. Podporované vlastnosti jistě nejlépe prozradí tento plakát.

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 už mají připravený koncept vlastního pluginu s názvem 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 najdete galerii 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. Další informace o vývojařských nástrojích získáte na oficiálních stránkách.

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 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í

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Dušan JanošíkDušan vyvíjí software a webové aplikace na platformě .NET. Je milovníkem neuznávaných teorií, a zajímá se o parapsychologii a teraristiku.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý