Prism on .NET 4.5 and the road to Windows 8 apps
This blog post discusses our plans for Prism to run on .NET 4.5 and our plans to create guidance for Windows 8 Line of Business (LOB) apps. Prism for Windows 8 is now released. Read about it on my blog post or see a demo of Prism on Channel 9.
Prism on .NET 4.5
We are currently testing Prism on .NET 4.5 and will have a release within the next 2 - 4 weeks. If you want to get started now, you can download the Prism 4.1 code from the download center. You will need to update the project files to target .NET 4.5 and also copy the Portable Class Library version of the Common Service Locator (https://commonservicelocator.codeplex.com/releases/view/17694) and Unity 3.0 dlls (https://unity.codeplex.com/releases/view/92699) into the appropriate lib folder.
We are currently evaluating how to update the Prism phone libraries. Once we have more information, I will let you know.
Windows 8 Line of Business (LOB) Guidance
I’m happy to announce that we recently started a new project code named Kona that will provide guidance on developing line of business (LOB) apps for Windows 8. Initially we called this project Prism for WinRT. Many of you asked what happened to Prism running on Windows 8? We changed the name of the project from Prism WinRT to Windows 8 LOB because it is more descriptive of the projects goals.
Provide written guidance and a reference implementation that describe recommended practices for building LOB Windows 8 client apps using WinRT and .NET. The guidance will focus on how to create apps that are maintainable and testable.
For this project, we are taking a similar approach that we took when we started Prism after CAB which is to provide guidance on the new platform. In both cases the core platform changed significantly from the previous and our collective knowledge of proven practices evolved from when we initially created the guidance. Given this, we decided it would be most beneficial to developers to provide guidance on developing Windows store apps.
As part of the project, we are evaluating which Prism capabilities make sense for Windows store apps. We currently believe that MVVM and delegate commands make sense but modular deployment does not. We also believe that we can accomplish UI Composition using a hierarchy of ViewModels instead of porting regions.
For Kona, we selected a product catalog and shopping cart scenario which allows us to display content (product catalog) and create forms that require data input (checkout process). We plan to create a reference implementation based upon AdventureWorks that will demonstrate how to implement this scenario. We will scope the reference implementation to demonstrate the product backlog items listed below. Where we draw the line will change as we get farther into the project based upon feedback and our experience. Let me know your thoughts.
As background, we conducted a survey which influenced our thinking about the scope. The scope will be a mix of demonstrating how to implement Windows 8 features, traditional line of business requirements, and typical patterns and practices (no pun intended ). The items above the blue line are what we think will make the first release. The items below will probably not be included. Let us know your thoughts on the scope.
- Camera, GPS, or other device sensors
- Suspend, Terminate, and Resume
- Live Tile
Line of Business
- Local data management
- Usually connected
- Interact with services
- Deployment – side loading
- Security – AuthN and AuthZ
patterns & practices
- MVVM and unit testing
- UI composition (through composition of ViewModels)
- Delegate commands
- Loose coupling pub/sup
- Modular development and / team independence
Deliverables and Schedule
As mentioned before, we plan will create a reference implementation and a supporting library. We will release documentation on the Windows Dev Center and also a PDF. The code will be written in C#.
We plan to ship the project in the first quarter of 2013. The Codeplex site is https://konaguidance.codeplex.com which we use to share our work in progress.
Current Page Comps
I want to share with you our current page comps. These pages will change as we go through UX reviews and we build the app.
Product Catalog Hub Page
Product Detail Page