views:

165

answers:

2

I'm looking at a scenario where I need to create a single "master" Silverlight application and then add "child" applications for an out-of-browser Silverlight application.

The scenario is something like this.

A user will visit a gameboard web site and choose a game to play. Let's call it Checkers. He likes it, so then he installs the out-of-browser app to his desktop. He then finds Chess, and installs that too. For both games, while played on the site, he has stats (games played, win/loss records, etc.). For each game on the site, he navigates to a different page.

But now he wants to play offline and view his stats and other cross-games information. He wants to have a single app to launch to play either game. From his single out-of-browser app, he sees that Go is also available, and he places a checkmark against it to download on his next connection.

Does anyone have any experience at developing multiple out-of-browser Silverlight apps that reside within a single master app? What considerations need to be had for this type of design? How would this work in terms of install experience from different web pages?

+1  A: 

Is there a reason why every game must be a separate application? It would be much easier to just install the master application as an OOB app and then have it load new XAPs from IsolatedStorage at runtime depending on what games the user has downloaded (installed). Or perhaps I am misunderstanding your scenario?

Henrik Söderlund
Part of the reason is for the in-browser experience, meaning that someone could go to the web site, never use the OOB feature and only want/have-access-to just one game on the site (probably just one page on the site). The other part would be size - if the user is on the website and has the game-player (master app) in cache, that will make the download of the game faster. If he/she, again only on the live site, goes to a different game page, the game-player will be in cache and they just worry about the load time of the game. So this is more of an OOB/IB architecture issue I'm trying to grock.
Otaku
+4  A: 

What you need is MEF (which will be included in the CLR of the upcoming Microsoft .NET Framework 4) You Can read more about it here , here & there's an example here

MarioEspinoza