I am extremely excited to announce a new project from the smart people at Microsoft’s Patterns & Practices team called Kona. What is Kona you ask? Kona is the new developer guidance for developing line of business applications for Windows 8. Initially this project was called Prism for WinRT, but as it turns out, it’s really not Prism running on Windows 8, but rather a new set of guidance for developing Windows 8 applications.
Wait… just… a… minute Brian. What do you mean it’s not “Prism” running on Windows 8? What do you mean “new guidance”? Well, if you download Kona and expect to start adding regions and modules like you’re used to, then you might get a bit frustrated looking for the attached properties and IModule interface. Why? Well, because it’s not there! Actually there is a lot of Prism code that you are used to having that is not there and will not be there. Why do you ask? The answer is simple; it’s Windows 8. Huh!? It’s a new platform, and it has changed significantly compared to WPF and Silverlight. When they were looking at doing the “port” of Prism, they soon realized that a lot of capabilities just didn’t make sense to bring over to the new platform. Hence, a new set of guidance using a new set of APIs that are specific to the new Windows 8 platform.
Now not everything was ditched. Some things, not a lot, made sense to bring over. DelegateCommand and DelegateCommand<T> is still there. Guidance on MVVM (Model-View-ViewModel) is still there, but honestly I don’t agree with the implementation. Keep in mind, this is the first initial drop of Kona, so we can always make improvements to the code base. Everything is a learning experience.
So what’s this reference implementation application I am talking about? It’s the application that you get when you download the source code. It’s an “ecommerce” application complete with product catalog and shopping cart. This type of application is a great scenario to demonstrate how to implement Windows 8 features, traditional line of business requirements, and typical development patterns and practices. So what exactly will this reference implementation be concentrating on? The following lists are what we think will make the initial release. Anything below the “———–“ line indicates items that will not be included.
Windows Features
- Device sensors such as Camera and GPS
- Application lifecycle: Suspend, Terminate, and Resume
- Snapping
- Live Tiles
- Search
- Navigation
- Settings
- ————————————
- Share
Line of Business
- Local data management
- Usually connected scenarios
- Interacting with Services
- Validation
- ———————————–
- Deployment – side loading
- Security – AuthN and AuthZ
Patterns and Practices
- MVVM and unit testing (I really hope we actually use MVVM and not MV)
- UI Composition (through ViewModel composition)
- Delegate commands (also known as RelayCommand)
- —————————
- Loose coupling pub/sub (you know this as event aggregator)
- Modular development and team independence
Here are a couple of screenshots of the reference implementation. Keep in mind, these were taken before the release on CodePlex and might have changed and will continue to change as we receive feedback from the community.
Product Catalog Hub
Product Detail
Shopping Cart
So Brian, you keep mentioning this CodePlex site, so where in the hell is the link already!?
It’s right here: http://konaguidance.codeplex.com/.
Hey Brian, can you come to my user group and show us this new Kona guidance for developing Windows 8 applications? Of course I can! Just request me at your user group by leaving your feedback in the comments below, by contacting me, or messaging me on twitter.
Nice article. I have been following your Prism blogs and love the framework. Do you venture over to the UK?
Do you know if P&P team will support Prism for windows 8 desktop apps?
I normally don’t go to the UK, but maybe if I beg my boss he will send me your way :0)
Yes, you can still build WPF and Silverlight applications with Prism that will run on Windows 8 Pro. You should keep your eye out for the Prism 4.5 release soon.
Well there is a couple of beers in it for you if you do!
Will look out for the 4.5 release (not to be confused by the October .net 4.5 compilation release 🙂 )
Thanks. After downloading and executing the code, none of the images show up and the UI looks very basic with default styles. Am i doing something wrong or is that what it is?
Don’t worry, you aren’t doing anything wrong. That is what the public drop looks like for now. It will be updated as we make progress on the guidance.