Anzeige

Am Puls von Microsoft

Anzeige

Windows 8 - kein klassischer Desktop für ARM-Geräte?

Martin

Webmaster
Teammitglied
Streicht Microsoft den klassischen Desktop aus der Windows 8 Version für ARM-Prozessoren?
Microsoft-Kennerin Mary-Jo Foley geht in einem Blog-Beitrag Hinweisen nach, dass die bisherige Strategie "Ein Windows 8 für alle Plattformen und Geräte" auf dem Prüfstand steht.
Demnach denkt man bei Microsoft konkret darüber nach, den klassischen Desktop aus der Windows 8 Version für ARM-Prozessoren zu streichen.
Dies wird zunächst nur Tablet-Computer betreffen - diese würden dann nur über die Metro-Oberfläche verfügen und wären auch nicht in der Lage, klassische Windows-Programme auszuführen.

Was die Oberfläche betrifft, wäre dies eine nachvollziehbare Entscheidung, da die Metro-Oberfläche für Tablets wesentlich besser geeignet ist.
Dennoch wäre der Schritt ein Indiz dafür, dass man bei der Anpassung an die ARM-Architektur mit größeren Problemen zu kämpfen hat als ursprünglich erwartet.
Wenn auf ARM-Tablets ausschließlich Metro-Apps laufen, würde das auch bedeuten, dass das Software-Angebot zum Start von Windows 8 recht überschaubar wäre.

Microsoft to drop Desktop App from Windows 8 ARM tablets? | ZDNet

Alle News zu Windows 8 auf DrWindows
 
Anzeige
Es gibt aber auch die Anwendungsfälle, wo man ein Tablet mit einer Tastatur verbindet.

Gerade für solche Fälle wäre ein klassischer Desktop als Ergänzung sehr interessant.

Man darf ja auch nicht vergessen, dass die klassischen Desktopprogramme eine Entwicklungsevolution von über 20 Jahren hinter sich haben. Die Desktopprogramme sind ausgereift und qualitativ hochwertig im Gegensatz zu den Spiele- und WetterApps der Metrooberfläche.
 
Der von Martin verlinkte Artikel stammt vom 1. 12. 11 und ist mittlerweile überholt. Wie Mary Jo am 10. Januar schrieb wurden auf der CES Tablets mit ARM gezeigt. Diese zeigten auf der Metro-Oberfläche eine Kachel, die den Desktop aufruft. Ein entsprechender Screenshot wurde von MVP András Velvárt veröffentlicht.
Allerdings handelt es sich nicht um eine native Oberfläche, sondern um eine App. Außerdem gibt es nach wie vor keine Stellungnahme von Microsoft, ob die traditionellen Anwendungen auf der ARM-Plattform laufen werden.
Ich denke, alles weitere fällt derzeit in den Bereich der Spekulation.
 
Wie sieht Deine Einschätzung aus Entwicklersicht aus?
Kann man in Windows 8 unter ARM eine Ausführungsschicht einfügen, welche Standard x86 Programme lauffähig macht? Oder können die Programm unter Umständen sogar von sich aus laufen?
Oder müssen die x86 Programme alle neu kompiliert werden, um unter Windows 8 auf ARM zu funktionieren?
 
Dann spiele ich jetzt mal Radio Eriwan: Im Prinzip ja, aber...

Ich kann nur aufgrund der bekannten Features von Windows 8 spekulieren. Windows 8 für x86 enthält zwei native Benutzeroberflächen, die jeweils ihre eigenen APIs (Application Programming Interface = Programmierschnittstellen) mitbringen. In den Guidelines für Apps schreibt Microsoft, dass Apps, die es auf den Marketplace schaffen wollen, ausschließlich die APIs für APPs verwenden dürfen. Es handelt sich also um zwei getrennte Welten innerhalb von Windows 8. Wenn die Aussagen von Mary Jo stimmen, handelt es sich beim Desktop für Windows 8 ARM nicht um eine native Oberfläche, sondern um eine App. Obwohl Microsoft ansonsten sehr offen mit der Entwicklung von Windows 8 umgeht, bekommt man keine Antwort auf die Frage, ob diese App auch im endgültigen Produkt vorhanden sein wird. Das weist eigentlich darauf hin, diese App nicht nur eine für die Touchbedienung weniger geeignete Oberfläche anzeigt, sondern dass da noch zusätzliche Funktionalitäten enthalten sind.
Unter Linux gibt es bereits seit zwei Jahrzehnten das Projekt WINE, das mit mäßigem Erfolg versucht, Windowsanwendungen unter Linux zum Laufen zu bekommen. Eventuell enthält die Desktop-App für ARM-Windows eine ähnliche Funktionalität, so dass Windows-Anwendungen innerhalb der App ausgeführt werden können. Aber das ist reine Spekulation.
Denk- und begründbar wäre aber auch, dass Microsoft sich bei der ARM-Version von Windows 8 auf Anwendungen ganz verzichtet und nur Apps zulässt. Grund könnte sein, dass die Übersetzung der APIs nicht befriedigend funktioniert oder dass die ARM-Geräte einfach zu schlecht ausgerüstet sind, um vollwertige Windows-Anwendungen flüssig auszuführen. Dafür spricht in meinen Augen die Geheimniskrämerei, die Microsoft um die Desktop-App macht. Eventuell wissen die Entwickler in Redmond einfach nicht, ob sie damit fertigwerden. Es ist auch möglich, dass sich Microsoft mit dieser Windows-Version einfach nur an den Erfolg von iPad und Android-Geräten anhängen möchte. Die funktionieren ja ausschließlich mit Apps.
Langer Rede kurzer Sinn: rein technisch sollte es möglich sein, aber ob es etwas wird, werden wir frühestens erfahren, wenn die Beta draußen ist.
 
