locked
UX Prototyping C++/XAML/DirectX

    General discussion

  • Thoughts on the fastest way to bring up a C++/XAML/DirectX app for prototyping work?  Our Universal app is largely C++ and has directX.  Using C++/XAML/DirectX seems reasonable.  However we want very fast prototyping and changes to UX design based on usability testing.  There is a push perhaps to use C# for this purpose.  Would it make sense to protoype in C# and then port to C++?  Is C# XAML: really that much quicker than C++?

    We have over 100 forms.

    Monday, May 11, 2015 10:52 PM

All replies

  • Hello,

    There really isn't a single answer to this question. It really depends on your C++ / Cx, C# and XAML skills.

    The underlying XAML is exactly the same on both platforms. If you are comfortable with C++ / Cx then there is no reason to move to C# and then back to C++ / Cx. It really just depends on what you are comfortable with. We have added extensions to C++ to allow you to easily consume Runtime components.

    If you crate your UI using good databinding principals you should be able to crate a code backend that is relatively independent of the UI. This allows designers to use tools such as Blend to quickly prototype unique user experiences that can change relatively independently of the code behind.

    I hope this helps,

    James


    Windows SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Tuesday, May 12, 2015 12:05 AM
    Moderator
  • Thank You James!

    What are your thoughts of the SwapChainPanel sample -vs- doing things all in C++/XAML/Directx?  The SwapChainPanel App uses C# for the UX and C++ for the directx items.  The app is on an embedded system and requires user input and high frame rates  (similar to a game).

    Friday, May 15, 2015 5:24 PM
  • Hello,

    The SwapChainPanel is the preferred way to do DirectX / XAML interop for both C++ / Cx and C#.

    I think your question is more about C++ / Cx XAML vs. C# XAML. Both languages use the same underlying XAML engine. The C++ / Cx version does perform a bit better overall but the difference is negligible. The real benefit of C++ / Cx over C# is in startup time. Loading the CLR can take time. With C++ / Cx the CLR isn't necessary and the app starts faster.

    For prototyping C# can be the faster option due to language constructs are easier to use (await vs. lambdas). That said if you are familiar with C++ / Cx and proficient in the PPL you can be just as productive. At some point it just comes down to personal preference.

    Did I answer your question?

    -James


    Windows SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Friday, May 15, 2015 9:00 PM
    Moderator
  • Thanks James.  that does answer my question.  For some reason I can not mark it as an answer...  But if you could do that it would be great.
    Monday, May 18, 2015 8:13 PM
  • Hello,

    Thanks for the confirmation.

    One of our community moderators will be around to mark it in a day or two.

    Thanks again,

    James


    Windows SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Monday, May 18, 2015 11:01 PM
    Moderator
  • Since this is an opinion based discussion with no single right answer James marked it as a discussion rather than a question. Discussions don't get flagged with answers.

    Thursday, May 21, 2015 12:12 AM
    Moderator
  • Thanks Rob!  I was wondering where the button went.  :-)
    Friday, May 22, 2015 12:24 AM