Windows8 nutzt auf Arm nur WinRT und keine WinAPI mehr...



  • Hallo,

    was haltet ihr davon, dass man zwar unter Windows8 unter der ARM-Architektur native programmieren kann, aber dies nur gegen die WinRT und nicht mehr mithilfe der WinAPI?

    MfG goNative



  • goNative schrieb:

    was haltet ihr davon, dass man zwar unter Windows8 unter der ARM-Architektur native programmieren kann, aber dies nur gegen die WinRT und nicht mehr mithilfe der WinAPI?

    Ich sehe darin nicht wirklich ein Problem, zumal ich der Meinung bin das irgendwann auch ein Paradigmenwechsel zulässig sein muss.

    Mir wäre von Seiten Microsofts nur eine wesentlich bessere Informationspolitik lieb, z.B. wir unterstützen noch 3 Windowsversionen die und jene Bibliothek. Dies würde den Entwicklerfirmen eine Übergangszeit von zumindest 6 Jahren geben.



  • asc schrieb:

    Mir wäre von Seiten Microsofts nur eine wesentlich bessere Informationspolitik lieb, z.B. wir unterstützen noch 3 Windowsversionen die und jene Bibliothek. Dies würde den Entwicklerfirmen eine Übergangszeit von zumindest 6 Jahren geben.

    Microsoft untersützt doch jede ihrer APIs bis zum Sankt Nimmerleins Tag...
    Man kann WINApi ohne Probleme in Windows 8 verwenden... Und wird es auch in Zukunft können. ARM ist eine neue Plattform mit neuer Toolchain.



  • Shade Of Mine schrieb:

    asc schrieb:

    Mir wäre von Seiten Microsofts nur eine wesentlich bessere Informationspolitik lieb, z.B. wir unterstützen noch 3 Windowsversionen die und jene Bibliothek. Dies würde den Entwicklerfirmen eine Übergangszeit von zumindest 6 Jahren geben.

    Microsoft untersützt doch jede ihrer APIs bis zum Sankt Nimmerleins Tag...
    Man kann WINApi ohne Probleme in Windows 8 verwenden... Und wird es auch in Zukunft können. ARM ist eine neue Plattform mit neuer Toolchain.

    Ich glaube nicht das man die WinAPI unter der ARM-Version von Windows8 nutzen kann, hast du andere Infos?

    EDIT: Mir fällt gerade ein, dass es dann Java wohl auch schwer haben wird, denn hier müsste erstmal ziemlich viel auf die WinRT umgeschrieben werden, was bestimmt nicht in ein paar Wochen zu meistern ist.

    EDIT2: Zitat aus Golem Artikel http://www.golem.de/news/woa-windows-8-fuer-arm-im-detail-1202-89691.html

    Apps für WOA müssen das neue Windows-API WinRT nutzen, dürfen aber auch nativen Code enthalten, sofern auch dieser nur auf WinRT zugreift. Die alten Windows-APIs stehen unter WOA nicht zur Verfügung.



  • ARM-CPUs sind überhaupt keine Alternative für x86/A64-CPUs, wenn du auf dem Desktop oder Workstation bist. Entsprechend ist Windows 8 für ARM eine eigenständiges Plattform. Warum brauche ich da Desktop-APIs?

    Windows 8 wird aber auf x86/A64 weiter die alten bekannten APIs anbieten. Wo ist also jetzt das Problem? Ich sehe keines. Ganz im Gegenteil: auf x86/A64 hae ich dann sogar zwei Plattformen gleichberechtigt laufen: Desktop und Metro.

    Wenn ich mir ein ARM basiertes Win8 kaufe, werde ich in Sachen Desktop/Workstation-leistung um Jahre zurück geworfen.

    Somit ist Win8 für ARM mit nur WinRT völlig OK, da anderes Einsatzgebiet.

    Ich freue mich, das MS langsam von der schrecklichen WinAPI weg kommt. Es ist ein Graus damit zu arbeiten... besonders GUI-Programmierung.

    Was natürlich auch toll an WinRT ist, ist das es eine native C++ API ist. 👍



  • Shade Of Mine schrieb:

    asc schrieb:

    Mir wäre von Seiten Microsofts nur eine wesentlich bessere Informationspolitik lieb, z.B. wir unterstützen noch 3 Windowsversionen die und jene Bibliothek. Dies würde den Entwicklerfirmen eine Übergangszeit von zumindest 6 Jahren geben.

    Microsoft untersützt doch jede ihrer APIs bis zum Sankt Nimmerleins Tag...

    Die Frage ist aber, ob jede API in Zukunft noch um alle Features erweitert wird.



  • Artchi schrieb:

    ARM-CPUs sind überhaupt keine Alternative für x86/A64-CPUs, wenn du auf dem Desktop oder Workstation bist. Entsprechend ist Windows 8 für ARM eine eigenständiges Plattform. Warum brauche ich da Desktop-APIs?

    Windows 8 wird aber auf x86/A64 weiter die alten bekannten APIs anbieten. Wo ist also jetzt das Problem? Ich sehe keines. Ganz im Gegenteil: auf x86/A64 hae ich dann sogar zwei Plattformen gleichberechtigt laufen: Desktop und Metro.

    Wenn ich mir ein ARM basiertes Win8 kaufe, werde ich in Sachen Desktop/Workstation-leistung um Jahre zurück geworfen.

    Somit ist Win8 für ARM mit nur WinRT völlig OK, da anderes Einsatzgebiet.

    Ich freue mich, das MS langsam von der schrecklichen WinAPI weg kommt. Es ist ein Graus damit zu arbeiten... besonders GUI-Programmierung.

    Was natürlich auch toll an WinRT ist, ist das es eine native C++ API ist. 👍

    Ich denke hier werden sehr schnell auch Netbooks oder auch Laptops mit ARM auf dem Markt kommen und ARMs werden nicht auf Tablets oder Smartphone beschränkt bleiben. So wie ich das in Erinnerung habe, ist die ARM-Architektur eh bei gleicher Leistungsaufnahme schneller und ich kann mir durchaus vorstellen, dass sich einige auch für den Desktop ein ARM kaufen werden. Die ARM-Palette wird da sicherlich weiter wachsen und für verschiedene Bedürfnisse CPUs anbieten.

    NACHTRAG: Ich denke dass die große Verbreitung von ARM auf dem Desktop immer daran gescheitert war dass kein Windows drauf läuft, dies ändert sich nun gerade. Ich denke das kann durchaus sehr spannend werden.



  • goNative schrieb:

    Ich glaube nicht das man die WinAPI unter der ARM-Version von Windows8 nutzen kann, hast du andere Infos?

    Natürlich nicht. Du kannst auch keinen x86 Code dort ausführen. Das ist ARM. Du kannst mit der WinAPI auch keine XBOX programmieren...

    Wenn du ARM und x86/x64 haben willst, musst du WinRT nehmen. Aber dein alter winAPI Code läuft bis zum Sankt Nimmerleinstag auf Windows x86/x64.

    @rüdiger:
    Microsoft ist was das betrifft wahnsinnig kompatibel. Ich kenne keine Firma die solange alte APIs pflegt.



  • Shade Of Mine schrieb:

    Ich kenne keine Firma die solange alte APIs pflegt.

    So? Zumindest was das erweitern angeht sehe ich das Anders. WindowsForms wird soviel ich weiß nicht mehr erweitert, die MFC wurde lange nicht erweitert, bis einige Firmen zuviel Druck gemacht hatten...



  • goNative schrieb:

    So wie ich das in Erinnerung habe, ist die ARM-Architektur eh bei gleicher Leistungsaufnahme schneller und ich kann mir durchaus vorstellen, dass sich einige auch für den Desktop ein ARM kaufen werden. Die ARM-Palette wird da sicherlich weiter wachsen und für verschiedene Bedürfnisse CPUs anbieten.

    Das sieht man auch sehr schön daran, dass die Ivy-Bridge-CPU nur wenig schneller ist als Sandy Bridge, dafür aber deutlich weniger verbraucht. Intel nimmt den neuen Konkurrenten wohl ernst.



  • Shade Of Mine schrieb:

    goNative schrieb:

    Ich glaube nicht das man die WinAPI unter der ARM-Version von Windows8 nutzen kann, hast du andere Infos?

    Natürlich nicht. Du kannst auch keinen x86 Code dort ausführen. Das ist ARM. Du kannst mit der WinAPI auch keine XBOX programmieren...

    Wenn du ARM und x86/x64 haben willst, musst du WinRT nehmen. Aber dein alter winAPI Code läuft bis zum Sankt Nimmerleinstag auf Windows x86/x64.

    @rüdiger:
    Microsoft ist was das betrifft wahnsinnig kompatibel. Ich kenne keine Firma die solange alte APIs pflegt.

    Die x86-Architektur ist nicht der Grund warum es da keine WinAPI gibt, sondern dass sie nicht nach ARM portiert wurde, so wie andere Teile. Sie haben einfach einen Cut gemacht und werden die WinAPI so langsam auslaufen lassen.



  • goNative schrieb:

    Shade Of Mine schrieb:

    goNative schrieb:

    Ich glaube nicht das man die WinAPI unter der ARM-Version von Windows8 nutzen kann, hast du andere Infos?

    Natürlich nicht. Du kannst auch keinen x86 Code dort ausführen. Das ist ARM. Du kannst mit der WinAPI auch keine XBOX programmieren...

    Wenn du ARM und x86/x64 haben willst, musst du WinRT nehmen. Aber dein alter winAPI Code läuft bis zum Sankt Nimmerleinstag auf Windows x86/x64.

    @rüdiger:
    Microsoft ist was das betrifft wahnsinnig kompatibel. Ich kenne keine Firma die solange alte APIs pflegt.

    Die x86-Architektur ist nicht der Grund warum es da keine WinAPI gibt, sondern dass sie nicht nach ARM portiert wurde, so wie andere Teile. Sie haben einfach einen Cut gemacht und werden die WinAPI so langsam auslaufen lassen.

    Du hast nicht wirklich verstanden, was Shade sagte.
    Und der Spruch, dass es bald keine WinAPI mehr gibt, kommt bei jeder neuen Windows Version und stimmte nie.



  • Ja, du hast recht. Ich habe ihn da missverstanden.

    Was für einen Sinn wird es in der Zukunft machen noch gegen die WinAPI zu programmieren und nicht gleich gegen WinRT?



  • goNative schrieb:

    Ja, du hast recht. Ich habe ihn da missverstanden.

    Was für einen Sinn wird es in der Zukunft machen noch gegen die WinAPI zu programmieren und nicht gleich gegen WinRT?

    Wenig, aber wo ist das Problem?
    WinAPI macht ja schon lange keinen Sinn mehr. Man verwendet ein Toolkit dass das abstrahiert. Qt wird sicher eine WinRT implementierung bekommen und ich kann meine Qt Programme fuer WOA kompilieren...

    Aber selbst wenn man noch direkt WinAPI Code hat, so ist das ja OK. Man bekommt keine neue Zielplattform dazu - aber es war klar dass man mit WinAPI im Tablet-Markt nicht weit kommen wird. Man verliert also nichts - man gewinnt nur ebenfalls nichts.

    Und das ist der Punkt. Wenn ich eine Business Software fuer Windows Entwickle kann ich die mit Windows 8 und Windows 9 immer noch weiter verkaufen. Vergleichen wir das zB mit Apple wo das nicht moeglich ist weil bestehende APIs gecuttet werden und mit Lion ist dort zB Rosetta weggefallen. Alle Softwarehersteller mussten Rosetta Code komplett neuschreiben.

    Das passiert bei Windows nicht. Das ist ein grosser Unterschied.

    Neue APIs sind Wichtig und Microsoft entwickelt etwas zuviel fuer meinen Geschmack, aber das ist ihr Problem und nicht unseres - da sie die APIs weiter supporten. Natuerlich ist es aegerlich dass jedesmal die neue heilsbringende API angekuendigt wird - aber solange ich meine Codebase nicht wegwerfen muss.



  • Dazu mal ne Frage:

    Hat er vllt vorteile wenn APIs regelmäßig gecuttet werden und man neue nutzen muss? Ich meine, kann man damit die quallität verbessern? Weil die neuen einfach besser sind und alle gezwungen sind das neue zu verwenden.

    Kenne mich da kaum aus. Es ist Jahre her das ich das letzte mal die Programmiert habe.



  • isnichwahr schrieb:

    Hat er vllt vorteile wenn APIs regelmäßig gecuttet werden und man neue nutzen muss? Ich meine, kann man damit die quallität verbessern? Weil die neuen einfach besser sind und alle gezwungen sind das neue zu verwenden.

    Klar, hat viele Vorteile. Weniger APIs zu supporten bedeutet weniger Wartungsarbeiten. Das spart natuerlich viele Kosten in der Entwicklung. Und es haelt das System modern - denn die Software muss sich immer dem aktuellen Stand der Technik anpassen.

    Rosetta auf OS X ist zB eine PowerPC Emulation die beim Wechsel von Apple von PowerPC auf Intel eingefuehrt wurde um PowerPC ohne Probleme weiter ausfuehren zu koennen. Diese Emulation ist natuerlich nicht schoen und die Software hat lange Startzeiten und kann sich nicht in alle neuen Features des Systems einwandfrei integrieren. Ein wegfall ist natuerlich toll, da ploetzlich die Anwendungen schneller starten und sich besser ins System integrieren. Es bedeutet aber auch halt, dass alte Software nicht mehr laeuft.

    Microsoft und Apple haben da 2 grundverschiedene Ansaetze. Beides hat Vorteile und beides hat Nachteile.



  • Wenn Apple wie MS ein Quasimonopol hätten, könnten sie auch nichts mehr an APIs wegschmeißen. Apple kann sich das auf Mac OS nur deshalb erlauben, weil der Markt für sie sehr überschaubar ist. Und weil es hauptsächlich Fans waren, die damals einen Mac hatten, so konnte der Wechsel zu OS X viel einfacher passieren.

    Aber das geht nicht, wenn man ein Quasimonopol hat. Dann muß man 100% oder zumindest 99,9% kompatibel bleiben. Genau das hat damals Commodore das Genick gebrochen, obwohl sie ca. 80% Marktanteil hatten. Aber alle Nachfolgerechner von denen waren nicht ausreichend kompatibel.

    C64 -> C128: keine 100%
    Amiga 500 -> Amiga 1200: keine 100%

    Es gab beim A1200 einen Aufschrei, das die alten Topgames nicht alle liefen. Folge: Pleite!

    Atari hatte es damals auch nicht geschafft.

    ST -> Falcon: keine 100%

    Danach Pleite!

    MS hat es immer richtig gemacht. Jede neue Generation hat mind. die letzte Generation unterstützt. Und wenn es sein muß, liefern die in Win7 ein WinXP im VirtualPC aus, damit ja die Firmen ihre alten Anwendungen noch laufen lassen können.



  • Ich glaube dass die nächste Zeit so spannend wird, wie damals der Wechsel von 3.11 auf 95. C++11 ist auch neu dazugekommen und erfordert auch erst einmal ein umdenken, da bewegt sich so einiges derzeit...

    C++ und WinRT wird wohl besser unterstützt als .NET/CLI C++ oder was glaubt ihr?



  • goNative schrieb:

    C++ und WinRT wird wohl besser unterstützt als .NET/CLI C++ oder was glaubt ihr?

    Für den Zweck, den C++/CLI erfüllen soll, wird und wurde es ganz okay unterstützt :p Aber es war ja schon immer klar, dass man darin keine Software schreiben soll, sondern nur "Verbindungs"-software



  • Die Sache ist halt, ich lese hier schon eine Weile immer wieder mal mit, da ich auch wieder in die Programmierung einsteigen möchte. Habe aber nur C gelernt. Die WinAPI dann mal ansatzweise im selbstversuch dazu. Im moment sieht es nicht aus, als würde es sich lohnen da noch mal Lernzeit rein zu investieren.


Anmelden zum Antworten