Frage

Ich habe gefehlt entweder mit Rubin- oder Python ein Spiel haben, während zur gleichen Zeit, die ich schon immer haben will ein bisschen Cocoa Programmierung tun.

Also dachte ich, den besten Weg, diese beiden Ziele zu erreichen, ist etwas zu entwickeln, entweder ein Ruby oder Python zu Objective-C-Brücke (PyObjC oder RubyCocoa).

Ich weiß, dass im Idealfall die beste Lernerfahrung bekommen würde ich jeden techonology unabhängig lernen, aber ich habe nicht die Zeit. :)

Meine Frage ist also, was ist eine ausgereifte Plattform, PyObc oder RubyCocoa, Haupt Dinge, die ich bin auf der Suche für:

  1. Dokumentation der API
  2. Tutorien
  3. Extras
  4. Supportive Gemeinschaft
  5. Vollständigkeit der Cocoa-API avaialble durch die Brücke

Zu Punkt 5 Ich erwarte nicht, dass der gesamte Cocoa-API entweder durch Brücke availble sein wird, aber ich brauche zur Verfügung genug Cocoa-APIs müssen eine funktionierende Anwendung zu entwickeln.

War es hilfreich?

Lösung

würde ich Chris Echo assesment und wird ein bisschen auf erweitern, warum Sie Objective-C zu lernen, Cocoa lernen sollten. Wie Chris sagt, Objective-C ist die Grundlage und Muttersprache von Kakao und viele seiner Paradigmen sind untrennbar mit dieser Linie verbunden. Insbesondere Selektoren und dynamische Nachricht Auflösung und die Fähigkeit, Klassen zur Laufzeit ändern benötigen Cocoa Technologien wie Distributed Objects und Bindungen zu implementieren. Wenn diese Funktionen auch in anderen dynamischen Sprachen wie Ruby und Python verfügbar sind, gibt es genug von einer Nichtübereinstimmung in den Sprachmodellen, die Sie Objective-C zumindest zu verstehen, haben Cocoa zu verstehen. Ich schlage vor, Sie nehmen einen Blick auf diese vorherige Frage für die weitere Diskussion: Muß ich Objective-C für die professionelle Mac-Entwicklung?

lernen

Zum Glück, Objective-C ist sehr einfach zu erlernen. Ich sage oft Leuten es sie einen Tag dauern wird Objective-C kommt von C / C ++ / Java oder LISP, Schema, oder einer der ‚neueren‘ dynamischen Sprachen wie Ruby und Python zu lernen. Neben Ihrem Geist ein wenig zu erweitern, können Sie den Code zumindest lesen lernen werden, die in praktisch allen Cocoa Dokumentation und Beispiele verwendet wird.

Wie für Ruby vs. Python sind die Brücken Fähigkeiten sehr ähnlich. In der Tat, die sie verwenden sowohl Apples BridgeSupport (wird mit Leopard) die Brücke Beschreibung zu liefern. Beide werden von Apple und versendet mit Leopard unterstützt. Es ist eine Frage des persönlichen Geschmacks, die Sprache, die Sie bevorzugen. Wenn Sie Ruby-wählen, empfehle ich Ihnen geben MacRuby einen Blick . Es ist definitiv die Zukunft von Ruby on OS X, da sie die Ruby-Laufzeit auf die Objective-C Laufzeit reimplementiert. Dies bietet einige schöne Leistung und konzeptionelle Vorteile (einschließlich der Integration mit dem Garbage-Collection-System Objective-C, eine Funktion zur Zeit in PyObjC fehlt, die das native Python gc verwendet). MacRuby enthält auch einen benutzerdefinierten Parser, der die Syntax von überbrückten Objective-C-Verfahren ein wenig schöner macht. Der Nachteil von MacRuby ist, dass es für produktionsnahen Einsatz zum Zeitpunkt des Schreibens dieses Artikels (Juni 2009) nicht ganz fertig ist. Da es klingt wie dies ein Lernprojekt für Sie, das ist wahrscheinlich kein Problem.

Andere Tipps

Während Sie sagen, dass Sie „haben keine Zeit“ Technologien zu lernen, selbstständig die schnellste Route zu lernen, Cocoa wird es immer noch in seiner Muttersprache zu lernen: Objective-C. Sobald Sie Objective-C und bekommen haben über die anfängliche Lernkurve des Cocoa-Frameworks verstehen haben Sie eine viel einfachere Zeit entweder PyObjC oder RubyCocoa Aufnehmen.

Beide sind in etwa gleich, würde ich sagen. Besser in einigen Orten, schlimmer in anderen. Aber ich würde nicht empfehlen, Kakao Lernen entweder mit. Wie Chris sagte, erfordert Cocoa ein gewisses Verständnis für Objective-C. Ich mag Ruby-besser als Objective-C, aber ich immer noch nicht empfehlen, es mit Cocoa zu lernen. Sobald Sie eine solide Grundlage haben (kein Wortspiel beabsichtigt) in Cocoa / Objective-C, können die Brücken für Sie nützlich sein.

Apple scheint hinter Ruby-Scripting für Cocoa zu bekommen, aber nicht RubyCocoa. Sie sind Hosting und ich glaube, die Unterstützung MacRuby . Ich frage mich oft, ob MacRuby Antwort von Apple auf eine höhere Ebene Sprache für OSX Prototyping und voll auf die Anwendungsentwicklung ist.

ObjectiveC ist bei weitem nicht so viel Spaß, oder so produktiv wie entweder Python oder Ruby. Das ist, warum Menschen eine Python holen wollen oder mit gutem Objective C Zugang Rubin. Beratung ihnen Objective C zuerst trifft nicht den Punkt imo zu lernen. Ich habe wirklich gute Dinge zu sagen über PyObjC. Seine Fähigkeit, schmerzfrei mit Objective C-Frameworks interoperabel ist hervorragend. Ich habe weniger Erfahrung mit Ruby-Kakao und das war zum Teil, weil, als ich zuletzt sah es nicht so sauber und relativ schmerzlos Interoperabilität zu haben schien. Ich fühle mich zögerlich MacRuby, weil es zu weit zu gehen scheint. In PyObjC können Sie schlicht Python schreiben und nur Unterklasse / verwenden Foundation und Cocoa-Objekte, wenn Sie wirklich / bedeuten wollen. Von dem, was ich verstehe, von MacRuby ist es ein Ruby oben auf Kakao. So ein String ist immer ein NSString. Ich bin weniger zufrieden. YMMV.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top