May.22
WPF, WPF/E, Silverlight en XBAP
Ik ben al een tijdje in mijn vrije tijd aan het rommelen met WPF. De termen vliegen om je oren, maar wat is wat, waarvoor en hoe. Kortom dat kwam na een tijdje bij mij boven borrelen. Na wat zoekwerk heb ik het een en ander op een rijtje.
WPF is door Microsoft gelanceerd als de opvolger van het al verouderde WinForms ontwikkelmodel. WPF staat voor Windows Presentation Foundation, voorheen Avalon genoemd. Belangrijkste vooruitgang die met de introductie van WPF wordt geboekt is dat presentatie en logica nu strikter gescheiden zijn. De presentatie kan nu theoretisch gesproken gemakkelijker gebeuren door designers terwijl de businesslogic door de developers kan worden gedaan. In WPF worden windows (vergelijkbaar met forms) volledig beschreven in XAML een op XML gebaseerde taal. WPF combineert de kracht van 2 werelden. WinForms, het sterk interactieve model en Web dat geen beperkingen legt op vormgeving. WPF gaat nog verder, mogelijkheden als een roterend filmpje in een item van een listview zijn makkelijk te realiseren. Het is bovendien ook niet heel moeilijk zelf controls te bouwen. Een goed boek over WPF is Applications = Code + Markup van Charles Petzold. Met tools als Microsoft Expression Studio (met name Blend) kunnen gemakkelijk WPF applicaties gebouwd worden. Maar ook in de komende versie van Visual Studio, Visual Studio codename Orcas beschikt over mogelijkheden tot het maken van de diverse soorten WPF applicaties.
WPF/E, WPF Everywhere sinds kort officieel Silverlight genoemd. WPF/E bevat een subset van WPF met alleen de presentatielaag. De gestripte versie bevat bijvoorbeeld enkel een TextBlock control en geen button, listbox en welke andere controls dan ook. WPF/E is bedoeld voor het gebruik in browsers en biedt cross-platform ondersteuning. Het grote voordeel van deze gestripte versie is dat het in principe in een aantal browsers bruikbaar is middels plug-in van +/- 2Mb. Daarmee wordt meteen het voordeel duidelijk dat alleen de plug-in en niet het volledige .NET 3.0 framework op de client geïnstalleerd hoeft te worden (a 54Mb).
Bekijk deze Silverlight klok eens.. Wil je zelf aan de slag met Silverlight dan is dit een leuke tutorial om mee te beginnen.
XBAP, naast WPF/E is er ook nog de XBAP browser oplossing. XBAP staat voor XAML Browser Applications. Voor het gebruik van XBAP binnen de browser dient wel het volledige .NET 3.0 framework op de cliënt geïnstalleerd te zijn. Maar, dat heeft als voordeel dat WPF in al zijn facetten aanwezig en te gebruiken is. Ten opzichte van de “gewone” standalone WPF applicatie is er wel het verschil dat XBAP in een security sandbox draait waarbij rechten zijn ingeperkt zoals bijvoorbeeld toegang tot het bestandssysteem. Wil je een gecentraliseerde oplossing met een rijke GUI waarbij je bijvoorbeeld gebruik maakt van een webservice dan kan dit een prima mogelijkheid zijn.