Silverlight 4 geschikt voor de desktop?

Als .NET desktopontwikkelaar kom je met WPF (Windows Presentation Foundation) ruimschoots aan je trekken. Maar bij Microsoft lijk de aandacht flink te verschuiven van WPF naar Silverlight.  Het zou me daarom niets verbazen wanneer WPF binnenkort ‘deprecated’ gaat worden voor de meest gangbare desktopapplicaties. Ik ben benieuwd welke mogelijkheden een volgende Silverlight versie op dat vlak zal bieden.

In dit artikeltje wil ik kijken in welke mate Silverlight op dit moment al geschikt is voor het bouwen van desktopapplicaties. Wat mij betreft moet Silverlight in dat geval de volgende functionaliteit kunnen bieden:

  1. Benaderen (lezen én schrijven) van het lokale bestandssysteem
  2. Printen
  3. Starten van native command line applicaties
  4. Aanroepen van native dll’s
  5. Installeerbaar buiten de context van een webbrowser.

Over de eerste twee punten kan ik kort zijn. Dat is met een Silverlight 4 OOB (out of browser) applicatie prima mogelijk, hoewel punt 1 wel wat restricties kent.

Ad 3) Het starten van native command line applicaties lijkt in eerste instantie niet mogelijk te zijn. Zo is het niet mogelijk om System.Diagnostics.Process te gebruiken. Toch bestaat er wel een mogelijk via COM interop. Een voorbeeld is te vinden in de volgende blog post: Silverlight 4 and command line execution. Toch kent dit zijn beperkingen, want het zal op deze manier waarschijnlijk niet mogelijk zijn om invoer en uitvoer om te leiden naar streams in de Silverlight applicatie. Omleidingen moeten dan via invoer- en uitvoerbestanden plaatsvinden. Maar dat is in de meeste gevallen geen onoverkomelijk probleem.

Ad 4) Helaas is het niet mogelijk om een native dll aan te roepen vanuit een Silverlight applicatie. Mogelijke workarounds zijn het gebruik van een COM-component of een WCF service (als onderdeel van een web service of een windows service) die als ‘wrapper’ fungeert voor de dll. Deze oplossingen zijn niet ideaal. Niemand gaat voor z’n plezier zelf met COM aan de slag om maar wat te noemen. Het voelt aan als teveel hocuspocus voor een nogal basale functionaliteit. Hopelijk dat een toekomstige versie van Silverlight verbeteringen kent op dit punt.

Ad 5) Het is mogelijk om een Silverlight 4 OOB applicatie te installeren zonder browser door een eenvoudig script te gebruiken. Voor meer informatie, zie: Installing Silverlight applications without the browser involved.

Natuurlijk is de uiteindelijke keuze voor WPF of Silverlight ook afhankelijk van andere factoren. Je kunt dan denken aan het moeten werken met 3D of de beschikbaarheid van bepaalde user controls.

Mijn voorlopige conclusie is dat Silverlight 4 in veel gevallen een volwaardig alternatief kan zijn voor WPF. Een struikelblok vormt nog het kunnen aanroepen van native dll’s. Hier is wel omheen te werken, maar dat kost naar mijn smaak nog teveel moeite.

Nu nog een mooi project vinden voor mijn eerste Silverlight desktopapplicatie. Knipogende emoticon

Advertenties
Dit bericht werd geplaatst in .NET, Silverlight, WPF. Bookmark de permalink .

Een reactie op Silverlight 4 geschikt voor de desktop?

  1. Pingback: Silverlight 5 | Tenuto Blog

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s