none
Entickeln für Desktop, Tablet, Telefon - 3 verschiedene Apps? RRS feed

  • Frage

  • Hallo,

    ich komme aus der Mac/iOS-Welt und überlege meine dortigen Apps auch für Windows zu entwickeln. Generell gibt es drei Geräte-/Systemklassen: Desktop, Tablet und Telefon. In der Mac Welt liegt die Trennung zwischen dem Desktop einerseits und dem Tablet/Telefon andererseits. Will man alle Geräte bedienen muss man also zwei Apps entwicklen: Eine für Mac OS und eine für iOS.

    Wie sieht das bei Windows aus? Soweit ich das verstanden habe liegt hier die Trennung anders. Das Windows Phone steht alleine und Tablet Apps laufen auch dem Desktop. Richtig?

    So ganz verstehe ich das aber nicht. Die "richtigen" Tablets laufen auf ARM Prozessoren die Desktops auf Intel. Stecken in einer Tablet/Desktop Apps also zwei Apps (eine Binary für jeden Prozessor)?

    Windows RT Apps laufen auf dem Desktop, aber reine Desktop Apps nicht auf RT. Richtig? Was muss man also beachten, wenn man nur eine App für Desktop/RT schreiben will und nicht zwei getrennt?

    Laufen die Desktop/RT Apps dann nur unter RT und Windows 8? Wie sieht es mit der Unterstützung älterer Windows Versionen aus?

    Leider alles etwas verwirrend...

    Vielen Dank!

    Dienstag, 23. Juli 2013 11:16

Antworten

  • Hallo Agenor, willkommen im Forum. Schön, dass du Interesse an Windows Apps entwickelt hast.

    Wenn du aus der Mac Welt kommst, kann ich mir die Verwirrung vorstellen. War bei mir wechselseitig genau so :). Ich versuche mal für etwas aufklärung zu sorgen.

    • Du hast Recht, Windows Phone wird separat programmiert. Wenn du allerdings eine Sprache nutzt, die beide Systeme beherrschen (ich nutze C#), kannst du (sehr wahrscheinlich) Corefunktionen deines Programms in gemeinsame Klassen auslagern und warten.
    • Es gibt unter Windows 8 sogenannte Apps. Diese laufen sowohl auf den x86 Win8 Prozessoren, als auch auf den Windows RT Geräten und sind per Touch und Maus bedienbar. Das Event [...].Click(); bei Buttons ist zum Beispiel für Touch und Mausklicks implementiert, man muss sich also nicht um beide Eingabemethoden kümmern.
    • Es gibt unter Windows 8 x86 sogenannte Desktop Programme. Dazu gehören grob gesagt die alten ".exe" Tools, die sich unter C:\Programme\  installieren lassen. Wie beim alten Windows Desktop. Diese liegen meist nur in x86/x64 Kompilaten vor, sind also auf einem RT Gerät mit ARM Prozessorarchitektur nicht ausführbar.
    • Dass alle Tablets auf ARM mit RT laufen und alle Desktops auf Nicht-RT mit Intel Prozessoren kann man so nicht sagen. Das Surface Pro ist zum Beispiel ein Tablet, welches auf einem i5 mit x86 Architektur läuft, und somit in der Lage ist ein x86 Windows 8 zu starten.
    • Die "Windows Store Apps" (das ist glaube ich der offizielle Name) mit dem Kacheldesign aus Windows 8 laufen NICHT auf alten Windows Versionen.

    Ich hoffe ich konnte für ein wenig Klarheit sorgen :).

    Wenn du Multiplatform entwickeln willst empfehle ich dir, dir MVC (google mal, ich darf noch keine Links einfügen ;-) ) ähnliche Paradigmen anzuschauen. Du löst kurz gesagt die Datenverarbeitung von dem Viewer los. So kannst du deine C#-Datenverarbeitungsklasse, im besten Falle sogar ohne anpassungen, in einem Windows Forms Programm (alte Windows Programme), einer Windows Store App (neue Modern-UI Apps) und Windows Phone nutzen.

    Dienstag, 23. Juli 2013 11:34

Alle Antworten

  • Hallo Agenor, willkommen im Forum. Schön, dass du Interesse an Windows Apps entwickelt hast.

    Wenn du aus der Mac Welt kommst, kann ich mir die Verwirrung vorstellen. War bei mir wechselseitig genau so :). Ich versuche mal für etwas aufklärung zu sorgen.

    • Du hast Recht, Windows Phone wird separat programmiert. Wenn du allerdings eine Sprache nutzt, die beide Systeme beherrschen (ich nutze C#), kannst du (sehr wahrscheinlich) Corefunktionen deines Programms in gemeinsame Klassen auslagern und warten.
    • Es gibt unter Windows 8 sogenannte Apps. Diese laufen sowohl auf den x86 Win8 Prozessoren, als auch auf den Windows RT Geräten und sind per Touch und Maus bedienbar. Das Event [...].Click(); bei Buttons ist zum Beispiel für Touch und Mausklicks implementiert, man muss sich also nicht um beide Eingabemethoden kümmern.
    • Es gibt unter Windows 8 x86 sogenannte Desktop Programme. Dazu gehören grob gesagt die alten ".exe" Tools, die sich unter C:\Programme\  installieren lassen. Wie beim alten Windows Desktop. Diese liegen meist nur in x86/x64 Kompilaten vor, sind also auf einem RT Gerät mit ARM Prozessorarchitektur nicht ausführbar.
    • Dass alle Tablets auf ARM mit RT laufen und alle Desktops auf Nicht-RT mit Intel Prozessoren kann man so nicht sagen. Das Surface Pro ist zum Beispiel ein Tablet, welches auf einem i5 mit x86 Architektur läuft, und somit in der Lage ist ein x86 Windows 8 zu starten.
    • Die "Windows Store Apps" (das ist glaube ich der offizielle Name) mit dem Kacheldesign aus Windows 8 laufen NICHT auf alten Windows Versionen.

    Ich hoffe ich konnte für ein wenig Klarheit sorgen :).

    Wenn du Multiplatform entwickeln willst empfehle ich dir, dir MVC (google mal, ich darf noch keine Links einfügen ;-) ) ähnliche Paradigmen anzuschauen. Du löst kurz gesagt die Datenverarbeitung von dem Viewer los. So kannst du deine C#-Datenverarbeitungsklasse, im besten Falle sogar ohne anpassungen, in einem Windows Forms Programm (alte Windows Programme), einer Windows Store App (neue Modern-UI Apps) und Windows Phone nutzen.

    Dienstag, 23. Juli 2013 11:34
  • Hallo Agenor,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Wenn nicht, neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.

    Danke und viele Grüße,
    Ionut


    Ionut Duma, MICROSOFT   Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-PrinzipEntwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Dienstag, 30. Juli 2013 14:53
    Moderator