K zamyšlení nad touto otázkou mne o víkendu přiměl Honza Martinovič, jeden z autorů úžasného systému pro modelování, predikci, monitorování a pro podporu zvládání krizových situací - programu Floreon+ (aktuální stav povodní je pod obrázkem metru, aktuální stav dopravy hned vedle).
Kompletní UI aplikace má webový charakter a v současné době využívá technologii Silverlight 2.0. Při diskusi nad dalším vývojem aplikace jsme také narazili na potřebu mít i desktopového klienta s možností spuštění i bez internetové konektivity. Nedalo mi to, abych nezmínil jednu z novinek v Silverlight 3.0 - možnost si aplikaci nainstalovat lokálně. Honza byl evidentně touto novinkou velmi příjemně překvapen, ale hned mi vrátil úder "znamená to, že WPF odsouváte na druhou kolej a veškerý vývoj dnes bude v Silverlightu?".
Pojďme si tedy rozebrat jak to vlastně Microsoft s Windows Presentation Foundation (WPF) a Silverlight (SL) myslí. Na začátek je si třeba říci, že Silverlight není přímou podmnožinou WPF, tak se často říká. Lepší definicí je - Silverlight je podmnožinou .NET Frameworku. WPF je jednou ze součástí "velkého" .NET frameworku (vedle WCF, WF a CardSpace) a je určen k realizaci uživatelského rozhranní aplikace. SL vedle toho nese celý framework sebou, tak aby mohl být provozován nezávisle na operačním systému a prohlížeči.
Jak napovídá toto krátké srovnání, rozdíly mezi WPF a SL jsou zejména v dostupnosti a bohatosti API, které máme k dispozici, podporované množině platforem a velikosti instalace. Pokusím se tyto rozdíly a výhody obou technologií srovnat vedle sebe.
Opravdu neexistuje, mluvím o vítězi tohoto platformového souboje. WPF i Silverlight jsou strategickými platformami Microsoftu pro tvorbu bohatého uživatelského rozhraní. Jsou velice podobné na úrovni zdrojového kódu a předpokládám, že tato podobnost bude do budoucna ještě větší. Velkým přínosem je možnost vyvářet komponenty, které jsou určeny pro oba typy aplikací. Neočekávejme však, že v brzké době bude možné projekty jednoduše mezi oběma platformami bez dodatečné práce snadně převádět.
Jaký je váš názor? Jak vidíte použití obou technologií ve svých projektech? Napište nám svůj názor.
Dalibor Kačmář, Platform Strategy Advisor
PS: V pondělí se můžete těšit na obsáhlý přehled novinek v Silverlight 3.0 :-)