Java auf dem Mac - Plattformunabhängig?

Mondmann

Aktives Mitglied
Thread Starter
Dabei seit
21.07.2004
Beiträge
3.241
Reaktionspunkte
181
Hallole.

Ich suche nach einer Möglichkeit um Plattformunabhängige Programme zu schreiben(geschäftlich).
Da ich immer wieder höre,daß man auf dem Mac mit Java besonders gut proggen kann, wollte ich hier mal ein paar fragen stellen.

Ich kann C/C++ OOP Programmieren und habe auch schonmal mit Java unter Windows herumexperimentiert.
Dazu hatte ich ein Socket erstellt und mit unserer Software komuniziert.

Ich möchte meinen Chef quasi überaschen und eine kleine Anwendung machen, die überall läuft.
Das sollte ein Javaprogramm sein,welches mit dem User kommuniziert.
Wie folgt:

Programm startet-> User gibt Username/Passwort ein->Socketverbindung zur Software öffnen, Name, Passwort senden und Antwort erhalten.
Antwort ok-> Oberfläche mit div. buttons öffner sich.

Immer wenn ein User eine Taste betätigt, soll eine Socketkommunikation zur Software (hauseigene) stattfinden und die Antwort dem User in einem (gut aussehhenden) Feld angezeigt werden.

Da ich nen haufen Zeug von der Software bekomme sind eine Menge String operationen nötig.

So, was wars fürs Erste.

Nun meine Fragen:

1. Ist Java für Mac OS und Java was anderes? Wo ist der Unterschied?
2. Wie schnell könnte man so ein Programm schreiben?Ich denke das schwierige wird die Oberfläche(??) da ich Sockets usw. schonmal gemacht hatte.(Konsole)

3. Kann man sich eine Oberfäche "zusammenklicken" wie zb. in VC++ oder Borland Builder?

4. Welche Programme empfielt Ihr? (Eclipse?)

5. Welche Bücher/internetseiten empfieht Ihr um möglichst schnell zu einer Oberfläche zu kommen.
Die Buttons sollten mit vorhandenen Bildchen usw. dargestellt werden.

Danke und Liebe grüße Mondmann
 
1.) java ist erstmal java. es gibt natürlich immer Libaries/Frameworks die nur auf einer Plattform laufen.

2.) oberfläche ist in java eigentlich sehr einfach. kommt natürlich immer auf die komplexität der GUI an.

3.) es gibt auch gui-builder, ich selbst mag die aber nicht, daher habe ich keine ahnung wie gut die sind

4.) eclipse rules ;-)

5.) http://java.sun.com/docs/books/tutorial/uiswing/ ist IMHO sehr gut

noch was:
beim Thema GUI muss man sich als erstes überlegen, auf was man setzen möchte:
- AWT
- Swing
- SWT
- andere proprietär Libs wie apple Aqua
 
Zu (3) ja: Mit Netbeans bekommst Du niocht nur eine IDE sondern auch nen ziemlich guten GUI-Builder sowie zahlreiche Tutorials ( inklusive gut gemachter Flash-Demos im Web).

Eclipse ruled in der Tat, für bloody Beginner ist der Einstieg mit netbeans m.E. jedoch einfacher. Der Swing-Builder Matisse führt Dich dann auch zu schnelleren Ergebnissen. Eclipse ist flexibler und exakter anpassbar, dafür muß man dann aber nicht nur Java sondern eben auch die Eclipse Plattform schon sehr gut kennen.


just my 2ct
 
Stell Dir vor ich müsste eine Supermarktkasse nachbilden, mit nen haufen Schaltern und einem Feld für die Anzeige.(so ähnlich ist die Aufgabestellung)

Was ist denn am Besten für eine ordentliche GUI?
Swing, AWT usw hab ich schon gehört, sagt mir aber nichts...

Mit Netbeans, kann ich da ne GUI "bauen" und hinter jedem Button eine Funktion hinterlegen?
In meinem Falle Socketverbindung und das Ergebnis im Anzeigefeld anzeigen lassen?

Ich stell mir das so vor wie beim C++Builder: Ich mache eine neue Form, ziehe meine Buttons (jpg Bilder) drauf und kann sagen, was mit denen passieren soll wenn ich drauf klicke...geht das so?


Danke schonmal Mondmann
 
Mondmann schrieb:
Stell Dir vor ich müsste eine Supermarktkasse nachbilden, mit nen haufen Schaltern und einem Feld für die Anzeige.(so ähnlich ist die Aufgabestellung)

Was ist denn am Besten für eine ordentliche GUI?
Swing, AWT usw hab ich schon gehört, sagt mir aber nichts...

Mit Netbeans, kann ich da ne GUI "bauen" und hinter jedem Button eine Funktion hinterlegen?
In meinem Falle Socketverbindung und das Ergebnis im Anzeigefeld anzeigen lassen?


Danke schonmal Mondmann

Da Du Cross-Plattform arbeiten willst ist Swing am portabelsten. Es gibt schnellere Varianten ( wie SWT), die sind aber Plattformbezogen und benötigen jeweill pro Plattform Libraries.

