High Performance Windows Store Apps

My former coworker on the Roslyn team, Brian Rasmussen, has written High-Performance Windows Store Apps, about professional-quality engineering techniques for writing fluid, high-performance applications. I got a sneak peak at the book during its production; it’s going to have great content and look fantastic. I’m looking forward to picking up a copy.

Brian and the editors were kind enough to ask me to write a foreword, which I did gladly. You can check out the foreword and get more information about the book at the Microsoft Press blog.

13 thoughts on “High Performance Windows Store Apps

  1. Hi Eric, the title suggests the book is quite Windows Store specific, but your foreword makes it sound much more generally useful. What are your thoughts?

    • Good point. Metro-style Windows applications require fast and fluid user interface experiences that do not hang even when faced with high latency operations. That leads to some fairly specific performance requirements and techniques for achieving them.

      However, a lot of what Brian discusses in this book applies more broadly to Windows application programming as well. If you can use Windows Performance Analyzer for a Metro style application then you can use it for any Windows application. And if you have a good engineering discipline about designing for performance early and measuring often, that can apply to any kind of programming on any operating system.

      I think that focusing the book specifically on Windows Store applications is a good idea, but I also think that there is a lot of stuff here that applies more generally. People who write Windows Store applications can apply these techniques more broadly throughout their careers.

    • I’m the author of the book, so I can offer some insight as well. First, I want to thank Eric for the kind words and for writing the foreword.

      The book is written specifically for Windows Store apps, so some of it is specific to that context. However, as Eric points out the set of tools and the general methodology of working with performance are not specific to Windows Store apps. The scope also limits the level of detail for some of the topics I cover. For instance, I talk about asynchronous code and how you can use tasks to off-load CPU bound tasks, but you won’t find a detailed walk through of threading in general because most apps will probably not need to employ threading to that level.

      I wanted to write a short introduction to performance engineering to get devs, designers, and project managers interested in the subject. In my experience performance is often left as an exercise for the few experts on the team. I believe a lot of issues can be addressed much more effectively if the entire team is conscious about performance throughout the entire project. My goal is to get teams to incorporate performance work into their daily work. I want to make performance engineering more accessible. I believe a short getting started book stands a better chance of accomplishing that.

  2. Brian,

    It’s great to know that there will be a kindle version. Is there any way to get notified when the e book is released. Amazon only offered to pre-order the print edition.

    I am really looking forward to learn techniques from the masters.

  3. Greetings from Microsoft Press; I’m the book’s editor. We’re hoping to have the Kindle version out by mid-April, but I can’t give you an exact date. We’ll have everything done by April 9, but then there are some short process lags.

  4. Pingback: Dew Drop – March 10, 2014 (#1739) | Morning Dew

  5. Mobile programming is a fascinating subject and there is never enough learning material around, especially when it comes to mobile C# programming. But I have to say I am very, very pessimistic about the future of Windows Mobile/RT/8+ and am looking forward to new books on Xamarin (preferably Android: death to iEmpire! 🙂 )

  6. I’m the developer of a product that has both a desktop version and a Windows Store version. In the Windows Store version I deliberately chose to stay conservative about algorithm settings that affect performance the most, just because I simply couldn’t find enough information about how WinRT behaves from a performance point of view.

    So I very much welcome this book!

    FYI, my app is Chronotron Mobile (http://apps.microsoft.com/windows/app/chronotron-mobile/0dfccc9d-337a-476b-98cd-7246c53d4340).

  7. Hi Eric,

    I watched your 5 things all .net devs should know, great insight, re windows store/phone apps they rely heavily on async/await, I am dealing with an issue that might relate to thread locking that is not so obvious – can you run an article on the pitfalls, or gotchas (rather than the good stuff) of the async/await model?

    cheers!

Leave a comment