The documentation for Prism 4 has been completely rewritten and includes the architectural overview, design, and technical concepts for composite applications, applied patterns, two chapters covering Model-View-ViewModel (MVVM), application navigation, Stock Trader Reference Implementation (Stock Trader RI) and MVVM Reference Implementation (MVVM RI) overview, QuickStart overviews, and deployment topics. Much of this guidance is applicable even if you are not using the Prism Library, but you want to know best practices for creating composite applications
The guide contains the following topics:
- What’s New in Prism 4.0
- Chapter 1: Introduction
- Chapter 2: Initializing Prism Applications
- Chapter 3: Managing Dependencies Between Components
- Chapter 4: Modular Application Development
- Chapter 5: Implementing the MVVM Pattern
- Chapter 6: Advanced MVVM Scenarios
- Chapter 7: Composing the User Interface
- Chapter 8: Navigation
- Chapter 9: Communicating Between Loosely Coupled Components
- Chapter 10: Sharing Code Between Silverlight and WPF
- Chapter 11: Deploying Prism Applications
- Patterns in the Prism Library – an overview on common patterns used in “Composite Application” & Prisim Library.
- Prism Library – the organization of the Prism Library into 4 different assemblies. (WP7 has only 2 assemblies)
- Extending Prism e.g. custom logging.
- Reference Implementations
- Appendix H: Prism Hands-On Labs
Class Library References:
Yes, that’s right… we now have a component that is a big step toward addressing the request for an MVVM-Friendly DomainDataSource. As of this posting, that feature was the #2 requested item on the RIA Services wish list, and we’ve been pondering its design for a long time. Kyle McClellan has delivered on this and he is posting details to his blog. This feature is completely separate from the DomainDataSource, and it’s built from the ground up with ViewModel usage in mind.
Here are some specific links from Kyle’s blog:
- Collection Binding Options in WCF RIA Services SP1
- Introducing An MVVM-Friendly DomainDataSource: The DomainCollectionView
Here are the links you need to get up and running:
- Install WCF RIA Services SP1 for Silverlight 4
- Install WCF RIA Services SP1 for Silverlight 4 and Visual Studio 2010
- Install the WCF RIA Services December 2010 Toolkit for WCF RIA Services SP1
While Silverlight 4 supports accessing COM automation components from elevated trust OOB applications, many Windows platform features are currently not available through COM automation. This makes them inaccessible to such Silverlight OOB apps. Native Extensions for Microsoft Silverlight(NESL) is an effort to incrementally build a library of components that expose select Windows 7 features through COM automation, making them easily available to Silverlight 4 OOB applications running with elevated trust. The current version of NESL provides access to Windows 7 features like Sensors, Portable Devices, Speech, Taskbar and more. NESL is made up of a set of COM automation based runtime libraries, Silverlight wrapper libraries usable from Silverlight 4 OOB applications, sample applications with source, API documentation, and a developer’s guide.
A NESL is a set of libraries for Silverlight developers that allow them to access some really cool features of Windows 7 from their Silverlight applications.
- Take advantage of sensors like accelerometers, light sensors, compasses, GPS etc.
- Access content from connected portable devices like music players and digital cameras.
- Capture and create video from webcams and screen output
- Use speech recognition and text to speech capabilities.
- Integrate with the Windows 7 taskbar (Jump Lists, Icon Overlays, Taskbar Progress etc.)
Head over to http://code.msdn.microsoft.com/nesl to start developing with it.
ODataNetFx4_SL4_WinPhone7_Client.zip – contains a Visual Studio 2010 solution with the source code for the OData .NET 4, Silverlight 4 and Windows Phone 7 Client library. To use, unzip the file locally and open the solution in Visual Studio 2010.
ODataClient_BinariesAndCodeGenToolForWinPhone.zip – contains just the OData client assemblies and code generation tools for use on Windows Phone 7.
ODataClient_WinPhone7SampleApp.zip – contains a sample Windows Phone 7 application which uses the OData client library for Windows Phone 7
- The Silverlight Toolkit for all those extra nifty controls;
- Unity 2 for Silverlight as my preferred IoC container;
- The official application themes for Silverlight;
- Caliburn Micro to ease developing using the Model-View-ViewModel pattern and to handle the complexities of asynchronous programming.
- Rhino Mocks for Silverlight for, well, mocking.
- Fluent Assertions for improving the readability of my unit tests.
When using the Silverlight Tree View Control, you will discover that it is not easy to expand a Tree Node programmatically without using code behind. This article shows how to do that using a Behavior.
more here …
- Layout the Environment
- Learn a Few Keyboard Shortcuts
- Watch Your Margins
- Get Your Grids Sorted
- Paths Are Your Friend (1)
- Paths Are Your Friend (2)
- Be Resourceful
- Trigger Fires Action
- Being More Resourceful
- States, Groups, Transitions
- Fluid Layout and the Popup Panel
- Fluid Movement
- The Data Store
Sterling is a lightweight object-oriented database implementation for Silverlight and Windows Phone 7 that works with your existing class structures. Sterling supports full LINQ to Object queries over keys and indexes for fast retrieval of information from large data sets.
The goal behind Sterling is to keep it:
- Non-intrusive. You shouldn’t have to change your classes just to persist them.
- Lightweight. As of this writing, the DLL for Sterling is under 70 Kb. No one needs to bloat their project for something as simple as persisting data.
- Flexible. While the core is light, Sterling is designed to handle any serialization task and make it ultra-easy to query databases using LINQ-to-Objects.
- Portable. Sterling is designed to run on both Silverlight 4.0 and the Windows Phone 7.
Perception is everything and how your application installs, loads and upgrades can make a big difference to how users feel about it. Out of the box, Silverlight doesn’t make things particularly easy, but don’t worry, with a little work, you can cover the bases.
There are a number of checks you need to make when a user first browses to a website that contains your Silverlight application. The figure below illustrates this.
One of the key dilemmas facing Windows Phone 7 programmers is how we maintain an extremely responsive experience for the user, provide some sort of multi-tasking and preserve battery life, all at the same time? The solution offered by Windows Phone 7 is to tombstone applications when they are inactive. This tutorial will explore tombstoning, multi-tasking and the entire application life cycle in detail.
The guiding model for the entire lifetime of an application, from launch to termination, is called the Windows Phone Execution Model. It is designed to provide a responsive system, at all times. The strategy to accomplish this is to avoid having two or more applications continuing to run in the background, competing for resources, slowing the foreground application and draining the battery.
To accomplish this, Windows Phone 7allows only one application to be running in the foreground, and no 3rd party applications are allowed to run in the background; even when they appear to do so. When an application is moved to the background, but not closed, it is tombstoned. Tombstoning means that the application is inert, but, the operating system maintains state information for the application. If the user returns to the tombstoned application, the state information is passed to the application before it is restarted, allowing the programmer to restore the application to the state it was in when it was tombstoned. This can give the very effective illusion that the application was there all along.