1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

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

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Kenso, 02.02.08.

  1. Kenso

    Kenso Pomme au Mors

    Dabei seit:
    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
     
  2. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    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.
     
  3. appahappa

    appahappa Ingrid Marie

    Dabei seit:
    28.03.07
    Beiträge:
    270
    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
     
  4. appahappa

    appahappa Ingrid Marie

    Dabei seit:
    28.03.07
    Beiträge:
    270
    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:

  5. Kenso

    Kenso Pomme au Mors

    Dabei seit:
    05.12.07
    Beiträge:
    869
    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?
     
  6. appahappa

    appahappa Ingrid Marie

    Dabei seit:
    28.03.07
    Beiträge:
    270
    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.
     
  7. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    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.
     
  8. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    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
     
  9. appahappa

    appahappa Ingrid Marie

    Dabei seit:
    28.03.07
    Beiträge:
    270
    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.


     
  10. kb.bd

    kb.bd Idared

    Dabei seit:
    27.11.04
    Beiträge:
    26
    Hallo Micha,

    wenn es um eine bessere Optik von Java-Programmen auf dem Mac geht, schau doch mal hier:

    http://www.randelshofer.ch/quaqua/download.html

    Gruß Bernd.
     
    zeno gefällt das.
  11. Felix

    Felix Uelzener Rambour

    Dabei seit:
    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
     
  12. appahappa

    appahappa Ingrid Marie

    Dabei seit:
    28.03.07
    Beiträge:
    270
    Was für Performanceprobleme?
     
  13. zendo

    zendo Boskoop

    Dabei seit:
    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
     

Diese Seite empfehlen