Win8: Metro vs. Desktop

Für die IT-interessierte Gemeinde ein paar technische Infos zu Windows 8 (Stand Juni 2012):

Metro

  1. „Apps“ laufen auf einer eigene, auf nativem Code und einem überarbeiteten COM-basierende Klassenbibliothek (C++) mit Namen „Windows Runtime (WinRT)“.
    • Für x86, x64 und ARM Prozessoren
  2. Die Oberflächen (Views) erstellt man mit HTML/CSS oder XAML
    • „WinRT-Metro-XAML“ hat Abweichungen zu „Managed-WPF-XAML“!
  3. Die Programmierung erfolgt mit C/C++/C# und Visual Basic für XAML oder JavaScript für HTML/CSS
    • Die Klassen der Windows Runtime Library sind in weiten Teilen eine Untermenge der .NET-Klassen aus der .NET-Klassenbibliothek 4.0
    • Zugang zu Systemresourcen eingeschränkt (Sandbox-Konzept wie bei Silverlight)
    • Kein Managed Code, Kein WPF
    • Metro Apps kennen nicht das Konzept einer gemeinsamen Bibliothek (Shared Library), das heißt, jede Metro App muss ihre DLLs selbst mitliefern
  4. Eine dritte, im Bild nicht genannte Möglichkeit für Metro-Oberflächen ist die Verwendung von DirectX 11

Anmerkungen

  1. Bestehende .NET- und Silverlight-Anwendungen können nur mit einem nennenswerten Umstellungsaufwand (oder gar nicht) als Metro App laufen!
  2. Unternehmen, die Client-Anwendungen entwickeln, müssen also in Zukunft zwei Codebasen pflegen, wenn sie ihre Anwendungen sowohl für den klassischen Desktop als auch Windows 8 Metro anbieten wollen.
  3. Es ist zweifelhaft, ob sich typische Geschäftsanwendungen komplett in Metro abbilden lassen.
  4. Microsoft hat angekündigt, dass sich die kommenden Express-Ausgaben von Visual Studio 11 nur noch zur Entwicklung von Metro-Applikationen im Kacheldesign eignen sollen. Wer Desktop-Applikationen im gewohnten Fenster-Look programmieren will, muss sich eine kommerzielle (kostenpflichtige) Ausgabe der neuen Entwicklungsumgebung beschaffen oder bei Visual Studio 2010 (Express) bleiben. UPDATE: Mittlerweile gibt es eine Express-Version für Desktop-Anwendungen! Click me!

Desktop

  1. Anwendung erstellt man wie bisher mit der Win32-Bibliothek beziehungsweise MFC (Microsoft Foundation Class) oder mit Windows Forms beziehungsweise WPF (Windows Presentation Foundation) aus der .NET-Klassenbibliothek
  2. Mit Ausnahme der XAML-Oberflächenklassen sollen die WinRT-Klassen auch “klassischen” (d.h. nicht Metro-basierten) .NET-Anwendungen zur Verfügung stehen.

Quellen:
http://www.heise.de/developer/artikel/Windows-8-Apps-benoetigen-neue-Windows-Runtime-1344071.html (15.09.2011)
http://www.heise.de/newsticker/meldung/Build-Mit-Windows-Runtime-kehrt-Microsoft-zu-COM-zurueck-1344119.html (15.09.2011)
http://www.heise.de/newsticker/meldung/Visual-Studio-Express-nur-noch-fuer-Metro-1584234.html(25.05.2012)

windows8aufbau

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s