Today's Modern Monday project by Andrew Wilkinson is one of those kinds of projects that makes me love developers.
Building Windows 8 MVVM app... Gaa, don't like the available templates, but good enough to start with. hack, hack, hack.
Building second app. Ahh, templates again... hack, hack, hack...
Third app. Project templates... Oh this is silly, enough! Creating own darn project templates. And while I'm at it, Item templates too!
That took a bit, but now, wow, building app's is faster, with much less hacking.
App four, five, six... This is nice! You know, having gotten so much from the community, it would be cool to gave back. Bet there are others who could use these templates! ...
If you have ever tried to create a Windows Store application using the MVVM pattern then you will probably have found that the Visual Studio project and item templates are a bit cumbersome. I often find myself adding a new page to my projects using one of the default templates, only to need to rewrite it to follow the MVVM pattern before I can even start adding application specific logic. What if there was a way to take advantage of the selection of project and page templates provided by Visual Studio, but have them produce fully MVVM compliant code?
Well today I’d like to announce the release of a free extension for Visual Studio 2012 (including the Express editions for Windows 8) that provides just that. It is based upon the open source Okra App Framework, and provides almost all of the Visual Studio Windows Store templates in an MVVM friendly manner.
Installing the Extension
The “Windows Store MVVM Templates for the Okra App Framework” ...
What Templates are Provided?
There are two types of template included, project templates and item templates. The project templates are designed to get you started with a new application and provide exactly the same behaviour as the default Visual Studio templates (but written following the MVVM pattern).
- Okra Basic App - A single-page Okra App Framework project with no predefined controls or layout.
- Okra Grid App - A three-page Okra App Framework project that navigates among grouped items arranged in a grid. Dedicated pages display group and item details.
- Okra Split App - A two-page Okra App Framework project that navigates among grouped items. The first page allows group selection while the second displays an item list alongside details for the selected item.
Also included are a number of item templates that allow you to add new pages to any existing Okra App Framework based application, whether created using the project templates or not.
- Basic Page (MVVM)
- Split Page (MVVM)
- Items Page (MVVM)
- Item Detail Page (MVVM)
- Grouped Items Page (MVVM)
- Group Detail Page (MVVM)
- Search Contract (MVVM)
- Share Target Contract (MVVM)
- Settings Pane (MVVM)
What do the MVVM Pages Look Like?
All the page templates (and each of the pages in the project templates) include the following files,
If you're building Modern UI MVVM app's, looks like this should really help speed up your delivery and help you focus on what will make your app great...