locked
Metro style app VS Traditional Desktop App

    Question

  • We are trying to porting some traditional desktop app to metro style app, to better understanding the differentiation between them, do we have any materials on below topics:

    1. Resource management, including file/folder accessibilty

    2. Communication among processes.

    3. Multi-Thread, how to mutex and sync.

    4. Internet acesse

    5. Multi-media, include vedio decoding and encoding.

    Thanks.

    Friday, April 27, 2012 2:41 AM

Answers

  • Hello,

    Here is a document of White papers for Metro style apps. You can find some new or remove feature in Windows  8 CP in these papers
    http://msdn.microsoft.com/en-us/library/windows/apps/hh465413.aspx

    This document is about the alternative Windows API in metro. You can find out which function is supported in Metro style app.
    http://msdn.microsoft.com/en-us/library/windows/desktop/hh464945.aspx

    Best regards,
    Jesse


    Jesse Jiang [MSFT]
    MSDN Community Support | Feedback to us

    • Marked as answer by chenyue_nova Wednesday, May 02, 2012 1:16 AM
    Monday, April 30, 2012 6:25 AM
  • Hello,

    There are some addition information.

    First of all, the Metro style apps and Desktop apps are the two styles of app which are completely different—the use different APIs, different user interface systems, etc.  Certain code like business logic likely will port, but only if it is relatively free of calling Windows APIs.

    We would recommend these videos for starters
    http://channel9.msdn.com/Events/BUILD/BUILD2011/PLAT-874T
    http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-532T

    After that, they can find all of the other videos on Channel9.

    1. Resource management, including file/folder accessibilty
     
    File IO is done through WinRT classes similar to .NET, but you have to make the WinRT calls async.  There’s an SDK example that shows how to do this.  You won’t be calling CreateFile/fopen, etc.
     http://code.msdn.microsoft.com/windowsapps/File-picker-sample-9f294cba
     
    3 . Multi-Thread, how to mutex and sync.

    Threading is something you have to be a lot more careful of—the UI thread cannot block for more than 5ms or the app will be killed.  Basically the UI thread never waits, blocks, sleeps, or stops.  Background threads can do so.  But, Metro apps can only run when they are visible; when they aren’t visible, they are suspended.  Okay, there are some ways they can get limited background processing time by registering for it.  But, they still don’t run like Win32 or .NET apps where the threads execute whether the process is in the foreground or not.

    For other question, we may not have the detail answers. But we will try to collect them.

    Best regards,
    Jesse


    Jesse Jiang [MSFT]
    MSDN Community Support | Feedback to us

    • Marked as answer by chenyue_nova Monday, May 07, 2012 1:24 AM
    Wednesday, May 02, 2012 6:16 AM

All replies

  • Hello,

    Here is a document of White papers for Metro style apps. You can find some new or remove feature in Windows  8 CP in these papers
    http://msdn.microsoft.com/en-us/library/windows/apps/hh465413.aspx

    This document is about the alternative Windows API in metro. You can find out which function is supported in Metro style app.
    http://msdn.microsoft.com/en-us/library/windows/desktop/hh464945.aspx

    Best regards,
    Jesse


    Jesse Jiang [MSFT]
    MSDN Community Support | Feedback to us

    • Marked as answer by chenyue_nova Wednesday, May 02, 2012 1:16 AM
    Monday, April 30, 2012 6:25 AM
  • Hello,

    There are some addition information.

    First of all, the Metro style apps and Desktop apps are the two styles of app which are completely different—the use different APIs, different user interface systems, etc.  Certain code like business logic likely will port, but only if it is relatively free of calling Windows APIs.

    We would recommend these videos for starters
    http://channel9.msdn.com/Events/BUILD/BUILD2011/PLAT-874T
    http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-532T

    After that, they can find all of the other videos on Channel9.

    1. Resource management, including file/folder accessibilty
     
    File IO is done through WinRT classes similar to .NET, but you have to make the WinRT calls async.  There’s an SDK example that shows how to do this.  You won’t be calling CreateFile/fopen, etc.
     http://code.msdn.microsoft.com/windowsapps/File-picker-sample-9f294cba
     
    3 . Multi-Thread, how to mutex and sync.

    Threading is something you have to be a lot more careful of—the UI thread cannot block for more than 5ms or the app will be killed.  Basically the UI thread never waits, blocks, sleeps, or stops.  Background threads can do so.  But, Metro apps can only run when they are visible; when they aren’t visible, they are suspended.  Okay, there are some ways they can get limited background processing time by registering for it.  But, they still don’t run like Win32 or .NET apps where the threads execute whether the process is in the foreground or not.

    For other question, we may not have the detail answers. But we will try to collect them.

    Best regards,
    Jesse


    Jesse Jiang [MSFT]
    MSDN Community Support | Feedback to us

    • Marked as answer by chenyue_nova Monday, May 07, 2012 1:24 AM
    Wednesday, May 02, 2012 6:16 AM