3

I'm currently writing several Windows store XAML apps in C# (my favorite language). I'm planning to do a lot of future windows 8 development, and I need to make some concrete decisions about how I go about it - specifically whether I chose C# or C++ as my main approach. For me the main factors are this:

Developing in C++ :

  • secure (ish) from reverse engineering
  • better memory usage on low spec devices
  • large amounts of open source code available for implementing a wide range of features
  • greater amount of control by writing code that runs 'closer to the metal'

Developing in C# :

  • access to the very rich .NET framework
  • quick to write, test and re-write code

So far its an even match, so the decision will ultimately come down to the differences in the user experience when writing a fairly complex XAML apps in either language / technology.

My question is - does anyone have good experience writing XAML apps in both technologies, and is the user experience equally good in both, or are there subtle differences (e.g. would a C++ version of an app be smoother to scroll with a large amount of data in a GridView with a complex ItemTemplate etc..)

Does anyone have any concrete, experience-based answers to help me out?

Thanks in anticipation.

Dean Chalk
  • 20,076
  • 6
  • 59
  • 90
  • 1
    Maybe start with http://stackoverflow.com/questions/10031929/what-are-the-pros-and-cons-of-writing-c-xaml-vs-c-xaml-winrt-applications-in – bAN Jan 11 '13 at 11:31
  • 2
    Use the one you're most comfortable with. By using the other you'll loose more than you can gain. – Agent_L Jan 11 '13 at 11:40
  • So far my experience after spending months profiling Windows 8 apps tells me that all optimizations required in the UI don't depend on the language, though it might be easier to implement them in C#. – Filip Skakun Jan 11 '13 at 20:14

1 Answers1

3

Use both - C# for all the GUI stuff, C++ for number crunching etc.

C++/CLI provides a nice way to Interop between the two. So you have the speed and ease of development of C#, but can access all the libraries and have performance benefits of C++ where you need it.

Wilbert
  • 7,251
  • 6
  • 51
  • 91
  • I always feel the best answer to a which is best question is always 'Yes' and here is why. and this question sums up those points nicely, +1 –  Jan 11 '13 at 11:49