Soweit ich weiß, hat MS vor einiger Zeit offiziel bestätigt, dass es für Windows 8 auf Tablets nur noch die Metro-Oberfläche geben wird und dort afaik keine Desktop-App mehr. Bei Intel-basierten x86 Tablets könnte ich mir eine entsprechende Desktop-App noch vorstellen, da hier die Desktop-Apps entsprechenden Maschinencode haben und nichts emuliert werden muß. Bei ARM-basierten Tablets ist es für ich sehr gut nachvollziehbar, das hier keine x86 Desktop-Apps mehr laufen, da hier einfach eine ganze andere (ARM) grundlegende CPU-Architectur vorhanden ist, die nicht mit der x86 zu vergleichen ist! Also werden bzw können x86 Programme erstmal generell NICHT unter ARM Prozessoren laufen!

Die einzige Möglichkeit wäre meines erachtens eine Art x86-Emulator - wobei es hier auch zwei verschiedene Ansätze geben würde. Die eine Methode wäre, dass ein x86 Programm Schritt für Schritt bzw jeden einzelnen CPU-Befehl (in Echtzeit) von x86 auf ARM emuliert wird, was natürlich sehr langsam würde - zumale ARM zwar sehr sparsam sein soll aber zugleich auch nicht wie von vielen immer wieder vermutet die entsprechende Rechenleistung hat. Die zweite Möglichkeit um mehr Performance zu gewinnen, wäre das x86 Programm beim start einmalig KOMPLETT von x86 zu ARM im Speicher zu konvertieren/emulieren, so dass dieses zur Laufzeit nicht mehr Befehl für Befehl emultiert werden muß, sondern schon entsprechend (emuliert oder wie ich das jetzt auch immer beschreiben soll) im Speicher liegt.

Das ganze ist halt so wie alte C64 Spiele oder Gameboy Spiele usw... diese kann man auch nicht einfach unter Windows, Linux, Mac oder so starten, da diese in ganz anderer Maschinensprache (CPU-Befehlssaätze) geschrieben sind und zudem auch noch ganz andere Sound und Grafik-Hardware besitzen. Auch diese sind auf einem schnellen PC nur durch eine sogenannte Emulation möglich. Wobei man schon einen recht Leistungsfähigen PC haben muß, um diese Spiele auf dem PC flüssig spielen zu können.

Ansonsten heißt es natürlich für die Programmierer, ihre x86 Programme an Windows 8 / ARM entsprechend anzupassen und neu zu compilieren. Einfach nur ein vorhandenes Projekt neu compilieren wird wohl - ohne den Code teils anzupassen - nicht einfach so gehen.

Bzgl dem Beispiel mit Wine unter Linux.... Also mir ist ganz ehrlich noch nie jemand mit Linux auf einem PowerPC oder ARM oder Co über den Weg gelaufen. Alle lassen Linux auf x86/x64 CPUs laufen. Von daher ist es auch um einiges einfacher, Windows Programme unter Linux, mittels Wine laufen zu lassen. Hier muß nichts emuliert werden! Das einzige was hier passiert, es werden die Windows-Systemaufrufe (DLLs) gehookt bzw überwacht und diese dann entpsrechend umgeleitet, so dass die Programme unter Wine laufen/laufen sollten. Dieses bringt den Vorteil, dass die Sachen um einiges schneller laufen, als würden diese auf eine andere CPU-Architektur komplett emuliert.

Ich muß ehrlich gestehen, dass ich im Moment bzgl Microsoft viele viele Fragezeichen über den Kopf habe und in vielen Bereichen nicht so recht weiß, was ich von diesem Unternehmen derzeit halten soll - dieses liegt aber an ihrer mangelnden Öffentlichkeitsarbeit / Politik gegenüber User und insbesondere gegenüber Entwickler. Werde hierzu später noch ein eigenes Topic eröffnen, da es hier nicht so ganz reinpasst.

Wie auch immer... Windows 8 usw sind an sich eine nette Idee / Basis für eine einheitliche Zukunft - wenn Microsoft nur mal seine eigenen Produkte entpsrechend einsetzen und vermarkten würde, anstatt immer wieder Fehler zu machen und Leute wie auch Entwickler zu vergraulen.

Mir wäre es ganz lieb, wenn Windows 8 , Winodws Phone, Xbox auf nur noch einer Art Platform bzw auf C#/XNA basieren würden, da so alle Programme auf jeder Hardware laufen würden und Platformunabhängig wären! Allerdings sollte MS hier erstmal anfangen den C# MSIL und Framework, wie auch das XNA Framework entsprechend zu optimieren, welches gut um den Faktor 6 an Geschwindigkeit optimiert werden könnte.

@Martin:
Programme die für ARM kompiliert werden, würden auch nur unter ARM laufen... Programme für x86 kompiliert würden halt nur auf x86 laufen. Ein Programm das auf beiden Sachen läuft ist so nicht direkt möglich... Mit der einzigen Ausnahme, die Programme sind in C# / XNA programmiert... So würden diese auf jeder Platform / Hardware laufen!
 
Anzeige
Oben