2008-08-19 9 views
25

Ich möchte beginnen, mit Cocoa und Programmierung für Mac OSX zu experimentieren. Ich interessiere mich nicht zu sehr für Objective C Syntax/Konstrukte/Bheaviors, sondern bin neugierig auf ein effizientes Setup in Bezug auf einen Editor und/oder eine IDE, die mich schnell voranbringen werden. Gibt es irgendwelche IDEs, die Visual Studio (im Vergleich zu denen, in denen ich die meiste Zeit in den letzten 7 Jahren verbracht habe) im Hinblick auf das Lösungs-/Projektkonzept auch nur annähernd ähnlich sind? Gibt es noch weitere Tools, Tipps, Vorschläge und/oder Ressourcen, um schnell zu experimentieren?Entwickler-Setup für den Start mit Cocoa/Mac-Programmierung

Ich möchte viel Intro Sachen zu vermeiden und in die Dinge wie „Wenn Sie einen Mac-Desktop-Anwendung erstellen möchten, können Sie Acme IDE und Ihr Projekt wie dieses aufgebaut.“


Ich hatte Angst Xcode würde die Antwort sein! : P Ich habe versucht, damit herumzuspielen - im wahrsten Sinne des Wortes, es einfach von der DVD zu bekommen und einfach reinzutauchen, ohne zu wissen, was ich zu erwarten hatte (bevor ich überhaupt wusste, dass du Objective C als Sprache benutzt hast). Ich dachte mir, der Kluge, der ich bin, dass ich einfach herumfummeln und eine einfache App arbeiten lassen könnte ... falsch.

@Andrew - Danke für den Einblick auf diese Konfigurationseinstellungen. Basierend auf meinem ersten Eindruck von Xcode, denke ich, dass diese helfen können.

+0

Ja, ich weiß, dass Gefühl :) Wenn es ein Trost ist es klingt wie haben wir sehr ähnliche Erfahrungen (7+ Jahre C/C++ in VS) und meine erste Erfahrung mit XCode/Cocoa war genau das gleiche. Ich fand heraus, dass ich ungefähr zwei Wochen (vielleicht 10 Stunden) damit verbracht habe, Cocoa Programming für OSX zu lesen und einige der Samples durchzuarbeiten, bevor ich wirklich "gelernt" habe und mich produktiv fühlte. Ein guter C/C++ - Hintergrund wird definitiv auf lange Sicht helfen, aber in den frühen Tagen fühlt es sich fast wie ein Hindernis an, da sich die Dinge irgendwie vertraut anfühlen :) –

Antwort

18

Ich würde vorschlagen, dass Sie ein lustiges kleines Produkt auswählen und tauchen Sie ein. Wenn Sie nach einem Buch suchen, würde ich Cocoa Programming for Max OSX vorschlagen, das eine sehr gute Einleitung zu Objective-C und Kakao ist.

XCode ist so ziemlich die de facto IDE und kostenlos mit OSX. Es sollte auf Ihrer Original-Installations-DVD sein. Es ist gut, aber nicht so gut wie Visual Studio (tut mir leid, es ist wirklich nicht).

Als langjähriger VS-Benutzer fand ich die Standard-XCode-Konfiguration ein wenig seltsam und schwer zu justieren, insbesondere die Art, wie ein neues schwebendes Fenster für jede Quelldatei geöffnet würde. Einige Verbesserungen, die ich besonders hilfreich fand;

  • Einstellungen/Allgemein -> Öffnen Kollegen in gleichem Editor (Single-Fenster bearbeiten)
  • Einstellungen/Debugging - -> All-In-One
  • Einstellungen/Allgemein (Editor/Debugger-Fenster vereint) " Im Editor Debugger Controls "
  • Einstellungen/Debugging -" Auto Clear Debug-Konsole "
  • Einstellungen/Key-Bindung - viele Bindung an VS (Strg + F5/Umschalt + F5, Umschalt + Home, Umschalt + Ende etc)

Ich finde der Debugger hat einige lästige Probleme wie Breakpoints nicht korrekt auf Zeilen und Ausnahmen werden nicht sofort vom Debugger gefangen. Nichts umständlich, aber ein bisschen umständlich.

