WinAPI vs. .NET



  • Für .NET reicht die EE aus. Hier würde ich aber eher zu C# raten als zu C++/CLI (ausser Du machst viel Interop).



  • Hi,

    @Jochen Kalmbach: Soweit ich das mitbekommen habe, wird die WinAPI nicht mehr weiterentwickelt, allerdings weiter unterstützt. Wie man an der Tatsache sehen kann, dass selbst 16-Bit Anwendungen noch in den allermeisten Fällen unter heutigen Microsoft Betriebssystem lauffähig sind, bemüht sich Microsoft sehr um Abwärtskompatibilität. Somit wird die WinAPI vermutlich noch in zehn Jahren Teil der Windows Betriebssysteme sein, aber dass du mittels dieser Schnittstelle dann noch auf die neuesten Betriebssystemfunktionalitäten zugreifen kannst, das bezweifle ich. Man möge mich korrigieren sofern ich mich irre.

    Ferner sind die WinAPI und .NET überhaupt nicht vergleichbar.
    .NET ist ein modernes Unternehmensframework, und die WinAPI bietet eben die rohen Schnittstellen. Genausowenig wie die Systeme kann man die Entwicklung darin vergleichen:
    Das .NET Framework ist extrem umfangreich, mit sicheren Konzepten zur Windows- und Webentwicklung. Vollständige Internationalisierungskonzepte, eine hohe Datenabstraktion, automatisiertes Data Binding sind nur ein paar der Features, die .NET in meinen Augen so wertvoll macht.
    Wie bereits gesagt wurde wäre es nicht sinnvoll, in der heutigen Zeit mit der WinAPI effektiv größere Geschäftslösungen programmieren zu wollen.

    @Foxx90: .NET ist optimiert auf die Entwicklung von Geschäftslösungen und gängigen Desktopanwendungen sowie Webanwendungen. Wenn du in einem dieser Bereiche weiterkommen willst, wäre die WinAPI zumindest als primäre Entwicklungsplattform die falsche Wahl. Allerdings wäre es für dich vllt. recht interessant, die interne Struktur von Windows durch die WinAPI besser kennenzulernen.
    Falls du eher schnelle Echtzeitanwendungen die auf Hochleistungsgrafik setzen entwickeln willst, würde ich an deiner Stelle die WinAPI verwenden in Kombination mit OpenGL bzw. DirectX.
    Wobei ich um ehrlich zu sein keine Erfahrung mit Managed DirectX habe was Performance angeht.



  • marco.b schrieb:

    @Jochen Kalmbach: Soweit ich das mitbekommen habe, wird die WinAPI nicht mehr weiterentwickelt, allerdings weiter unterstützt.

    Woher hast Du das mitbekommen? Es gibt keinerlei Quellen dazu, ausser das kommende Vista und dort wurde sie selbstverständlich weiterentwickelt, was Du ja auch selber sehen kannst wenn Du Vista installeirst...

    marco.b schrieb:

    Man möge mich korrigieren sofern ich mich irre.

    In Zeiten wie "10 Jahre" will ich gar nie reden.

    marco.b schrieb:

    Ferner sind die WinAPI und .NET überhaupt nicht vergleichbar.

    Was glaubst Du was .NET-Fenster sind? Genau: Win32-Fenster. Mit der Glass-Oberfläche bleiben es auch Win32-Fenster, obwohl sie durch DirectX gerendert werden...

    marco.b schrieb:

    .NET ist ein modernes Unternehmensframework, und die WinAPI bietet eben die rohen Schnittstellen.

    Endlich mal 100% richtig!

    marco.b schrieb:

    Wie bereits gesagt wurde wäre es nicht sinnvoll, in der heutigen Zeit mit der WinAPI effektiv größere Geschäftslösungen programmieren zu wollen.

    Full ack!



  • Woher hast Du das mitbekommen? Es gibt keinerlei Quellen dazu, ausser das kommende Vista und dort wurde sie selbstverständlich weiterentwickelt, was Du ja auch selber sehen kannst wenn Du Vista installeirst...

    Ich glaube es war eine Seite wie heise oder Golem. Ich bin mir nicht zu 100% sicher, aber ich google mal danach, falsche Tatsachen will ich auch nicht in den Raum stellen. Ich bin mir aber wie gesagt ziemlich sicher.

    Was glaubst Du was .NET-Fenster sind? Genau: Win32-Fenster. Mit der Glass-Oberfläche bleiben es auch Win32-Fenster, obwohl sie durch DirectX gerendert werden...

    Was haben denn Win32-Fenster mit der jetzigen WinAPI zu tun?
    Es könnte genauso gut eine modernere Lowlevelschnittstelle implementiert werden die ebenso Win32 Fenster darstellen kann. Das wäre dann ebenso eine Entwicklerschnittstelle, aber wir sprechen ja von der jetzigen WinAPI wie sie mit aktuellen Betriebssystemen ausgeliefert wird.
    Tatsache ist dass es keinen Grund der Welt gibt der Microsoft daran hindern würde die jetzige WinAPI über Board zu kicken. Ob dies letztendlich getan wird steht auf einem anderen Blatt.

    Endlich mal 100% richtig!

    🙄



  • Windows Vista contains over 4000 new Win32 style APIs so it's safe to assume that Microsoft will continue to support and possibly expand Win32 for years to come.

    Lori Pearce

    Windows SDK Team

    Ich glaub die bisherige NT-Windowssysteme werden immer Win32-API haben, erst wenn Microsoft experiementelles OS erfolgsversprechend wird, dann kann Microsoft sich überlegen Win32-Api in den Grab zu tragen. Aber zur Zeit sieht es eher so aus, dass Microsoft lieber native System-Subsysteme über WinAPI32 anspricht und zu den Anwendungsentwickler prädigt, entwicklert auf .NET da ist eine schöne ManagedWelt und die Performance ist super,(wahrscheinlich weil .NET win32api anspricht).



  • Zeus schrieb:

    Ich glaub die bisherige NT-Windowssysteme werden immer Win32-API haben, erst wenn Microsoft experiementelles OS erfolgsversprechend wird, dann kann Microsoft sich überlegen Win32-Api in den Grab zu tragen. Aber zur Zeit sieht es eher so aus, dass Microsoft lieber native System-Subsysteme über WinAPI32 anspricht und zu den Anwendungsentwickler prädigt, entwicklert auf .NET da ist eine schöne ManagedWelt und die Performance ist super,(wahrscheinlich weil .NET win32api anspricht).

    100% Ack. (wurde im übrigen gerade durch ein privates MVP Chat mit dem PSDK-Team bestätigt).



  • marco.b schrieb:

    Soweit ich das mitbekommen habe

    Soweit, so schlecht. 😃 😉

    Wie bereits gepostet wurde, sind massig Win32-API-Funktionalitäten in Vista neu implementiert wurden.

    wird die WinAPI nicht mehr weiterentwickelt, allerdings weiter unterstützt.

    Ja, und damit liegst du, wie viele andere auch, falsch. Hier mal ein einfaches Tutorial wie man über natives C++ schöne Aero-Fenster gestalten kann:
    http://www.codeproject.com/winfx/VGGlassIntro.asp

    Und dann sollte man sich das Vista Windows SDK anschauen:
    http://windowssdk.msdn.microsoft.com/en-us/library
    Die gesamte Liste auf der linken Seite, ist bis auf den letzten .NET3.0-Punkt, alles C und C++!!! .NET ist ganz unten und hat fast ein Schattendasein. Nein, natürlich ist .NET ein Framework das seine Daseinsberechtigung hat, aber ersetzt noch laaange nicht die Win-API. Das wird sie erst tun, wenn die gesamte linke Seite .NET-Punkte sind, und ganz unten ein letzter Punkt "Native Win32-API" heißt. 😉



  • @marco b. :
    Denkst du dass es nötig ist jemanden,den Microsoft als MVP VC++ einstuft, den Unterschied zwischen WinAPI und .NET zu erklären ?
    Das erscheint mir gerade doch etwas bizzar 🙄 .
    Abgesehen davon wurde das Thema mit der (theoretischen) alternativen WinAPI schon durchgekaut.



  • Artchi schrieb:

    Ja, und damit liegst du, wie viele andere auch, falsch. Hier mal ein einfaches Tutorial wie man über natives C++ schöne Aero-Fenster gestalten kann:
    http://www.codeproject.com/winfx/VGGlassIntro.asp

    Artchi! Du bist der beste...
    Ich bräuchte auch nur mal so viel Zeit um Vista/PSDK und Glass zu testen... 😞



  • Hi Spacelord,

    die Beschreibung zu .NET / Win32 API war nicht an Joachim Kalmbach gerichtet. 🙂


Anmelden zum Antworten