GUI für OSX ohne ObjC?

D

dpauw

Mitglied
Thread Starter
Dabei seit
23.01.2006
Beiträge
30
Reaktionspunkte
0
Gibt es eigentlich keine vernünftige, zukunftssichere Möglichkeit OSX-Programme mit schickem Interface zu erstellen als ObjC zu lernen?

Allein das Aussehen von ObjectiveC-Code treibt mir den Brechreiz hoch, außerdem sind die eckigen Klammern [] auf der PowerBook-Tastatur auch noch schlecht erreichbar. Kurz gesagt: Ich habe keine Lust, mich in Syntax und Konzepte von ObjC reinzudenken.
Nach 10.4 soll laut Apple ja auch noch der Java-Support für Cocoa eingestellt werden.

Wer hebt meine Laune mit einer tollen Lösung? :rolleyes:

PS: Auch, wenn man das in einem Mac-Forum besser nicht laut sagt: Am aller liebsten wäre mir eine stabile, einfache C-Api wie die WinApi...
 
ich kenn keinen, der die WIN-API wirklich zu Fuß nutzt. Faktisch jeder greift auf MFC oder OWL als Framework zurück. Ein einfaches Fenster per Windows-API öffnen sind glaub ich so 100 Zeilen code?

Zurück zu Deiner Frage: Carbon ist C++, Du kannst auch QT von trolltech nutzen.

An dem Glaubnskrieg C++/ Objective-C beteilige ich mich mal nicht. Beide haben ihre guten Seiten ;)
 
dpauw schrieb:
Am aller liebsten wäre mir eine stabile, einfache C-Api wie die WinApi...

Das ist irgendwie ein Widerspruch...

Naja...

Musst wohl Carbon nehmen.

Oder halt:
- wxWidgets
- GTK
- Qt

wobei die letzten 3 genannten auf Carbon bzw. Cocoa aufsetzen.
 
wegus schrieb:
ich kenn keinen, der die WIN-API wirklich zu Fuß nutzt.

Zumindest haben sich die, die es probiert haben, später umgebracht. ;) *gg*
 
Nimm doch für's Frontend AppleScript Studio und dahinter was dir am meisten Spaß macht.
 
Im Moment bräucht ich einfach eine Api, die es mir möglich macht, ein Fenster(sagen wir: 400x400) zu erstellen, dessen einzelne Pixel ich in ihrer Farbe verändern kann.
Da würde ich ungerne ein aufgeblasenes Riesenframework wie GTK oder Qt für verwenden. Sowas würde ich doch auch unter Windows zack-zack mit der Winapi machen.

Was Carbon ist, weiß ich leider nicht so genau - nur, dass die Dokus von Apple es scheiße finden und einem alle 3 Sätze raten, lieber auf Cocoa umzusteigen :)
 
-Nuke- schrieb:
Zumindest haben sich die, die es probiert haben, später umgebracht. ;) *gg*

ich bin der lebende Gegenbeweis! :)
Aber auch nur, weil ich mal wissen wollte welche Arbeit mir die OWL wirklich abnahm!
 
Ich will gar keinen Glaubenskrieg___nur ein Lösung...
 
dpauw schrieb:
Gibt es eigentlich keine vernünftige, zukunftssichere Möglichkeit OSX-Programme mit schickem Interface zu erstellen als ObjC zu lernen?

Java

dpauw schrieb:
PS: Auch, wenn man das in einem Mac-Forum besser nicht laut sagt: Am aller liebsten wäre mir eine stabile, einfache C-Api wie die WinApi...

Swing

dpauw schrieb:
Wer hebt meine Laune mit einer tollen Lösung? :rolleyes:

Java2D
 
dpauw schrieb:
Im Moment bräucht ich einfach eine Api, die es mir möglich macht, ein Fenster(sagen wir: 400x400) zu erstellen, dessen einzelne Pixel ich in ihrer Farbe verändern kann.

Und unter OS X würde ich das Zack-Zack mit Cocoa machen...

Das ist sogar ein richtiges Mini-Programm in Cocoa. ^_^

Kannst natürlich auch Mono installieren und dann .NET-ähnlich machen...

Naja. Du hast die Wahl. Eine musst du nehmen, wenn du keine der bisherigen magst...
 
dpauw schrieb:
Im Moment bräucht ich einfach eine Api, die es mir möglich macht, ein Fenster(sagen wir: 400x400) zu erstellen, dessen einzelne Pixel ich in ihrer Farbe verändern kann.

Dafuer vielleicht sowas wie SDL?
 
-Nuke- schrieb:
Und unter OS X würde ich das Zack-Zack mit Cocoa machen...

Das ist sogar ein richtiges Mini-Programm in Cocoa. ^_^