Ich würde empfehlen, dass Sie die neue Eigenschaftssyntax verwenden, die für Objective-C 2.0 eingeführt wurde. Sie machen viel weniger tippen an vielen Orten. Sie sind auf OSX 10 beschränkt.5 nur, obwohl (ja, Sprachfunktionen sind mit OS-Versionen, die ein bisschen seltsam ist gebunden).

Lassen Sie sich auch nicht dazu verleiten, die Unterschiede zwischen C/C++ und Objective-C herunterzuspielen. Sie sind sehr verwandt, aber sind verschiedene Sprachen. Versuchen Sie und starten Sie Objective-C, ohne darüber nachzudenken, wie Sie X, Y, Z in C/C++ ausführen würden. Es wird es viel einfacher machen.

0

AFAIK, so ziemlich jeder OS X Entwickler benutzt Xcode.

Das und Interface Builder zum Erstellen der GUIs.

FWIW, versuchen Sie, eine Kopie von Hillegas Buch zu bekommen, wie es eine großartige Einführungslehrgang ist, und die Referenz Docs Apple bietet wirklich nicht. (Sie sind jedoch in der Regel sehr gute Referenzdokumente).

4

Das erste Dokument zu lesen und zu verdauen ist the Mem management guide, dies zu verstehen, bevor Sie weitermachen. This ist eine großartige Anleitung zu objective-c auch. Tatsächlich ist die Entwickler-Site bei Apple sehr gut - aber Sie würden wahrscheinlich zuerst das Hillegas-Buch lesen wollen.

In Bezug auf Xcode vs Visual Studio - sie sind anders. Ich würde nicht sagen, dass eines besser ist als das andere - Windows-Entwickler kommen von VS und erwarten, dass es dasselbe ist. Das ist nur eine arrogante Einstellung und bitte fallen Sie nicht in diese Menge. Nachdem ich VS seit den AppStudio-Tagen und Xcode für ein Jahr oder so verwendet habe, haben beide Stärken und Schwächen. Xcode ist etwas, das out of the box (und besonders wenn man von VS kommt) nicht so gut aussieht, aber sobald man anfängt, es zu benutzen und zu verstehen, wird es sehr mächtig.

Es gibt auch eine Menge mehr Werkzeuge mit Xcode et al, wie Instrumente und Shark, die Sie einfach nicht mit VS bekommen, wenn Sie Ihre Brieftasche öffnen, und selbst dann IMHO sind nicht so gut.

Wie auch immer, viel Glück. Ich genieße immer noch C#, aber Objective-C/Cocoa macht die Programmierung irgendwie wieder lustig, wenn man erst einmal reinkommt ...

0

Kakao ist riesig. Der schwierigste Teil des Lernens, wie man Apps auf Mac schreibt, ist das Lernen von Cocoa. Apropos. Sie müssen ObjC nicht kennen (obwohl es Tonnen hilft). Sie können Cocoa-Apps mit Python oder Ruby (direkt in der IDE) schreiben.

Ich stimme zu VS ist eine bessere IDE als Xcode. Aber wenn Sie Interface Builder und all die anderen Tools einwerfen, bin ich mir nicht sicher. Mac-Entwicklung ist nicht etwa 1 riesige IDE für alles. Aber VS ist "freundlicher" auf dem Entwickler als Xcode ist.

Auch wenn Sie plattformübergreifende Anwendungen tun möchten, schauen Sie sich RealBasic an. Ein gutes Tool (Basic, aber es läuft auch unter Linux.) Sie wären überrascht, wie viele Mac-Apps mit RB geschrieben wurden.

0

Ich habe gehört, dass die Bücher derzeit ziemlich veraltet sind. Das gesamte Ökosystem scheint sich sehr schnell zu entwickeln, mit dramatischen Veränderungen in jeder OS-Version.

Er schrieb eine tutorial, die einige Apple-Dokumentation und andere Tutorials zusammenbringt, die Sie beginnen sollten. Ich denke, es deckt die Grundlagen der Verwendung der IDE ab, schreibt einfache Apps und geht dann zu fortgeschritteneren Sachen über.

2

