2009-08-31 7 views
12

Ich bin im Begriff, mein A-Level Computing-Projekt (High School Level) zu starten, das hoffentlich eine Point-of-Sale-Anwendung für Mac OS sein wird. Leider ist Objective-C im Moment ein wenig außerhalb meiner Liga und sollte ich in dem Projekt stecken bleiben, habe ich niemanden, der mir helfen könnte, so dass ich den Teil des Kurses nicht bestehen und nicht in die Universität gehen würde. Das ist mir sehr wichtig.PyObjc und Kakao auf Snow Leopard

Ich möchte mit Python eine Cocoa-App entwickeln. Ich weiß, dass ich PyObjc brauche, aber alle Details im Netz scheinen davon auszugehen, dass es vorinstalliert ist. Anscheinend ist dies bei Leopard und Snow Leopard der Fall, aber ich habe es anscheinend nicht bei Snow Leopard und nie auf Leopard bemerkt. Außerdem habe ich versucht, die neueste Beta von PyObjc zu installieren, indem ich den Anweisungen auf der Sourceforge-Seite folge, aber ohne Glück.

Ich würde es wirklich zu schätzen wissen, wenn jemand etwas Licht auf was installiert werden könnte, wie und Links zu Ressourcen oder Tutorials, die mir helfen könnten.

Vielen Dank im Voraus für die Hilfe!

Update: Ich sehe, dass dies eine beliebte Frage ist, ich habe nur das 'Notable Frage' Abzeichen dafür, also dachte ich, ich würde jeden aktualisieren, der auf dieser Seite auf was ich nach dem Beantworten der Antworten kam.

Leider konnte ich mit Python keine Mac-Anwendung erstellen. Das war zu der Zeit eher enttäuschend, aber wahrscheinlich eine gute Sache. Ich habe für mein Projekt eine Windows-App in C# erstellt, ein Tool zum Erstellen und Ausführen von Assembly-Apps in einer simulierten Umgebung. Mein Kurslehrer hat jetzt angefangen, mein Werkzeug zu benutzen, um den Kurs statt seiner eigenen zu unterrichten! Ich habe eine sehr hohe Punktzahl im Computer-Projekt bekommen (über 90%) und dies hat dazu beigetragen, dass ich ein A * in meinem Computer-A-Level (die höchste erreichbare Note) bekam, und ich stieg folglich an der Southampton Universität ein, um Informatik zu studieren.

Diesen Sommer habe ich beschlossen, eine iPad-App zu machen (bald veröffentlicht) und ich bin froh zu sagen, dass ich denke, dass ich eine Mac OS-Anwendung in Objective-C machen könnte. Ich bin froh, dass ich mir die Zeit genommen habe, es zu lernen, es ist eine großartige Sprache und wirklich nützlich, da iOS so populär wird.

Sorry für all das Prahlen, aber ich bin wirklich glücklich darüber. Was ich wirklich sagen möchte, ist, wenn Sie auf diese Seite kommen, die hofft, PyObjc zu verwenden, um Mac-Anwendungen leicht zu erstellen, nicht stören. Es braucht etwas Zeit und Mühe, aber sobald Sie Objective-C gelernt haben, ist es wirklich befriedigend, Apps damit zu erstellen. Viel Glück!

+0

Have hast du versucht mit Macports PyObjC zu installieren? –

+1

Haben Sie die neueste Version der Entwickler-Tools installiert? Ich habe noch nie PyObjc verwendet, aber ich denke nicht, dass es einfacher ist, Objective-C zu verwenden. Es ist eine leicht zu erlernende Sprache, und da die Mac OS X APIs im Hinblick darauf entwickelt wurden, arbeiten sie sehr gut damit. Sie können Garbage Collection sogar verwenden, wenn Sie sich nicht um die Speicherverwaltung kümmern möchten, aber die integrierte Referenzzählung ist so einfach, dass ich noch nie die Garbage-Collection verwenden wollte. Es ist auch etwas, was Sie wissen sollten, wenn Sie die Mac-Entwicklung fortsetzen möchten. – Amok

+0

