• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Können Java-Oberflächen wie Cocoa aussehen?

Kenso

Pomme au Mors
Registriert
05.12.07
Beiträge
869
Hallo,

ich wollte nach längerer Pause nun der Programmierung doch nochmal eine "Chance" geben, nachdem ich mich schon so lange damit beschäftigt hab und es bisher immer nur für Webdesign gereicht hat und ein paar Grundlagen von C++ und Java.

Ich habe sogar shcon eine Idee, WAS ich programmieren will, nämlich ein Carcassonne Spiel . Ich weiß, viel Arbeit und ziemlich hoch gegriffen für einen Anfänger, aber es ist mir ja egal, wie lange es dauert, hauptsache es macht Fortschritte.

Da meine Freunde aber alle Windows haben , stellt sich nun für mich die Frage, welche Technologie ich einsetzen sollte. Dabei ist mir Java wieder eingefallen. Aber Java ist berühmt dafür, auf Mac einfach besch...eiden auszusehen, zumindest kenne ich Java-Anwendungen, die schrecklich aussehen!

Liegt das einfach an der Macfeindlichen Programmierung oder ist Java auf Mac wirklich so schlecht? Kann man denn auch Programme programmieren, die aussehen wie ... kA, wie jedes normale Macprogramm eben? Mit Menüleiste oben am Bildschirm und ihr wisst schon, was ich meine...

Ist das möglich oder sollte ich lieber mit C++ (oder C++ für Win und ObjC für Mac) arbeiten?

Gruß, Micha
 

Peter Maurer

Pommerscher Krummstiel
Registriert
16.03.04
Beiträge
3.077
Man sollte auf dem Mac mit Objective-C anfangen.

Davon abgesehen: Schau Dir z.B. mal David Kochers FTP-Programm Cyberduck an, seines Zeichens ein ziemlich nativ aussehendes Java-Programm. Aber Apple pflegt die Cocoa-Java-Bridge nicht mehr, also wuerde ich an Deiner Stelle keine Zeit damit verschwenden, mir diese Sackgasse erst noch beizubringen.
 

appahappa

Ingrid Marie
Registriert
28.03.07
Beiträge
273
Ich würde es jedem abraten in Java-Programmen irgendwelche Bridges zu benutzen. Es hat überhaupt keinen Sinn ein Java-Programm zu entwickeln, was nur auf einem Betriebssystem läuft, dann kann man auch gleich Objective-C nehmen.

Das heisst jetzt nicht, dass ich davon abrate in Java zu entwickeln, ganz im Gegenteil. Dass a Java auf dem Mac bescheiden aussieht halte ich für ein Gerücht. Ich finde Apple hat einen fantastischen Job gemacht, Java richtig gut in MacOS zu integrieren. Ich arbeite täglich mit Netbeans auf dem Mac und ich finde nicht, dass das Programm bescheiden aussieht, sieht für mich wie ein ganz normales Mac-Programm aus und verhält sich auch so. Die Menuleiste ist da wo sie hingehört, alle Tastenkombinationen sind wie in anderen Programmen, usw....alles stimmig. Dann benutze ich noch den muCommander, ebenfalls ein gutaussehendes Java-Programm.

Ich habe schon in einem anderen Thread über das Thema geschrieben und auch zwei Screenshots dort eingefügt, eins von NetBeans das andere von Logic, wobei Logic imho weniger wie ein ein typisches Mac-Programm aussieht.

http://www.apfeltalk.de/forum/anf-ngerfragen-programmierung-t118562-2.html
 

appahappa

Ingrid Marie
Registriert
28.03.07
Beiträge
273
So hier ein noch ein neuerer Screenshot von NetBeans 6 auf Leopard. Auf dem alten Screenshot von Netbeans ist die Fensterleiste nicht zu sehen, weil das Programm im Vollbildmodus ist. Es ist aber schon zu erkennen, dass die Menuleiste ganz normal ist, so wie es sich für ein Mac-Programm gehört.

Mal davon abgesehen, wenn du eh ein Spiel entwickeln willst, wird das ganze UI doch sowieso von Hand "gemalt" sein. Spiele sehen doch normalerweise eh nicht wie "normale" Programme aus. Dann ist es eh egal was man zum Entwickeln benutzt. Du sollst dich am besten für das entscheiden, womit du am am besten klar kommst. Die tollste Technologie nützt einem nichts, wenn man nicht voran kommt. Ich glaube den Spielern ist es eh egal, so lange das Spiel Spass macht.

Dieses kleine Spielchen spiele ich ganz gerne mal.

http://www.puzzlepirates.com
 

Anhänge

  • Netbeans-Leopard.png
    Netbeans-Leopard.png
    162 KB · Aufrufe: 733

Kenso

Pomme au Mors
Registriert
05.12.07
Beiträge
869
Man sollte auf dem Mac mit Objective-C anfangen.

