The true costs of UI development in .NET

Every decision has a trade off, choose what's best for you

Last year's Microsoft Build conference was full of useful development tips, previews of upcoming technologies, and guidance on decision making during development. Of particular interest to the growing number of folks developing for the Windows Store was a talk geared toward illustrating the impact of the available choices you have when creating a Windows Store Application.

For starters, every new Windows Store Application (terrible name, I know) starts with the developer choosing whether this will be a C#/XAML app, a WinJS app, or a C++/DirectX app. WinJS is the new kid on the block which allows you to create a native store application using HTML,CSS, and JavaScript. It has all of the same capabilities as its C#/XAML counterpart but uses languages that more people may be familiar with. The JavaScript part runs on top of a framework known as WinJS, so it's not all standard JavaScript.

If you're in the 'native is better for mobile' camp like I am, the thought of building a mobile app using HTML/CSS/JS sounds bad, but the answer isn't so clear. According to the development community, the performance is nearly identical to C#/XAML, which makes the decision even harder. Of course nothing beats the raw power of C++ and DirectX, but the amount of extra work required to build the app may not be worth it, and that's they key point of this particular talk.

Building a user interface heavy application in .NET is a difficult task. With the rise of tablet computing, the technique you use is more important than ever if you want your app to perform on a wide range of devices. But each technique has its trade-offs. The video below provides excellent demonstrations of the effects of various development methods.

The purpose of these experiments is to show that everything has a cost. If you use C#/XAML the cost is performance but you gain a vast amount of capability out of the box. If you use C++/DirectX the cost is increased effort and development time but you gain the best performance and so forth. It's a very interesting talk and one that expanded the way I think about and approach new projects. If you've got some time to watch or just listen to the hour long session, I recommend it.

ITWorld DealPost: The best in tech deals and discounts.