Danke für die Antwort, ich werde versuchen, mit Macports PyObjc zu installieren, und ich habe die neuesten Xcode 3.2, Dev-Tools und SDKs. Ich habe Objective-C ausprobiert und ich habe ein Buch darüber, aber nachdem ich in der Vergangenheit nur grundlegende Programmierung als Hobby und als High-School-Kurs gemacht habe, habe ich damit zu kämpfen. Es scheint viel schwieriger, dass C# .NET, die ich gemacht habe. Außerdem, wenn ich die Software nicht funktioniere, steht viel auf dem Spiel und ich kenne niemanden, der mir helfen kann, wenn etwas schief läuft. Zumindest habe ich einen Freund, der ein bisschen wie ein Python-Guru ist, wenn ich PyObjc benutze. – danpalmer

Antwort

18

Erlauben Sie mir, was Echo bereits gesagt wurde. Ich bin auch ein Student, der gerade ein Cocoa-Entwicklungsprojekt gestartet hat, und am Anfang dachte ich: "Nun, ich kenne Python schon, ich benutze nur PyObjC und erspare mir das Lernen von Objective-C, das außerhalb meiner Reichweite liegt. " Ich habe schnell gelernt, dass das nicht möglich ist. Sie können für OS X entwickeln, ohne Objective-C zu lernen, aber nicht ohne die Cocoa-Bibliotheken zu lernen, die 99% von dem ausmachen, was Sie lernen müssen, um eine Cocoa-App in Objective-C zu schreiben. Objective-C selbst ist nicht so schwer; Es sind die Cocoa-Bibliotheken, die Sie in das Lernen investieren müssen.

PyObjC verwendet grundsätzlich Cocoa-Bibliotheken und Python-Syntax. Ich gab es schnell auf und entschied, dass ich Objective-C verwenden könnte, wenn ich Kakao lernen müsste.

Wenn Sie schauen, zu lernen, Aaron Hillegass Buch ist ein guter Anfang. Viel Glück!

+0

Ok, ich werde keine Kommentare zu allen Fragen schreiben, aber lassen Sie mich dank der Unterstützung von allen sagen. Ich schätze das wirklich! Ich habe die Entwickler Sachen von der CD bereits installiert, aber die PyObjc Sachen sind nicht in Xcode. Der Grund, warum ich Objc nicht benutzen möchte, ist, weil wenn ich feststecke, es möglicherweise einen Uni-Platz gibt, und wenn ich CS studieren möchte, kann ich es mir nicht leisten, in dieser Arbeit kein A zu bekommen. Auch, danke an Koen! Es ist eigentlich eine POS-App, die ich schreiben werde und Checkout hat mich inspiriert, PyObjc zu benutzen. Vielen Dank an alle, Sie haben mich überzeugt, rein Objc zu verwenden, denke ich. – danpalmer

+0

Oh, und ich habe bereits Aaron Hillegass Buch, aber die Tatsache, dass es den Code für die Speicherverwaltung enthält, erschreckte mich ein wenig. – danpalmer

+0

FYI, der größte Grund für uns, Checkout in Python zu schreiben, war SQLAlchemy, ein großartiger ORM. Ich denke, wenn das nicht der Fall wäre, würde ich auch Obj-C benutzen. –

7

Sie meinen wie Checkout? :-) Ich erwähne es nur, weil Checkout wunderschön ist und mit PyObjC geschrieben wurde ...

Ihre Bedenken sind gültig, obwohl wahrscheinlich nicht so viel von einem möglichen Showstopper wie Sie denken. Die Verwendung von PyObjC erfordert weiterhin, dass Sie einige Objective-C lernen, und Sie müssen zumindest einige der Cocoa-Frameworks verstehen, da Sie die Cocoa-Frameworks aufrufen müssen, wenn Sie eine Art Cocoa-spezifische Aufgabe ausführen müssen.

