GUI Applikationen plattformunabhaengig

Status
Nicht offen für weitere Antworten.
C

Chrissy_810

Gast
Hi Leute

ich habe es mir zur Aufgabe gemacht mich auch mal in die Programmierung von GUI Applikationen einzuarbeiten und damit in die Welt der Maschinensprachen zu begeben. Ich komme aus der "Web-Ecke" mache also hauptsaechlich Skripting, HTML, CSS, PHP, Javascript, Actionscript.

Jetzt bin ich erstmal auf der Suche nach der geeigneten Sprache und bin dann erstmal auf Java gekommen, da ich weiß das diese eine der maechtigsten Sprachen ist und fuer so etwas einsetzbar. Nun ist die erste Frage: Schieße ich damit mit Kanonen auf Spatzen? Oder ist das angemessen?

Gibt es eine IDE für Entwicklungen bzw. Toolkits die das entwickeln vereinfachen bzw. etwas Unterstützung bieten?

Wie sieht es aus mit der Plattformunabhaengigkeit? Wo bekomem ich die Informationen, was ich beachten muss? wie ich Anwendungen fuer verschiedene Plattformen (Windows, Mac und versch. Linux) schreibe mit kleinstmoeglichem Aufwand und was ich im Vornherein besonders beachten muss?


Ja so all das. Links und Tipps waeren toll! Es ist immer schwer ueber Google etwas zu finden, wenn man noch nicht genau eingrenzen kann was man sucht.

VIELEN DANK :)
vG
 

Wildcard

Top Contributor
Jetzt bin ich erstmal auf der Suche nach der geeigneten Sprache und bin dann erstmal auf Java gekommen, da ich weiß das diese eine der maechtigsten Sprachen ist und fuer so etwas einsetzbar. Nun ist die erste Frage: Schieße ich damit mit Kanonen auf Spatzen? Oder ist das angemessen?
Java ist dafür schon passend.
Gibt es eine IDE für Entwicklungen bzw. Toolkits die das entwickeln vereinfachen bzw. etwas Unterstützung bieten?
Ich würde soweit gehen zu sagen das Java die besten IDEs überhaupt hat.
Schau dir zB. Eclipse, Netbeans und IntelliJ an.

Wie sieht es aus mit der Plattformunabhaengigkeit? Wo bekomem ich die Informationen, was ich beachten muss? wie ich Anwendungen fuer verschiedene Plattformen (Windows, Mac und versch. Linux) schreibe mit kleinstmoeglichem Aufwand und was ich im Vornherein besonders beachten muss?
Java gibt dir alle Mittel in die Hand Plattformunabhängig zu sein, aber wenn du natürlich unbedingt eine Linux .so ausführen möchtest, eine Windows .dll benötigst, oder Adobe Photoshop öffnen möchtest, ist's natürlich vorbei mit der Plattformunabhängigkeit.
 
G

Guest

Gast
aber wenn du natürlich unbedingt eine Linux .so ausführen möchtest, eine Windows .dll benötigst, oder Adobe Photoshop öffnen möchtest, ist's natürlich vorbei mit der Plattformunabhängigkeit.
was meinst Du genau damit? wo hoert es auf?
Ist dann eine anpassung pro Betriebssystem notwendig? oder macht java da komplett schlapp? (naja wohl bestimmt nicht ;))
also es geht am ende darum, hardware zu erkennen, dann einen installationsasssitenten zu starten, als GUI und eben durch diesen verschiedene Aktionen auszuloesen, die natuerlich das Betriebssystem ansprechen. Proprietaere Programme, wie Photoshop oder auch was weiß ich was, werden hier nicht angesprochen, Eintraege in der Registry etc. werden aber sicherlich gemacht werden muessen. Und das meinst Du dann auch wahrscheinlich dass es da aufhoert oder? da Linux und vor allem dann auch Mac ganz andere Systeme nutzen? Mit Mac, das werde ich sowieso ausgliedern muessen denk ich, da muss ich ne vollstaendig eigenstaendige Recherche machen, da ich keine AHnung habe, oder ist es einfacher als man sich denkt? entspricht es in den "Tiefen" seines Seins dann doch einer Windows-aehnlichen Struktur? Registry etc.
 

