Was ist die native GUI-API von Linux für C++? Was ist der Unterschied zu WinAPI?
Hallo zusammen. Ich bin ein angehender C++-Entwickler und wechsle von Windows zu Linux. Unter Windows war ich es gewohnt, einfache Fensteranwendungen mit WinAPI zu schreiben – dort ist alles klar: Man erstellt ein Fenster mit CreateWindow, verarbeitet Nachrichten in einer Schleife und zeichnet Buttons und Eingabefelder. Das alles ist Teil des Betriebssystems selbst, keine externen Bibliotheken nötig.
Jetzt bin ich auf Ubuntu und möchte ein ähnlich einfaches Programm in C++ schreiben – ein Fenster mit ein paar Buttons und einem Textfeld. Aber ich bin verwirrt: Linux hat, wie ich verstanden habe, keine einheitliche "native API" für GUI. Man hört von Xlib, GTK, Qt, aber das ist nicht dasselbe. Xlib ist ein Low-Level-Protokoll für das X Window System, bietet aber keine fertigen Steuerelemente (Buttons, Eingabefelder). GTK und Qt sind plattformübergreifende Frameworks, die nicht "nativ" in dem Sinne sind, dass sie nicht zum Linux-Kernel gehören.
Frage: Was gilt dann als native GUI-API für Linux? Gibt es ein direktes Äquivalent zu WinAPI? Wenn ich ein reines C++-Programm ohne Abhängigkeiten von GTK schreiben möchte...