Ich empfehle Ihnen, lesen und berücksichtigen die SO "Why is the PyObjC documentation so bad?" und "PyObjc vs RubyCocoa for Mac development: Which is more mature?", bevor Sie völlig sich selbst davon überzeugen, dass die Frage „nur PyObjC“ werden die Dinge viel einfacher. Ich lehne es ab, PyObjC zu verunglimpfen, weil es ziemlich mächtig und unglaublich nützlich ist, aber erkenne, dass nichts eine Wunderwaffe ist und keine Sprache oder Technologie für alle Probleme am besten ist.

Die Objective-C-Sprache ist einfach und ziemlich einfach. Die Cocoa-Frameworks dominieren im Allgemeinen die Lernkurve für neue Cocoa-Programmierer. Außerdem haben Sie StackOverflow und viele andere Ressourcen, um Ihre Fragen zu beantworten.(Gemessen an der Aktivität des "pyobjc" tag, Sie stehen auch eine bessere Chance auf eine gute bekommen Objective-C help auf SO.)

3

ich PyObjC kaum nutzen, um mich, aber ich glaube, Sie brauchen das Xcode Installationsprogramm auf der Snow Leopard DVD laufen, um um PyObjC zu benutzen.

Auch, wie Quinn sagte, müssen Sie zumindest einige Objective-C verstehen, um eine Cocoa-Brücke wie PyObjC zu verwenden, ohne Ihre Haare zu reißen. Es isoliert dich einfach nicht vollständig.

3

Ich werde hier mit Quinn vereinbaren. Selbst wenn Sie bereits Python beherrschen, ist es nicht einfacher, Cocoa mit Objective-C zu lernen, wenn Sie lernen, wie man Python und Cocoa verbindet.

Objective-C ist eine einfache, saubere Sprache, die ganz einfach grok ist. Die GUI zu erstellen und sie mit dem Backend zu verbinden, wird schwieriger sein als das Lernen des Objective-C, um das Backend zu schreiben, und das Erstellen der GUI und das Anhängen ist nicht so schwer.

Folgen Sie the Cocoa app tutorial (Sie sollten in der Lage sein, an einem Tag, oder vielleicht ein Wochenende, wenn Sie langsam gehen), und Sie werden auf Ihrem Weg sein.

4

Und als eine der Kasse Entwickler ich wiegen werde (hallo Quinn!). Von dem, was wir gesehen haben, läuft PyObjC ziemlich gut auf Snow Leopard. Wir haben eine der neuesten SVN-Versionen 2.2b mit einigen Anpassungen für Leopard erstellt und einfach über den Site-Packages-Ordner verschoben.

Theoretisch sollten Sie in der Lage sein, das eingebaute Python/PyObjC zu verwenden (importieren Sie einfach objc, Foundation, AppKit), aber wie wir liefern/arbeiten mit benutzerdefinierten Versionen von Python und PyObjC bin ich nicht sicher, was der Status genau ist. Die Mailingliste erwähnt nicht viele Leute, die Probleme haben (nur ein paar), das könnte ein gutes Zeichen sein.

Viel Glück mit dem Projekt, und wenn Sie spezielle POS Fragen mir eine E-Mail schießen ;-)

3

Ich bin ein langjähriger Python-Entwickler, der schon eine Weile iPhone-Apps gemacht hat (und nur mein Python-Wissen verwendet, um Build-Dateien für die Anwendungen in Run-Skripten zu paketieren), die dann einige PyObjC-Apps erstellt haben.

muss ich würde sagen, PyObjC ist so ziemlich STILL Objective C lernen zu müssen (was ich bereits über iPhone dev wissen), aber Sie einige ziemlich coole Vorteile erhalten, wenn Sie es verwenden, anstatt

  • Leicht Verwendung von python-Bibliotheken, die Sie kennen (schneller für Sie)
  • Option es fallen zu lassen und gehen Sie zu wxPython wenn styimied von Cocoa
  • etwas schnelleren Entwicklungszeit (Sie schreiben weniger Code und die Übersetzung zwischen den beiden Sprachen ist ziemlich verdammt einfach zu gewöhnen).

Zusätzlich ist Interface Builder ein wenig schwierig zu vergleichsweise zu gewöhnen, aber wenn man ein Python-Entwickler sind, ist es Ihnen nicht genau zu einem funktionalen GUI-Builder verwendet wie sind sowieso: oP