Hallo,
wollte mal nachfragen ob hier schon jemand Erfahrung mit PyCocoa hat und wenn ja würde mich ein Feedback interessieren?
Wer es nicht kenn und gerne wissen will was es ist kann hier gucken:
http://pyobjc.sourceforge.net
Mit PyCocoa bekommt man die Möglichkeit Programm für den Mac mit Apples Framework Cocoa zu entwickeln.
Viele Grüße,
snatch
PyCocoa
Ich fand anfangs die Idee, statt sich mit Objective-C beschäftigen zu müssen (welche mir eigentlich zu low-level ist) lieber Python zur Erstellungen von nativen OSX-Anwendungen benutzen zu können reizvoll, doch Code wie
fand ich dann doch recht abschreckend. Das ist weder Python noch Objective-C, sondern erbt die Nachteile beider Systeme. Apples Ausschluss von Scriptsprachen für die Entwicklung von Anwendungen für iPhone/iPod-Touch haben ebenfalls dazu geführt, dass ich mich von dem Thema wieder abgewandt habe.
Ich fand die Dokumentation auch von Apples Seite ausgesprochen dürftig und auch das Sourceforge-Projekt macht nicht gerade einen aktiven Eindruck. Mir schien es daher attraktiver, auf MacRuby oder ein vergleichbares Projekt zu warten, auch wenn das jetzt nicht direkt Python sondern die böse Konkurrenz ist ;)
Stefan
Code: Alles auswählen
myData = NSData.alloc().initWithBytes_length_('the bytes', 9)
Ich fand die Dokumentation auch von Apples Seite ausgesprochen dürftig und auch das Sourceforge-Projekt macht nicht gerade einen aktiven Eindruck. Mir schien es daher attraktiver, auf MacRuby oder ein vergleichbares Projekt zu warten, auch wenn das jetzt nicht direkt Python sondern die böse Konkurrenz ist ;)
Stefan
Welche Nachteile beider Systeme? So wie ich dich verstehe störst du dich da einzig und allein an der Syntax.sma hat geschrieben:Ich fand anfangs die Idee, statt sich mit Objective-C beschäftigen zu müssen (welche mir eigentlich zu low-level ist) lieber Python zur Erstellungen von nativen OSX-Anwendungen benutzen zu können reizvoll, doch Code wiefand ich dann doch recht abschreckend. Das ist weder Python noch Objective-C, sondern erbt die Nachteile beider Systeme.Code: Alles auswählen
myData = NSData.alloc().initWithBytes_length_('the bytes', 9)
@snatch: Was genau willst du hören? Der einzige Nachteil, den ich bei PyObjC sehe ist, dass man das ganze nicht gescheit debuggen kann. Bzw. ich wüsste nicht, wie ich das anstellen sollte. MacRuby ist da sicherlich auch nicht besser. Und die Doku ist ein bisschen mau. Ansonsten wüsste ich nichts, was gegen PyObjC spricht.
Korrekt, ich störe ich an der Syntax. Aber genau diese ist ja maßgeblich entscheidend, wenn ich eine Programmiersprache auswähle. Ich kombiniere hier die unpassende Syntax von Python (ich empfinde die Schlüsselwortnachrichten als elegant) mit dem expliziten Anlegen und Initialisieren von Objekte à la Objective-C.Darii hat geschrieben:Welche Nachteile beider Systeme? So wie ich das sehe störst du dich da einzig und allein an der Syntax.
In Python würde ich sowas erwarten:
Code: Alles auswählen
myData = NsData('the bytes', 9)
Code: Alles auswählen
myData = NSData.alloc.initWithBytes('the bytes', length:9)
Wie sähe denn das typische Todo-Listen-Programm mit PyObjC aus, wo ich eine Listbox, ein einzeiliges und ein mehrzeiliges Eingabefeld und zwei Buttons habe, wobei die Listbox mit einer Liste verbunden ist, die Todo-Elemente hält, die jeweils einen Titel und eine Beschreibung haben, diese jeweils über die beiden Eingabefelder eingegeben werden können und über den einen Button der Liste hinzugefügt und mit dem anderen Button wieder entfernt werden können?
Stefan
Gut, ich wähle sie nach Funktionalität.sma hat geschrieben:Korrekt, ich störe ich an der Syntax. Aber genau diese ist ja maßgeblich entscheidend, wenn ich eine Programmiersprache auswähle.Darii hat geschrieben:Welche Nachteile beider Systeme? So wie ich das sehe störst du dich da einzig und allein an der Syntax.
Das finde ich wiederum schrecklich. Das ist dann nämlich wirklich ein ruby mehr.In erwähntem MacRuby könnte man's so schreiben:Code: Alles auswählen
myData = NSData.alloc.initWithBytes('the bytes', length:9)
Kann ich leider auch nichts zu sagen.Die anderen Vorteile wie z.B. direkte Integration der Objektsysteme, automatische Garbage Collection, keine Threading-Probleme, usw. die als Vorteile von MacRuby gegenüber der Ruby-Cocoa-Bridge aufgeführt sind, kann ich nur ohne Erfahrung aus erster Hand nachbeten. Ich denke jedoch, sie würden auch für PyObjC gelten.
Ähnlich simpel mit mit ObjC, die ganzen Buttons, Listen und die Anbindungen an die Daten etc. können im Interface Builder definiert werden.Wie sähe denn das typische Todo-Listen-Programm mit PyObjC aus,
Code: Alles auswählen
from Foundation import NSObject
class ToDoListAppDelegate(NSObject):
todo_list = []
das ist der Python-Teil, dazu kommt noch eine ObjC-Datei die die main.py startet und die Pfade setzt geht aber sicherlich auch irgendwie ohne(ich hab mich damit noch nicht so genau auseinandergesetzt).
Ich müsste mal ausprobieren ob man todo_list problemlos pickeln kann.
Edit: Nein geht bei ObjC-Objekten nicht. Zum Speichern müsste man sich also mehr Gedanken machen.