Neuling: Carbon oder Cocoa?

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von mike84, 21.09.2004.

  1. mike84

    mike84 Thread Starter MacUser Mitglied

    Beiträge:
    74
    Zustimmungen:
    0
    MacUser seit:
    21.09.2004
    Hallo
    Ich möchte in Mac OX zu programmieren anfangen pepp
    Am liebsten wäre mir C oder C++.
    Nur weiß ich nicht, ob ich Carbon oder Cocoa lernen soll :(
    Ich möchte SDI/MDI Applikationen entwickeln (bis jetzt hab ich MFC programmiert. Z.B. möchte ich http://mike.dev-geeks.org/screen.gif in Mac OS schreiben).
    Ich hab mir die beiden Bücher von Oreilly angeschaut. Anhand der Samples konnte ich feststellen, dass man am Ende der Bücher nur sehr "wenig" kann :confused:
    Welche Sprache ist für SDI/MDIs besser?
    Kann mir wer ein gutes Buch empfehlen?

    Danke im Voraus,
    mfg michael
     
  2. -Nuke-

    -Nuke- MacUser Mitglied

    Beiträge:
    2.135
    Zustimmungen:
    15
    MacUser seit:
    13.09.2003
    Carbon ist für OS9/OSX-Applikationen. Würde ich nicht machen.

    Cocoa ist die API (API, kein Sprache) für native OSX-Anwendungen. Daher diese.

    Mit C oder C++ kommst du damit aber nicht weit. Um für Cocoa zu proggen musst du dir Objective-C angucken. Du programmierst dann nach der NeXTStep-Methode.

    Es ist so gesehen ein anderes Konzept der Programmierung. Musst du mal gucken. Je nach deiner bisherigen Erfahrung ist es schon ein größerer Umstieg.
     
  3. mike84

    mike84 Thread Starter MacUser Mitglied

    Beiträge:
    74
    Zustimmungen:
    0
    MacUser seit:
    21.09.2004
    Hallo nuke
    Hmm. Ich kenne leider Objective-C nicht. Ich hab ein paar libs, welche in C geschrieben worden sind. Kann man die dort verwenden? Kann man damit auch ganz normal Systemprogrammierung betreiben? (BSD - POSIX/ANSI)
    Hmm. Ich hab gehört Photoshop ist in carbon geschrieben. Kann man in carbon C/C++ proggen?

    Danke im Voraus!!!
    mfg
     
  4. -Nuke-

    -Nuke- MacUser Mitglied

    Beiträge:
    2.135
    Zustimmungen:
    15
    MacUser seit:
    13.09.2003
    Hi.

    Also C/C++ und Objective-C kann man mischen. Du kannst auch deine Bibliotheken verwenden.

    Für systemnahe Routinen würde dann C oder C++ doch mehr passen. Das ist ja auch kein Problem. Oberfläche und Code sind in Cocoa-Applikationen (wenn man es richtig macht) strikt getrennt.

    D.h. du kannst auf Schalter-Druck auch eine reine C-Routine aufrufen. Aber die Verarbeitung des Aufrufs muss in Obj-C erfolgen. Objective-C ist für systemnahe Sachen nicht gemacht. Ist ja auch eine objektorientierte Sprache.

    Wenn du plattformunabhängige Unix-Programme schreiben möchtest, dann lass lieber die Finger von Cocoa.

    Carbon-Anwendungen sind, so wie ich das hier sehe, C-Anwendungen. Aber wie gesagt. Ich würde damit nicht anfangen...
     
  5. mike84

    mike84 Thread Starter MacUser Mitglied

    Beiträge:
    74
    Zustimmungen:
    0
    MacUser seit:
    21.09.2004
    Hi nuke
    Das hört sich ja schon mal sehr gut an :) Dann werde ich Cocoa probieren. Kannst du mir eventuell ein Buch empfehlen? Ich hab mir bis jetzt nur das Oreilly angeschaut. Am Ende des Buches konnte man einen Dialog mit Radios,Edit und nem Button erstellen :(

    Danke,
    mfg michael
     
  6. blutfink

    blutfink MacUser Mitglied

    Beiträge:
    37
    Zustimmungen:
    0
    MacUser seit:
    04.07.2004
    Cocoa nativer?

    Ich hoffe, dass jetzt niemand denkt, Cocoa wäre "nativer" und Carbon das "aufgesetzte" API (das unterstelle ich dir nicht, Nuke), dann da liegt man völlig falsch.
    Wenn überhaupt ist es eher umgekehrt. Viele Cocoa-Klassen für Threading, Menüdarstellung, Druckdialoge, Audio, Quartz etc. sind einfach nur Wrapper um die entsprechenden Carbon-Funktionen. Cocoa setzt auf Carbon auf. Cocoa ist im Zweifelsfall auch eher langsamer und speicherintensiver als Carbon.
    Dennoch ist Cocoa viel schöner, außerdem viel leichter zu lernen.
     
  7. chrizel

    chrizel MacUser Mitglied

    Beiträge:
    474
    Zustimmungen:
    0
    MacUser seit:
    14.09.2003
    Cocoa Programming for MacOS X
    von Aaron Hillegass
    Auflage: 2nd
    ISBN: 0321213149

    Ein sehr schoener Einstieg in Cocoa. Hat man auch sehr schnell durch, weil sehr viele Bilder drin sind.
     
  8. mike84

    mike84 Thread Starter MacUser Mitglied

    Beiträge:
    74
    Zustimmungen:
    0
    MacUser seit:
    21.09.2004
    Hi chrizel
    Vielen Dnak für die Buchempfehlung!!!
    Bei den addison wesley bücher ist meistens ein link dabei, wo man die Samples saugen kann. Könntets du ihn mir bitte, bitte zu kommen lassen? Dann könnte ich mir die Samples mal anschaun ;)

    Danke im Voraus,
    mfg
     
  9. chrizel

    chrizel MacUser Mitglied

    Beiträge:
    474
    Zustimmungen:
    0
    MacUser seit:
    14.09.2003
    hi

    http://www.bignerdranch.com/products/cocoa1.shtml
    http://www.bignerdranch.com/products/Solutions.tgz

    Wenn man das Buch durch hat, hat man schon das wichtigste gesehen:
    - Custom Views
    - Notification Center
    - Forward Invocations
    - Undo Manager
    - Delegates & Co.
    - Archiving

    Also wie gesagt, ein schoener Einstieg. Wenn man das durchhat kommt man IMHO auch gut mit der Apple-Doku allein zurecht. Aber fuer den Einstieg ist das Buch wirklich sehr genial - hab es sehr gemocht und ich bin kein Programmier-Anfaenger. Ist ein sehr interessanter Einstieg in eine gute Technologie. (also besser als MFC und solch Zeugs, damit kann man Cocoa nicht vergleichen)

    Achja: Du willst MDI programmieren? MDI ist eigentlich schon lange out und verwendet heute keiner mehr. (aus dem Grund gibt es in der MacOS X-Welt auch kein MDI - ausser Eigenentwicklungen wie z.B. bei Qt)

    ciao
    chrizel
     
    Zuletzt bearbeitet: 23.09.2004
  10. mike84

    mike84 Thread Starter MacUser Mitglied

    Beiträge:
    74
    Zustimmungen:
    0
    MacUser seit:
    21.09.2004
    Hi!
    Vielen Dank. Die Simples schauen vielversprechender als jene von Oreilly aus :) Trotzdem werde ich wohl noch das Objective C Buch mit kaufen müssen.

    Danke nochmals,
    mfg
     
Die Seite wird geladen...

Diese Seite empfehlen