Ich will hier nicht den großen Netbeans/Eclipse-Streit heraufbeschwören. Es gibt für Beide gute Gründe. Wenn Du keine der IDE's kennst wirst Du jedoch feststellen, daß Eclipse eine Art IDE-Plattform/Framework ist. Man muß sehrviel über Eclispe wissen (und somit Java) um es optimal nutzen zu können. Für Beginner ist Netbeans einfacher weil es sich darauf beschränkt eine Java IDE sein zu wollen und alle nötigen Werkzeuge direkt in der Grundinstallation mitbringt. Wenn Dir Borlands Delphi oder der C++ Builder etwas sagt, dann hast Du in etwa eine Vorstellung, wie der GUI-Builder funktioniert. Es handelt sich um ein RAD-Tool mit dem man genau das machen kann was Du beschreibst. Das geht prinzipiell auch mit Eclipse, erfordert aber die Beschaffung und Integration geeigneter Werkzeuge in die Plattform selbst. Ich rate daher für den schnellen Erfolg zunächst zu netbeans. Danach kann man sich mit eclipse beschäftigen und schauen was das anders/besser macht.


EDIT: schau Dir am besten mal diesen Schnelleinstieg an:

http://www.netbeans.org/kb/50/quickstart-gui.html
 
Zuletzt bearbeitet:
Mondmann schrieb:
Immer wenn ein User eine Taste betätigt, soll eine Socketkommunikation zur Software (hauseigene) stattfinden und die Antwort dem User in einem (gut aussehhenden) Feld angezeigt werden.

Jetzt mal bitte mich nicht steinigen - aber was spricht gegen Flash, welches man im Browser laufen läßt?

Bzgl. Design (grafisches) hätte man hier auf jeden Fall sehr viele Möglichkeit. Bzgl. Kompatibilität sieht es natürlich etwas schlechter aus.

Da du per Socket auf den Server gehst, hast du ja auch einen Server, auf dem man die Berechnung laufen lassen kann. Sprich: die Logik bleibt universell und nach außen wird XML gesprochen.
 
Jo wegus, das ist doch mal ein richtig guter Tip bzw. Meinung.
Borlands C++ Builder kenne ich.

So ähnlich hatte ich es vor: erst was bauen,später verstehen, da ich tatsächlich etwas Zeitdruck habe.
Wenn Chefe dann sieht: aha-gut, dann Zeit und evtl. Schulung.

Liebe Grüße Mondmann
 
*erledigt*
 
Zuletzt bearbeitet:
Wer nur den Hammer als Werkzeug kennt, für den ist jedes Problem ein Nagel. :)
 
Mondmann schrieb:
Mit Netbeans, kann ich da ne GUI "bauen" und hinter jedem Button eine Funktion hinterlegen?
In meinem Falle Socketverbindung und das Ergebnis im Anzeigefeld anzeigen lassen?

Ich stell mir das so vor wie beim C++Builder: Ich mache eine neue Form, ziehe meine Buttons (jpg Bilder) drauf und kann sagen, was mit denen passieren soll wenn ich drauf klicke...geht das so?
Ja das geht so, der Netbeans GUI-Builder ist sogar recht komfortabel was das Ausrichten von Elementen angeht(Hilfslinien etc.), sowas habe ich für Eclipse bis jetzt noch nicht gefunden. Ich würde das als eine Mischung aus Interface-Builder und MS Visual C++ beschreiben.

Ob du nun letztendlich AWT oder Swing würde ich danach entscheiden womit du besser klarkommst, dazu was besser ist gibt es genug Leute die dir mit plausiblen Argumenten zu jeweils dem Anderen raten würden.
 
Coole SAche mit der Netbeans IDE.
Komme super damit klar und habe schon die Socket verbindung zur Software.
Anmelden mit Name/Passwort geht schon...
Brauche ich nur noch ne umfassende Online Referenz...

Danke nochmal, Grüße Mondmann
 
Für Eclipse erhält man be MyEclipseIDE Matisse als GUI-Builder dazu. Das entspricht den der Funktionalität von Netbeans.

Die Entscheidung, ob Du SWT oder Swing nimmst, ist mehr als nur eine weitere Library bei SWT.

SWT bedient sich der Oberflächenelemente des OS. Somit hast Du auf jeder Plattform den spezifischen Look. Hinter Swing steht eine andere Philosophie. Hier geht Java her und "malt" seine Controls selber. Das sieht dann Plattformübergreifend gleich aus, nur halt nicht, wie das eigentliche OS.

EDIT:
Und bedenke bei dem Einsatz eines GUI-Builders, der generierte Code sollte editierbar sein. Sonst machst du bei einer Änderungen alles wieder neu.
 
gishmo schrieb:
SWT bedient sich der Oberflächenelemente des OS. Somit hast Du auf jeder Plattform den spezifischen Look. Hinter Swing steht eine andere Philosophie. Hier geht Java her und "malt" seine Controls selber. Das sieht dann Plattformübergreifend gleich aus, nur halt nicht, wie das eigentliche OS.
Das ist nicht ganz richtig, man kann Swing vom Aussehen her durchaus an das System anpassen, über das sog. Look an Feel
 
Gishmo hat insofern reicht ( soweit ich das als Web-Programmierer richtig weiß), das das denn doch etwas nativer und eben deutlich schneller geht. Fakt ist nunmal das bei Swing Java selbst die GUI-Elemente erstellen muß - auch wenn das bei heutigen Rechnern nur noch eine untergeordnete Rolle spielt. SWT ist resourcenschonender und schneller (soweit ich weiß), Swing leichter portabel.

@gishmo: korrigier mich bitte ggf.!
 
Zurück
Oben Unten