title: Communication between Windows Store app and native desktop application
body: <p><strong>! For the sake of simplifying things I will refer to <em>Windows Store applications</em> (also known as Metro or Modern UI) as "app" and to common <em>desktop applications</em> as "application" !</strong></p>
  
  <p>I believe this is still one of the most unclear yet important questions concerning app-development for developers who already have established applications on the market:
  How to manage communication between apps and applications on a Windows 8 system? (please let's not start a debate on principles - there're so many use cases where this is really required!)</p>
  
  <p>I basically read hundrets of articles in the last few days but still it remains unclear how to proceed doing it right from the first time. Mainly because I found several conflicting information.
  With my question here I'd like to re-approach this problem from the viewpoint of the final Windows 8 possibilities.</p>
  
  <p><strong>Given situation:</strong></p>
  
  <ul>
  <li>App and application run on same system</li>
  <li>1:1 communication</li>
  <li>Application is native (written in Delphi)</li>
  <li>Administrator or if required even system privileges are available for the application</li>
  <li>In 90% of the use cases the app requests an action to be performed by the application and receives some textual result. The app shouldn't be left nor frozen for this!</li>
  <li>In 10% the application performs an action (triggered by some event) and informs the app - the result might be: showing certain info on the tile or in the already running and active app or if possible running the app / bringing it to the foreground.</li>
  </ul>
  
  <p><strong>Now the "simple" question is, how to achieve this?</strong></p>
  
  <ul>
  <li>Is local webserver access actually allowed now? (I believe it wasn't for a long time but now is since the final release)</li>
  <li>WCF? (-> apparently <a href="http://msdn.microsoft.com/en-us/library/hh556233.aspx" rel="noreferrer">MS doesn't recommend that anymore</a>)</li>
  <li>HTTP requests on a local REST/SOAP server?</li>
  <li><a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.web.syndication" rel="noreferrer">WinRT syndication API</a>? (another form of webservice access with RSS/atom responses)</li>
  <li><a href="http://msdn.microsoft.com/en-us/library/windows/apps/br212061.aspx" rel="noreferrer">WebSockets</a> (like <a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.sockets.messagewebsocket.aspx" rel="noreferrer">MessageWebSocket</a>)?</li>
  <li>Some other form of TCP/IP communication?</li>
  <li>Sharing a text file for in- and output (actually simply thinking of this hurts, but at least that's a possibility MS can't block...)</li>
  <li>Named Pipes are not allowed, right?</li>
  </ul>
  
  <p>There are some discussions on this topic here on SO, however most of them are not up-to-date anymore as MS changed a lot before releasing the final version of Windows 8. Instead of mixing up old and new information I'd like to find a definite and current answer to this problem for me and for all the other Windows application and app developers. Thank you!</p>