Grafische Applikation mit C++

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von ChrisR, 22.11.2005.

  1. ChrisR

    ChrisR Thread Starter MacUser Mitglied

    Beiträge:
    54
    Zustimmungen:
    0
    MacUser seit:
    16.11.2005
    Hallo!

    Ich möchte mit C++ eine grafische Applikation (d.h. mit Fenster, Buttons, etc.) erstellten. Gibt es unter MacOS irgendwas das der Win32-API unter Windows bzw. der Xlib unter Linux entspricht? Also eine API, mit der man direkt Systemfunktionen aufrufen kann. Ich will keine Bibliotheken wie Qt oder GLUT verwenden, die das für mich erledigen, sondern ich will das selbst machen.

    Ich verwende die XCode Tools. Welchen Projekttyp muss ich da auswählen?

    Danke!

    mfg
     
  2. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.808
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    Cocoa, Carbon usw?
    lies doch mal einfach die developer docs, wenn du schon xcode hast...
     
  3. -Nuke-

    -Nuke- MacUser Mitglied

    Beiträge:
    2.135
    Zustimmungen:
    15
    MacUser seit:
    13.09.2003
    Du kannst dir auch beide Hände abhacken und dann die leichten Bibliotheken benutzen... :rolleyes:

    Naja... ich denke mal du suchst Carbon. Wenn du aber wirklich alles vom Urschleim aus machen willst, dann solltest du dir wohl eher Quartz angucken.
     
  4. ChrisR

    ChrisR Thread Starter MacUser Mitglied

    Beiträge:
    54
    Zustimmungen:
    0
    MacUser seit:
    16.11.2005
    Danke erstmal. Ich glaube Cocoa ist nicht das das ich suche. Im Internet liest man überall dass es eher/nur für Objective-C ist. Es ist mir ein Rätsel warum. Immerhin ist C++ viel bekannter als Objective-C. Naja, jedenfalls will ich auf jeden Fall bei C++ bleiben.

    Carbon hab ich schon zum Laufen gebracht. Das geht problemlos mit C++. Wo ist da eigentlich sonst der Unterschied? Die unterstützten Sprachen kann ja nicht alles sein. Ist eines davon aktueller, also der Nachfolger des anderen?

    Sind eigentlich Carbon und Cocoa direkt im System implementiert (sind die überhaupt von Apple)? Ich will jedenfalls eine API, die garantiert auf jedem MacOS-System verfügbar ist. Qt ist es ja soweit ich weiß nicht unbedingt.

    Gibt es unterMacOS überhaupt irgendwas das man mit der Win32-API vergleichen kann? Also so eine zentrale API mit der man mit dem System kommunizieren kann (nicht nur für GUI, sondern allgemein).

    mfg
     
  5. chrizel

    chrizel MacUser Mitglied

    Beiträge:
    474
    Zustimmungen:
    0
    MacUser seit:
    14.09.2003
    Weil Cocoa in C++ nicht umsetzbar waere. C++ ist viel zu statisch dazu. Ausser du programmierst das was Objective-C ausmacht in C++ nach und erweiterst die Sprache. (wie es z.B. Qt macht!)
     
    Zuletzt bearbeitet: 22.11.2005
  6. below

    below MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    MacUser seit:
    15.03.2004
    Wenn man C++ kann ist Objective-C ganz leicht zu lernen.

    Gruss

    Alex
     
  7. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.808
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    Cocoa kommt halt eher von den NextStep-Wurzeln von OS X, deswegen fangen die meisten Klassen da auch mit NS an...
    Carbon hat seinen Ursprung im klassischen Mac OS und läuft halt auf OS X und unter OS 8-9...
    Carbon wird aber über kurz oder lang mit dem Intel-Switch verschwinden...

    Garantiert verfügbar ist da nur Carbon...
    Cocoa ist nur auf OS X....

    Carbon, Cocoa etc ;)
     
  8. -Nuke-

    -Nuke- MacUser Mitglied

    Beiträge:
    2.135
    Zustimmungen:
    15
    MacUser seit:
    13.09.2003
    Neeee. Das wird schon noch ne Weile so bleiben...

    Windows ist auch bekannter. Das heißt aber nicht gleich das es besser, geeigneter, oder leichter wäre. ;)

    Les dir einfach mal eine gute Beschreibung zu Objective-C durch und dann merkst du schon warum Objective-C verwendet wird.
     
    Zuletzt bearbeitet: 22.11.2005
  9. ChrisR

    ChrisR Thread Starter MacUser Mitglied

    Beiträge:
    54
    Zustimmungen:
    0
    MacUser seit:
    16.11.2005
    Es ist nur so dass ich etliche Bibliotheken in C++ geschrieben habe und diese gerne auch unter MacOS in Verbindung mit einer grafischen Oberfläche nutzen möchte.

    Auch wenn Objective-C vielleicht technisch besser geeignet ist: C++ ist nach wie vor so weit verbreitet wie kaum eine andere Sprache. Wie kann man diese dann nicht unterstützen. Microsoft setzt momentan auch stark auf .NET und es bietet ja zweifelsfrei etliche Vorteile. Trotzdem traut sich nicht mal MS native C++ nicht mehr zu unterstützen.

    Was mich auch interessieren würde: Wird Objective-C in Machinencode übersetzt? Ich hasse Sprachen, die unnötige Abhängigkeiten erzeugen (.NET, Java, etc.). Ich will dass meine Programme ohne irgendeine zusätzliche Software (Runtime Environment) laufen.

    mfg
     
  10. below

    below MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    MacUser seit:
    15.03.2004
    Oh, dann ist C++ ja für Dich nix :p Mal ganz im Ernst: So wie C++ auch braucht Objective-C eine Runtime Library. Das ist aber nicht mit Runtime Environments wie Java oder .Net zu vergleichen.

    Und Objective-C wird genauso übersetzt wie C++, also nicht in Zwischencode.

    Ausserdem, das war meine eigentlich gute Nachricht, lassen sich Objective-C und C++ prima mischen. Ich habe auch Libraries in C++, die dann ein Objective-C GUI verpasst bekommen haben

    Gruss

    Alex
     
Die Seite wird geladen...

Diese Seite empfehlen