Wildcard

Top Contributor
Registry ist Windows only. Hardwaredinge musst du auf jeden Fall pro Plattform entwickeln, weil sich die Systeme stark unterscheiden. Java abstrahiert Dinge wie Sockets, Dateioperationen, GUI, ...
Wenn du Hardware erkennen willst wird's haarig. Da musst du direkt mit der API des Betriebssystems sprechen (windows) oder Programmausgaben/Text Dateien parsen (Unixoide Systeme). Für solche Spezialitäten bietet dir die Java API keine Hilfe an.
Wenn dies die Hauptaufgabe deines Programms werden soll, dann muss der Großteil deiner Anwendung pro Plattform komplett neu implementiert werden und auf einem Windows System musst du nativen Code einbinden.
 
G

Guest

Gast
ok gut danke das ist schonmal wichtig.

wenn ich also eine installationsroutine entwickeln möchte, die bei anschluss einer hardware gestartet wird und verschiedene eintraege vornimmt bzw. eben "die hardware einrichtet" dann waere das genau der fall richtig?

beschraenke ich mich nun erst einmal auf Windows, wie einfach ist das erstellen der GUI, also das einbinden von grafischen Elementen, das Erstellen der Maske, das einbinden von buttons, bildern text, quasi das, was der benutzer sieht und gibt es dafuer tools die auf dem "code" aufsetzen? also losgeloest von der eigentlich anwendung lediglich das design bilden?
und koennen diese plattformuebergreifend arbeiten?
 

Fu3L

Top Contributor
Plattformunabhängige GUIs in Java zu schreiben ist ein Traum (hat mir mal ein C++ Programmierer gesagt :wink: ). Also es ist wirklich einfach (natürlich braucht man gewisse Grundkenntnisse).

Allerdings wird Hardwareerkennung entweder sehr schwierig oder unmöglich... Aber da müssen die Profis was zu sagen :wink:
 

Wildcard

Top Contributor
Fu3L hat gesagt.:
Allerdings wird Hardwareerkennung entweder sehr schwierig oder unmöglich... Aber da müssen die Profis was zu sagen :wink:
Naja, C Code der mit der WinAPI spricht und dann mit Java über JNI/JNA kommuniziert. Der haarige Teil wird der C Code aber daran lässt sich nichts ändern.
 

Fu3L

Top Contributor
Wildcard hat gesagt.:
Fu3L hat gesagt.:
Allerdings wird Hardwareerkennung entweder sehr schwierig oder unmöglich... Aber da müssen die Profis was zu sagen :wink:
Naja, C Code der mit der WinAPI spricht und dann mit Java über JNI/JNA kommuniziert. Der haarige Teil wird der C Code aber daran lässt sich nichts ändern.

Ganz falsch geraten hab ich da nicht, mit Java allein klappts nicht. An das Einbinden von C-Code hab ich grad nich gedacht, aber dann müsste der Thread-Ersteller ja entweder noch ne Sprache lernen oder das irgendwo her kopieren... (Ich weiß jezz nich, wie kompliziert sowas ist, hab bisher noch nie C oder C++ programmiert (kommt aber noch :cool: ))
 
O

OneAndZero

Gast
hi @ all

also wenn ich den Thread so lese, finde ich geht das etwas vom Thema ab!? Oder verstehe ich es falsch?
Laut Chrissy_810 möchte er sich in GUI Programmierung einarbeiten! Das heißt für mich er möchte erstmal eine schlichte GUI erstellen mit der er dann arbieten kann. Diese sollte dann auch auf anderen OS laufen!
Das geht mit Java bestens...
Klar, wenn man sich an die Hardware eines Systems macht ist es damit vorbei! Aber wo ist dann auch die Unabhängigkeit wenn wenn man an Hardware geht! Das ist ein Wiederspruch insich.

So wie ich Chrissy_810 seine Frage lese denke ich das er mit seinem Wissen seine Ziele mit Java erreichen wird!

gruß
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben