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.
Project 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.
Approach
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.
Scope
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.
Windows Features
- Camera, GPS, or other device sensors
- Suspend, Terminate, and Resume
- Snap
- Live Tile
- Search
- Navigation
- Setting
- Share
Line of Business
- Local data management
- Usually connected
- Interact with services
- Validation
- 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
Shopping Cart Page
Comments
- Anonymous
December 13, 2012
The comment has been removed - Anonymous
December 13, 2012
Thanks for updating to and testing with the .NET Framework 4.5. - Anonymous
December 13, 2012
Sledge70,What are the specific scenarios that you are using event aggregator for? In our current development we have not needed it. Understanding the specific scenarios would be really helpful for us to evaluate it.Thanks.blaine - Anonymous
December 13, 2012
A user views an item, we fire an event to announce this. We can then listen in and show this as a recent item, additionally we could track that elsewhere.Network connectivity events, change in login status, items to queues.Generally used to loosely couple VM's where we don't want to create a common interface. - Anonymous
December 13, 2012
Also forgot to mention that Management who have bought into the concept of Prism like to know features travel. It means we can get a dev team up to speed using the same concepts from WPFSLWP.In addition it's handy for multi targeting when you do it, Win8 -> WP is a good example. I would like at least the basic building blocks of prism ported across to Kona. Namespace changes are easy enough to cope with, not a complete dare I say it 'reimagining' of PrismKona.Thanks for your time on this Blaine. - Anonymous
December 13, 2012
Feedback on Kona: I would like to see it written in HTML/CSS/JS In my view, for a LOB, Camara and GPS is not that important than Share Security seems another one, which is important I also believe, that pub/sup is very importantI am looking forward to this project! Thankx! - Anonymous
December 16, 2012
Great news about P&P bringing some guidance to the Windows 8 LOB platform.I've published a Windows 8 centric app framework to assist with MVVM over on CodePlex (http://okra.codeplex.com) that might be of interest to your team to spark ideas.Andy - Anonymous
December 16, 2012
Great to see that the project is evolving. I'm looking forward to try out new bits.I agree with Sledge70 that event aggregation or similar mechanism is needed. Please consider keeping it around. - Anonymous
December 16, 2012
Add another vote to Sledge70's proposed integration of event aggregation. - Anonymous
December 17, 2012
We identified a scenario for our next iteration that we think loose coupled pub/sub makes sense. One of the key requirements is having a weak reference. We will let you know how it goes. What other requirements do you think are important? - Anonymous
December 17, 2012
Great to see some news on this project. Keep it up and thank you. - Anonymous
December 24, 2012
Nice to see this moving forward! Is a JS app also on the roadmap? - Anonymous
January 07, 2013
patterns & practices first guidance for JS is Hilo JavaScript which can be found at msdn.microsoft.com/.../jj674095.aspx or using http://aka.ms/hilojs-doc. Once we complete this version of Kona, we will evaluate what else is needed. Let me know what requirements you have for a JavaScript version.Thanks. blaine - Anonymous
January 14, 2013
Hi, have you got any links for Kona available yet? Or am i missing something obvious! - Anonymous
January 14, 2013
Found it konaguidance.codeplex.com - Anonymous
January 16, 2013
We decided to update Prism for .NET 4.5 after Unity is released for .NET 4.5. We will target a release 30 days after Unity is available. - Anonymous
January 31, 2013
The latest Kona drop includes event aggregator as a portable class library. It can be found at konaguidance.codeplex.com/.../101155. - Anonymous
February 10, 2013
You mentioned about investigating phone libraries – what about Prism for WP8 ? - Anonymous
February 11, 2013
Dominikj,We are starting our planning process for the next 6 to 12 months. Guidance for WP8 will be a project that we will prioritize. I'll let you know when we make a decision.blaine - Anonymous
March 20, 2013
When can we expect Prism4.5 for .Net4.5, we are starting new cloud project with WPF, (.NET4.5, VS2012) ???? - Anonymous
March 27, 2013
Srigopal,We will ship Prism 4.5 for .NET 4.5 shortly after the new version of unity ships. If you want to start now, you can with Prism 4.1 and follow the directions from this blog post. - Anonymous
April 21, 2013
Are you going to release Project Linker for VS 2012, since you maintain it, it should be releasedThanks