Dann poste mal zack-zack Beispiel-Source! ;)

Ist ObjC eigentlich nur eine C-Erweiterung oder eine komplett eigene Sprache? Oder anders gefragt: Kann ObjC normalen C-Code enthalten?

d.h. konkreter: Könnte ich das Öffnen der Fenster und das Setzen der Pixelfarbe in ObjC machen und allen darunter liegenden Sachen in einfachem C implementieren?
 
Das Alles und noch viel mehr gibt es in guter didaktischer Form präsentiert hier:


[ISBN]3908497205[/ISBN]

ein Klasse Buch mit einer tollen Einführung! Um Deine Frage direkt zu beantworten, im wesentlichen hast Du C-Syntax ohne die ++ Erweiterung.
Objekte und Nachrichen (Methoden in C++), sprichst Du über die eckigen Klammern an ( an die man sich durchaus gewöhnt). Sonderkonstrukte beginnen mit einem @-Zeichen c'est ca!
ObjectiveC hat soviele elegante Mechanismen das es sogar Spaß macht umzulernen ( mir reicht dafür meist die Zeit nicht).
 
Könnte ich das Öffnen der Fenster ... in ObjC machen

Das Öffnen des Fensters brauchst Du in ObjC erst schon mal gar nicht "zu programmieren".

Du startes XCode, erstellt ein neues Projekt, Typ Cocoa Application, klickst auf "Build and Go" und schon hast Du Dein Fenster, Deine Menüleiste,...

No.
 
Objective-C ist ANSI-C mit einigen Erweiterungen Richtung Objekt-Orientierung, den Sachen in den eckigen Klammern. Die stammen aber nicht aus C++. sondern aus SmallTalk.
Mit den eckigen Klammern [] habe ich keine Probleme. Geht schlicht mit Alt-5, Alt-6.
Zum Einlesen: auf meiner Homepage im Cocoa-Workshop den Part "Cocoa-Einstieg: Das Prinzip von Cocoa und die Bedienung der Tools erklärt an einem einfachen Beispiel".
 
dpauw schrieb:
Dann poste mal zack-zack Beispiel-Source! ;)

Ist ObjC eigentlich nur eine C-Erweiterung oder eine komplett eigene Sprache? Oder anders gefragt: Kann ObjC normalen C-Code enthalten?

d.h. konkreter: Könnte ich das Öffnen der Fenster und das Setzen der Pixelfarbe in ObjC machen und allen darunter liegenden Sachen in einfachem C implementieren?

Ja. Objective C ist nur eine - im Vergleich zu C++ kleine - Erweiterung für C. Ich finde, dass es gemessen am Sprachumfach im Vergleich mit einem Monster wie C++ sogar erstaunlich leistungsfähig ist, aber die Syntax ist wirklich arg gewöhnungsbedürftig.

Gremlin
 
Hi!
Das Aussehen von Objective-C ist etwas komisch, wenn nur C++ und Co. kennt. Nach einer kurzen Einarbeitungszeit wirst du diese eckigen Klammern aber zu schätzen wissen!
Obj-C ist für mich eine der "lesbarsten" Sprachen, mit der sich sehr schön Programmieren lässt.
Obj-C Beispiel:
[tollesObjekt setX:12 y:45 z:14 name:mad:"asdf" tranparent:YES];
C++ Beispiel:
tollesObjekt.unverständlicherMethodenName(12, 45, 14, @"asdf", true);

Cocoa ist auch toll, mit MFC lässt sich das überhaupt nicht vergleichen. Wenn du erst mal in die Welt der Bindings eingedrungen ist, merkst du erst, wie gut man eine GUI an ein Programm "anschließen" kann.

Tobi
 
wegus schrieb:
Das Alles und noch viel mehr gibt es in guter didaktischer Form präsentiert hier:


[ISBN]3908497205[/ISBN]

ein Klasse Buch mit einer tollen Einführung!
Ich fand das Buch grauenhaft und hab's ganz schnell per eBay wieder weggegeben.

Ich find im übrigen ObjC viel übersichtlicher als C++
 
Gremlin schrieb:
Ich finde, dass es gemessen am Sprachumfach im Vergleich mit einem Monster wie C++ sogar erstaunlich leistungsfähig ist

C++ und Objective-C sind eigentlich vom Umfang her gar nicht sooo unterschiedlich. Bei C++ ist die STL halt nur Pflicht. Wenn du bei Objective-C das Foundation-Framework mitnimmst, dann ist der Umfang fast gleich.

C++ hat halt ein paar mehr Features, die Objective-C eigentlich gar nicht braucht, dank id und Autorelease-Pool. Trifft sicher nicht auf ALLE Features zu.
 
Zurück
Oben Unten