Silverlight dynamic loading: Xap or Dll?
What would be the advantages a开发者_开发百科nd disadvantages of creating external silverlight modules for dynamic loading using:
1 - a silverlight class library (dll on ClientBin)
2 - a silverlight application (xap on ClientBin)
1) Easier to work with. Fewer ways to do things.
2) Harder to handle, able to have more stuff packed in with it.
It's really the ability to pack things with em that makes them different. While XAP takes a bit more to deal with, neither one is that big a deal once you're set up to download them. Setting up the download and uniqueness of loading them might even be the harder part of loading them.
Of course there is the fact that by default the XAP is for an application.
(Example of dynamically loading a XAP is at silverlight 4, dynamically loading xap modules)
We use the Prism patterns and libraries. Currently using V4 alpha 8 drop with no problems.
Under Prism every module is a (Silverlight app) XAP file and the loading is managed for you unless you specifically want to do something different.
We find it a great way to manage solutions, as all the XAPs are placed in the ClientBin for you by the build.
We have nearly 50 modules, but initial app startup is only 400kb (and getting smaller all the time). Dynamic loading is definitely the future of Silverlight development. Most of the apps on the Silverlight.Net gallery are monolithic monsters!
精彩评论