Friday, 20 December 2013

Announcing Prism for the Windows Runtime for Windows 8.1

Back in May the patterns & practices team at Microsoft released a new guide for Windows 8 on creating Windows Store business apps using C# and XAML. The guide came with source code Prism for the Windows Runtime, source code for the AdventureWorks Shopper product catalog and shopping cart reference implementation, and documentation. The documentation provided guidance on how to implement MVVM with navigation and app lifecycle management, validation, manage application data, implement controls, accessible and localizable pages, touch, search, tiles, and tile notifications. It also provided guidance on testing an app and tuning its performance.

We’ve now updated the guide for Windows 8.1 and Visual Studio 2013 and it can be found on the Windows Developer Center.

What’s it all about?

Developers of Windows Store business apps face several challenges. App requirements can change over time. New business opportunities and challenges may present themselves. Ongoing customer feedback during development may significantly affect the requirements of the app. Therefore it's important to build an app that it is flexible and can be easily modified or extended over time.

Prism for the Windows Runtime provides an architecture that helps to do just that. It is designed to help developers create apps that need to accomplish the following:

  • Address the common Windows Store app development scenarios.
  • Separate the concerns of presentation, presentation logic, and model through support for Model-View-ViewModel (MVVM).
  • Use an architectural infrastructure to produce a consistent and high quality app.

The architecture provided by Prism helps to produce flexible, maintainable, and testable apps. It includes components that help to accelerate development of your app by providing support for MVVM, loosely coupled communication, and the core services required in Windows Store apps, allowing you to focus on developing the user experiences for your app. For more info see Prism for the Windows Runtime reference.

What do I get?

  • Documentation. The documentation provides guidance on how to implement MVVM with navigation and app lifecycle management, manage application data, implement controls, accessible and localizable pages, touch, validation, search, tiles, and tile notifications. It also provides guidance on testing your app and tuning its performance.
  • Portable Document Format (PDF). A PDF version of the on-line guidance, for printing or reading offline.
  • AdventureWorks Shopper reference implementation source code. A Visual Studio solution containing all the projects that make up the AdventureWorks Shopper product catalog and shopping cart reference implementation.
  • Quickstarts. The guidance includes a number of Quickstarts that illustrate specific concepts. Many of the Quickstarts use Prism for the Windows Runtime.
  • Prism for the Windows Runtime source code. Source code for the two libraries that help to accelerate the development of managed Windows Store apps.
  • Prism for the Windows Runtime NuGet packages. NuGet packages for the two libraries that help to accelerate the development of managed Windows Store apps.

Where should I start?


Where can I get help?

Prism for the Windows Runtime, like many patterns & practices deliverables, has a community site. On the community site you can post questions, provide feedback, connect with other users to share ideas, and find additional content such as extensions and training material. Community members can also help Microsoft plan and test future releases of Prism for the Windows Runtime. For more info see patterns & practices: Prism for the Windows Runtime.

What’s changed since the last release?

The release notes, which include what's new in this release and a change log, can be found on the community site. For more info see Prism for the Windows Runtime release notes.

Tuesday, 10 December 2013

Fourth drop of Prism for the Windows Runtime for Windows 8.1

The fourth drop of Prism for the Windows Runtime, and the associated AdventureWorks Shopper reference implementation, can be found on codeplex. To compile the code you’ll need Windows 8.1 and Visual Studio 2013. Obviously the usual caveats apply to the download, as it’s not final released code yet.

Change Log

  • Numerous bug fixes, including fixing UI issues related to high contrast.
  • Updates to the SearchUserControl.
  • Updates to the incremental loading quickstart.

Tuesday, 3 December 2013

DevWeek 2014

DevWeek is the UK’s leading conference for Software Developers, DBAs, and IT architects, and is held in London each year. In 2014 it’s being held at Central Hall, Westminster from 31st March to 4th April.

I’ll be delivering two sessions:

Building native Windows Store apps for C# developers

Accelerating Windows Store app development using Prism for the Windows Runtime

For the full conference agenda see here. Looking forward to seeing you there!

Improving code quality by using NDepend v5

Previously I’ve written about NDepend, a static analysis tool design to improve code quality by using code metrics and enforcing a series of rules. I was particularly impressed by the CQLinq feature, that allows you to write LINQ-style queries to check your code for certain rules. Since then NDepend 5 has been released, and I thought it’s time I checked it out.

The new features in this release include:

  • Support for Visual Studio 2013.
  • A new dashboard panel that shows the state of your code base at a glance.
  • Customisable trend metrics and charts.
  • Listing rules and queries according to a specific criteria, such as showing all the rules that have been violated.

Obviously, there’s a lot more new in NDepend 5 than I’ve listed here. For a full list see What’s new in NDepend v5.0.

I thought I’d put it through its paces by running it on a project I’m working on. Once NDepend has analysed your project it produces a HTML report that contains an overview of it’s findings.

image

The report then allows you to drill down into the findings. My starting point was to switch to the new dashboard view to examine the data.

dashboard[2]

Previously the overview of NDepend’s findings was pretty complicated. However, this isn’t the case with the new dashboard. While there’s a lot of information presented, it’s pretty easy to navigate through it. All the data that was available in previous releases of NDepend is still present. For more info see my previous blog post about NDepend.You can also turn off specific rules and queries that are producing violations that you find acceptable.

One of the great new features is its ability to display trend charts. It seems like it’d be a particularly useful feature for those on a team who are concerned with developer productivity.

Overall this latest release of NDepend has a much improved and responsive UI, and performs its analysis quickly. I’d imagine that a key scenario where NDepend would come into its own is tracking refactoring across a project, in order to gain a high level overview of the effect that the refactoring is having, while also being able to drill down into issues caused by specific refactoring's. In such scenarios NDepend would fit the bill perfectly.