Ein weiterer Vorschlag: Wenn Sie Feature oder Verbesserungsanforderungen oder Fehler haben, die Sie kennengelernt haben, stellen Sie sicher, dass Sie sie unter Apples Bug Reporter ablegen. Dies ist der beste Weg für Entwickler, ihre Bedürfnisse an Apple zu kommunizieren, da jedes Problem über das System verfolgt wird.

1

Sie könnten versuchen, die Demo von textmate und sehen, wie Sie es für die Arbeit mit objective-c oder jede andere Art von Text wirklich mögen. Es werden die xcode-Projekteinstellungen importiert, so dass Sie immer noch von textmate kompilieren und ausführen können, anstatt zu xcode zurückkehren zu müssen.

1

Xcode ist der Standard zum Bearbeiten von Quelldateien, obwohl Sie einen anderen Editor in Verbindung mit der Befehlszeile xcodebuild Werkzeug verwenden können, wenn Sie wirklich wollen. Ich habe Vim für all meine Cocoa-Bearbeitung benutzt, bevor ich mich schließlich an Xcode gehalten habe. Es ist nicht die beste IDE der Welt, aber es macht den Job fertig und die letzten 3.x-Versionen haben einige schöne Verbesserungen erfahren.

Das eigentliche Werkzeug der Cocoa-Entwicklung ist Interface Builder. IB erzeugt keinen Quellcode wie viele UI-Werkzeuge. Stattdessen manipuliert er echte Cocoa-Ansichten, -Steuerelemente und -Objekte, die er dann in ein Archiv (nib) bündelt, das zur Laufzeit von Ihrem Programm geladen wird. Die meisten Cocoa-Programme verwenden mindestens eine Nib-Datei und oft viele mehr.

Egal, welche IDE/Editor-Kombination Sie für das Hacken von Quelldateien wählen, ich empfehle die Verwendung von IB, wo Sie können. Auch wenn Sie kein Fan anderer UI-Layout-/Generierungs-Tools sind, schlage ich vor, offen zu bleiben und "dem Kakao-Weg" eine Chance zu geben und zumindest zu erfahren, was Interface Builder für Ihren Entwicklungsprozess tun kann.

0

Ich habe in Cocoa für die letzten paar Jahre getüftelt, und vor kurzem nahm Fritz Anderson "Xcode 3 Unleashed." Sehr empfehlenswert für den Einstieg in Xcode — vor allem mit einigen der großen Änderungen 3.0/Leopard gebracht.

Vergessen Sie nicht Hillegass 'defacto Cocoa Bibel, "Cocoa Programmierung für Mac OS X - Third Edition."

0

@peter Ich weiß nicht, warum Sie Probleme damit hatten, eine einfache App zu bekommen, die sofort funktioniert, ohne dass Ihre App viele Vorteile aus dem Cocoa-Framework zieht. Wenn Sie meinen, Sie wollten etwas tun, wie zum Beispiel eine Schaltfläche mit einer Aktion verbinden und eine Warnung auf dem Bildschirm ausgeben oder so etwas, dann könnte ich sehen, wo Sie Schwierigkeiten haben.

Das Problem für mich, beginnend mit Kakao viele Jahre zurück ist, dass es so anders als alles andere war, dass es ein bisschen eine Lernkurve hatte. Während viele andere Systeme kompilierzeitorientiert sind, ist Cocoa sehr dynamisch und laufzeitorientiert. Wenn Sie erst einmal gelernt haben, wie sich Aktionen an Klassen knüpfen lassen, müssen Sie nur lernen, wie die Cocoa-Frameworks funktionieren.

4

Stören Sie nicht Ihre OSX-DVD, da sie seither eine neue Version (3.1) von XCode veröffentlicht haben.

Zuerst möchten Sie beitreten Apple Developer Connection (es ist kostenlos, und Sie benötigen es auf ihre Version von MSDN zugreifen) - es verwendet Ihre Apple ID, also wenn Sie jemals eine für den iTunes-Store usw. hatte, ist es das gleiche Benutzername/Passwort

Sobald Sie das getan auf Download klicken, dann klicken Sie auf Entwickler-Tools, this page zu sehen, und gehen für die XCode 3.1 Developer DVD