Wie siehts denn mit dem Austausch zwischen Cocoa- und C# oder C++ Programmen aus?
Also, ich meine, wenn ich jemals dazu kommen sollte, sogar eine Netzwerkfähigkeit einzubauen, sodass man zu mehreren übers Internet spielen kann - dann muss die Mac Version logischerweise mit der Windowsversion kommunizieren können. Eigentlich dürfte das ja kein Problem sein, oder? Ich frage nur aus Sicherheit, weil ich hinterher nicht auf die Nase fallen will. Aber an für sich ist das doch problemlos machbar, oder? Bzw. ist es dann auch egal, ob ich in der Cocoa Anwendungen CoreImage u.ä. verwende, da dies ja nur für die Anzeige zuständig ist, richtig?
 

appahappa

Ingrid Marie
Registriert
28.03.07
Beiträge
273
Natürlich könnten C#-Programme auch mit einer Cocoa-Anwendung kommunizieren, der Arbeitsaufwand wird dadurch aber sicherlich steigen. Die Netzwerkfähigkeit ist aber das geringere Problem. Ich denke mal, es ist um einiges schwieriger die Grafikausgabe von CoreImage auf DirectWasWeissIch zu portieren. Man müsste dann auf jeden Fall einiges doppelt implementieren. An deiner Stelle würde ich deswegen eine Technologie nehmen, die ohne viel Aufwand auf Mac und Windows funktioniert. C++ mit Qt vielleicht oder Java. Dann musst du nichts doppelt programmieren.
 

Peter Maurer

Pommerscher Krummstiel
Registriert
16.03.04
Beiträge
3.077
Was appahappa sagt.

Und noch ein kleiner Zusatz: Ein Objective-C-Programm muss nicht zwangslaeufig ein reines solches sein -- im Gegenteil: Kein normales Objective-C-/Cocoa-Programm auf dem Mac ist sortenrein, sondern hat viel mehr Anteile anderer C-Dialekte.

Der Uebergang ist ein Kinderspiel, und manchmal bemerkt man ihn nicht einmal, weil er innerhalb der Cocoa-Frameworks stattfindet.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Java-Programme können ganz normal auf OS X aussehen mit allem Pi-Pa-Po. Dringend empfohlen dafür dieses Buch, was auf die Besonderheiten von Java auf OS X eingeht (und man bleibt trotzdem plattformunabhängig, ohne Bridge):

Java für Mac OS X
Galileo Computing
630 S., 2005, geb., mit CD
49,90 Euro, ISBN 3-89842-447-2

http://www.muchsoft.com/java/index.html
 

appahappa

Ingrid Marie
Registriert
28.03.07
Beiträge
273
Das mag ja sein, ich habe auch nur lediglich darauf hingewiesen, dass der Arbeitsaufwand steigt, wenn man eine Technologie einsetzt, die es nur auf einem System gibt. Wenn man Cocoa benutzt, muss man das gleiche noch mal unter Windows programmieren, ist nun mal so.


Was appahappa sagt.

Und noch ein kleiner Zusatz: Ein Objective-C-Programm muss nicht zwangslaeufig ein reines solches sein -- im Gegenteil: Kein normales Objective-C-/Cocoa-Programm auf dem Mac ist sortenrein, sondern hat viel mehr Anteile anderer C-Dialekte.

Der Uebergang ist ein Kinderspiel, und manchmal bemerkt man ihn nicht einmal, weil er innerhalb der Cocoa-Frameworks stattfindet.
 

Felix

Uelzener Rambour
Registriert
25.12.03
Beiträge
371
Hallo,

es gibt von Trolltech Qt Jambi. Damit bekommt man plattformunabhängige Oberflächen hin.
Jambi nutzt die normalen QtGui DLLs, das heißt man hat keine Performance Probleme wie bei Swing.
Ich selber bin damit sehr zufrieden, vermutlich die beste Lösung für Software die auch auf dem Mac laufen soll.

ciao
Felix
 

zendo

Boskoop
Registriert
23.02.06
Beiträge
41
Hallo auch von mir!

Performancemäßig ist der Ruf von Swing wesentlich schlechter, als es wirklich ist. Das liegt einfach und allein daran, dass man bei ungeschickter Programmierung einiges an Performance verlieren kann, was wohl vielen kleinen Entwicklern vor allem anfangs öfter passiert ist. Das haben die User halt immer noch im Kopf. Mit Swing ist man aber durchaus in der Lage gut performante und komfortable GUIs zu stricken. Dazu kommt, dass die Library selbst meiner Meinung nach gut durchdacht und sehr angenehm zu programmieren ist, wenn man sich halt an die Grundlagen hält (Dokus und gute Beispiele lesen!).

Nochmal zur Ausgangsfrage...hab's schonmal gepostet...
Wer's noch nicht kennt, kann ja hier mal reinschauen
newton2.slueck.de oder auch trbworks.slueck.de
(sind wohl nicht 100% cocoamäßig, aber zeigen doch ganz ansprechende GUIs unter OSX - das ist zumindest das Feedback, was ich bisher bekommen habe)

Herzliche Wochenendgrüße an alle,
Stephan