Frage

Was würden Sie für die OS X-Entwicklung einer grafischen Anwendung empfehlen, wie sie in WPF möglich ist?

Mein spezifischer Hintergrund liegt in Smalltalk und Java, aber derzeit arbeite ich hauptsächlich in DHTML/.NET (ASP.NET/C#).

War es hilfreich?

Lösung

Kakao.Wird von vielen als das beste Anwendungsframework aller Zeiten angesehen.Die Sprache ist Objective-C, eine SmallTalk-ähnliche Sprache, die die Entwickler von Java inspiriert hat.

Es gibt wirklich keine vernünftige Alternative zu Cocoa für die OS

Andere Tipps

Neben Interface Builder, der in den Xcode-Tools enthalten ist, können Sie auch QT, GTK+, AWT & SWING (für Ihren Java-Hintergrund), Tk, Squeak (für Ihren Smalltalk-Hintergrund) und Shoes (sehr cooles kleines Ruby-GUI-Toolkit) verwenden ), FXRuby (mehr Ruby), wxWidgets, XULRunner und andere, die ich sicher vergessen habe.Für die nativeren Apps ist jedoch Interface Builder die beste Wahl.

Cocoa ist das primäre Framework zur Verwendung unter Mac OS X.Es ist das, was Apple verwendet, es ist das, was die meisten neuen Entwicklungen verwenden, und es ist der Ort, an dem hauptsächlich neue Funktionen hinzugefügt werden.

Wenn Sie von WPF kommen, werden Ihnen wahrscheinlich einige der Konzepte in Cocoa bekannt vorkommen.(Trotz der Tatsache, dass Cocoa nur etwas älter ist.) Es basiert vollständig auf MVC, es gibt Benachrichtigungen und Bindungen bei Eigenschaftsänderungen, es gibt Animationsunterstützung, es gibt ein Persistenz- und Objektdiagramm-Management-Framework und so weiter.

(Vielleicht möchten Sie den Tags auch „mac“ hinzufügen.)

Lassen Sie sich mit Ihrem Java-Hintergrund nicht von der inzwischen veralteten Cocoa-Java-Brücke ablenken.Zu Beginn der Geschichte von OSAufgrund der semantischen Unterschiede zwischen Java und Objective-C sind viele der leistungsstärksten Funktionen von Cocoa, einschließlich der Schlüsselwertbindung (auf der viele andere Funktionen basieren), sehr schwierig, was zu einer Divergenz der Fähigkeiten von Objetive-C und Java führt die eventuelle Abwertung der Brücke.Die gesamte Cocoa-Entwicklung erfolgt am besten mit Objective-C oder einer der vielen (automatisch generierten) Brücken zu dynamischen Sprachen wie Python oder Ruby.

Mit Ihrem Hintergrund im Smalltalk gehe ich davon aus, dass Sie Objective-C in ein oder zwei Tagen erlernen können.

Ich bin mir nicht sicher, was WPF ist, aber die meiste Entwicklung für die OSX-Plattform erfolgt in Objective-C mit Cocoa.Sie können die veralteten Carbon-APIs mit anderen Sprachen wie Java verwenden, aber neue Anwendungen für OSX sollten eigentlich in Objective-C entwickelt werden.Sie können damit beginnen Apples Leitfaden mit Xcode als IDE.

Anders ausgedrückt als die vorherigen Poster:Wenn Sie Ihre Schnittstelle nicht in InterfaceBuilder entwerfen und mit Objective-C manipulieren, erhalten Sie am Ende eine Anwendung, die nicht so aussieht, sich anfühlt, sich nicht so verhält oder funktioniert wie eine Macintosh-Anwendung, und sie fällt auf wie ein wunder Daumen für Benutzer.Im Vergleich zu anderen Apps wird es für den Benutzer eine unangenehme Erfahrung sein und er wird sich wahrscheinlich deshalb eine andere Anwendung wünschen.

Toolkits wie QT sind akzeptabel, wenn Ihre Anwendung bereits QT verwendet und Sie sie schnell portieren möchten. Wenn Sie jedoch eine neue Anwendung (oder eine separate GUI) schreiben, schreiben Sie sie in Cocoa mit ObjC oder ObjC++.

Vielleicht schauen Sie mal vorbei PyObjc Dies ist eine Brücke zwischen der Programmiersprache Python und Objective-C, einschließlich Bindungen für Mac OS X-Komponenten, einschließlich Cocoa.

Mit einem Smalltalk-Hintergrund würde ich reines Cocoa und Objective-C empfehlen.Wenn Sie jedoch eine dynamische Sprache bevorzugen, RubyCocoa ermöglicht Ihnen die Verwendung von Ruby, das meiner Meinung nach für Sie einfacher zu erlernen ist als Python.

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