1. Foren
  2. » Kommentare
  3. » Software-Entwicklung
  4. » Alle Kommentare zum Artikel
  5. » Schlanker, schneller…
  6. » Thema

Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

Anzeige
  1. Thema
  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


  1. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor Ekelpack 17.10.08 - 11:31

    proc schrieb:
    -------------------------------------------------------
    > autor schrieb:
    >
    > >
    > UIManager.setLookAndFeel(UIManager.getSystemLookAn
    >
    > dFeelClassName());
    >
    > Was n das, funktionales OO? Sieht ja pervers aus
    > diese Javafricklelei.

    In jeder anderen Sprache würde es genauso aussehen, vorausgesetzt die Sprache unterstützt LookAndFeels.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  2. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor Ekelpack 17.10.08 - 11:37

    DetlevDevel schrieb:
    -------------------------------------------------------
    > Das Beispiel ist vollkommener Unsinn. Code sollte
    > so strukturiert sein, dass in Situationen wie der
    > angesprochen »Sum += 1« auf keinen Fall ein
    > Property angesprochen wird. Properties machen
    > nämlich durchaus Sinn, wenn es sich nicht um
    > simple Objecte / Datentypen handelt (wie Ints,
    > Floats etc. pp.). Von daher ist es absolut
    > unprofessionell zu behaupten, das Properties per
    > se vermieden werden sollten.
    >

    Properties sind einfach nur Augenzucker.
    Ob man nun Properties schreibt oder Getter/Setter generieren lässt, macht funktional doch keinen Unterschied.

    Man gewöhne sich einfach an die jeweiligen Techniken zu benutzen. C# -> Properties, Java -> Getter/Setter...

    Es bleibt zwar immer ein komischer Beigeschmack wenn ich Properties benutzte, denn es sieht auf den ersten Blick immer so aus, als wäre der Member public, aber ich komme auch aus einer der tiefsten Java-Ecken...

    Benutzer wird von Ihnen ignoriert. Anzeigen

  3. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor zilti 17.10.08 - 11:52

    blubbiii schrieb:
    -------------------------------------------------------
    > Anstelle eines eigenen (ich finde) häßlichen.


    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); und schon hat der Entwickler das Look and Feel des jeweiligen Systems. Dadurch kann es aber z.B. ohne Layout-Manager das Layout kaputt machen, weil nicht auf allen Systemen alle Controls gleich gross sind.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  4. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor bofh_small 17.10.08 - 11:58

    java schrieb:
    -------------------------------------------------------
    > Hello_World schrieb:
    > --------------------------------------------------
    > -----
    > > Ano schrieb:
    >
    > --------------------------------------------------
    >
    > -----
    > > Das ist nicht wirklich der
    > native OS
    > L&F
    > sondern ein speziell
    > auf das OS
    > angepasste Swing
    > L&F. Wer
    > nativen L&F
    > will kommt um
    > SWT/JFace
    > nicht herum.
    > Wenn man keine Ahnung hat,
    > einfach mal die Fresse
    > halten. Swing
    > unterstützt schon lange ein natives
    > Look
    > & Feel.
    >
    > Er hat schon recht. Swing vs. SWT ist wie Qt vs.
    > wxWidgets.
    >
    > SWT und wxWidgets verwenden die echten
    > Systemwidgets, müssen sich aber dadurch mit einem
    > eingeschränkten Set begnügen, während Swing und Qt
    > das native Loog & Feel unter Beachtung der
    > Themeinformationen des Zielsystems nachmachen,
    > wodurch aber auch Widgets möglich sind, die es so
    > nicht auf dem Zielsystem gäbe.
    >
    Warum sollten sich SWT (und wxWidgets) mit einem eingeschränkten Set begnügen müssen? Das Gegenteil ist bei SWT der Fall - Erweiterungen sind möglich und auch noch (relativ) einfach zu machen.

    Bei Swing kann man (eigentlich) vieles machen - sofern nicht wieder mal DirectX spinnt und die graf. Oberfläche des OS zerwürfelt - so ala Taskmanager-Prozessliste überzeichnen, usw..

    Benutzer wird von Ihnen ignoriert. Anzeigen

  5. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor Antibrumm 17.10.08 - 12:01

    blubbiii schrieb:
    -------------------------------------------------------
    > Anstelle eines eigenen (ich finde) häßlichen.


    SWT ;)

    Neuere Entwicklungen gehen eher in die Eclipse RCP Richtung.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  6. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor SM 17.10.08 - 12:05

    blafasel schrieb:
    -------------------------------------------------------

    okay, dann werf ich einfach mal die delphi ide in die runde


    Benutzer wird von Ihnen ignoriert. Anzeigen

  7. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor GodsBoss 17.10.08 - 12:17

    > >
    > UIManager.setLookAndFeel(UIManager.getSystemLookAn
    >
    > dFeelClassName());
    >
    > Was n das, funktionales OO? Sieht ja pervers aus
    Ich glaube kaum, dass eine Methode, die "setLookAndFeel" heißt, sonderlich funktional (im Sinne funktionaler Programmierung) ist. ;-)

    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  8. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor kontent 17.10.08 - 12:40

    autor schrieb:
    -------------------------------------------------------
    > blubbiii schrieb:
    > --------------------------------------------------
    > -----
    > > Anstelle eines eigenen (ich finde)
    > häßlichen.
    >
    > UIManager.setLookAndFeel(UIManager.getSystemLookAn
    > dFeelClassName());
    >

    Es sieht dann maximal so (änhlich) aus, aber es wird sich keineswegs auch so verhalten, z.B. im JFileChooser...

    Benutzer wird von Ihnen ignoriert. Anzeigen

  9. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor titrat 17.10.08 - 12:46

    Ekelpack schrieb:
    ...
    > Properties sind einfach nur Augenzucker.
    > Ob man nun Properties schreibt oder Getter/Setter
    > generieren lässt, macht funktional doch keinen
    > Unterschied.

    Genauso wie Hochsprachen eigentlich nur Augenzucker gegenüber Assembler sind.

    > Man gewöhne sich einfach an die jeweiligen
    > Techniken zu benutzen. C# -> Properties, Java
    > -> Getter/Setter...

    Ich mag Augenzucker und verabscheue Klammeritis für einfache Zuweisungen.
    In Java sieht eine Zuweisung einfach nicht mehr wie eine Zuweisung aus, sondern versteckt sich in einem Funktionsaufruf (Klammern).

    > Es bleibt zwar immer ein komischer Beigeschmack
    > wenn ich Properties benutzte, denn es sieht auf
    > den ersten Blick immer so aus, als wäre der Member
    > public, aber ich komme auch aus einer der tiefsten
    > Java-Ecken...

    Das hat mit public / protected etc. doch nichts zu tun.

    Auto.Color = Color.Red

    ist nun mal lesbarer und klarer als
    Auto.Color.Set(Color.Red)
    Oder geht nur mir das so?
    Java ist da sowas von retro...

    Benutzer wird von Ihnen ignoriert. Anzeigen

  10. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor MsTroll 17.10.08 - 12:52

    titrat schrieb:
    > Ich mag Augenzucker und verabscheue Klammeritis
    > für einfache Zuweisungen.
    > In Java sieht eine Zuweisung einfach nicht mehr
    > wie eine Zuweisung aus, sondern versteckt sich in
    > einem Funktionsaufruf (Klammern).
    >
    > Auto.Color = Color.Red
    >
    > ist nun mal lesbarer und klarer als
    > Auto.Color.Set(Color.Red)
    > Oder geht nur mir das so?

    Geht nicht nur Dir so, denke mir dasselbe.



    Benutzer wird von Ihnen ignoriert. Anzeigen

  11. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor umgekehrt 17.10.08 - 13:25

    titrat schrieb:
    -------------------------------------------------------
    > In Java sieht eine Zuweisung einfach nicht mehr
    > wie eine Zuweisung aus, sondern versteckt sich in
    > einem Funktionsaufruf (Klammern).

    Umgekehrt wird ein Schuh draus: In C# sieht ein Methodenaufruf nicht mehr wie ein Methodenaufruf aus, sondern versteckt sich hinter einer Zuweisung.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  12. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor slawaweis 17.10.08 - 13:56

    titrat schrieb:
    -------------------------------------------------------
    > Das hat mit public / protected etc. doch nichts zu
    > tun.
    >
    > Auto.Color = Color.Red
    >
    > ist nun mal lesbarer und klarer als
    > Auto.Color.Set(Color.Red)
    > Oder geht nur mir das so?
    > Java ist da sowas von retro...

    in Java wäre es "auto.setColor(Color.RED)". Direkte Zuweisungen von Objekteigenschaften sind böse. Ohne die konkrete Sprache zu kennen, ist in diesem Fall "Auto.Color = Color.Red" auf den ersten Blick nicht klar, ob es eine Zuweisung zu einer Referenz ist oder ob der Inhalt beider Color Objekte zwischeneinender kopiert wird. Dazu kommen ein paar Eigenschaften hinzu, die man beachten sollte. Was ist, wenn Auto.Color nicht initialisiert ist, d.h. gleich null ist? Was ist wenn Auto.Color gar nicht verändert werden darf? Was ist wenn Auto.Color keine null Werte annehmen darf? Was ist wenn Auto.Color nur bestimmte Werte, wie Color.Blue und Color.Black, annehmen darf? Wenn man von Anfang an mit Get/Set Funktionen arbeitet, vermeidet man diese möglichen Fehler. Weiterhin geht es um Selbstdokumentation und da finde ich solche Sachen wie "Auto.setCarBodyColor(CarBodyColor.getColor("Sahara"))" viel angenehmer zu lesen und zu verstehen, als eine Zuweisung. Weiterhin kann in der Set-Funktion der Wert auf Gültigkeit überprüft werden.

    Slawa

    Benutzer wird von Ihnen ignoriert. Anzeigen

  13. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor Ekelpack 17.10.08 - 14:14

    titrat schrieb:
    -------------------------------------------------------
    > Das hat mit public / protected etc. doch nichts zu
    > tun.

    Naja... es sieht so aus, als würde man dem Member direkt etwas zuweisen, was natürlich quatsch wäre, da direkter Zugriff von außen auf die Member eines Objekts ein totales No-Go ist.


    > Auto.Color = Color.Red
    >
    > ist nun mal lesbarer und klarer als
    > Auto.Color.Set(Color.Red)
    > Oder geht nur mir das so?
    > Java ist da sowas von retro...


    Auto.Color = Color.Red;

    Aus der Syntax wird aber nicht klar, was man da vor sich hat. Das ergibt sich erst aus dem Kontext.

    Ich könnte den Ausdruck aber auch genauso gut

    A.C = C.R;

    schreiben, dann wäre es mit dem Kontext dahin.
    Was ist den nun der Member, was ist eine Konstante? Was davon ist eine Klasse und was ist ein Objekt?

    Es lässt sich einfach nicht ohne weiteres herausfinden.

    In Java erkennt man es sofort.

    auto.setColor(Color.RED);

    oder eben

    a.setC(C.R);

    Benutzer wird von Ihnen ignoriert. Anzeigen

  14. Re: Wieso wird nicht einfach das GUI vom Betriebssystem übernommen?

    Autor ..:::... 17.10.08 - 14:41

    DetlevDevel schrieb:

    > Das Beispiel ist vollkommener Unsinn.

    Du hast den Artikel nicht kapiert!

    Benutzer wird von Ihnen ignoriert. Anzeigen

  1. 1
  2. 2
  3. 3

Neues Thema Ansicht wechseln


Entschuldigung, nur registrierte Benutzer dürfen in diesem Forum schreiben. Klicken Sie hier um sich einzuloggen

In eigener Sache: Bitte schalte deinen Adblocker aus!
In eigener Sache
Bitte schalte deinen Adblocker aus!

Viele Nutzer betrachten Adblocker als legitime Notwehr gegen die aggressive Werbung im Netz. Für Websites wie Golem.de ist das ein großes Problem. Am Ende verlieren alle. Suche nach Auswegen aus dem Dilemma.

  1. In eigener Sache Golem.de und das Leistungsschutzrecht

XPS 10 und Surface: Deutliche Preissenkungen bei Windows-RT-Tablets
XPS 10 und Surface
Deutliche Preissenkungen bei Windows-RT-Tablets

Zwei Hersteller von Windows-RT-Tablets haben die Preise ihrer Geräte gesenkt, für einige deutlich. Dell senkt die Preise direkt um ein Drittel und Microsoft gibt das ziemlich teure Type oder Touch Cover dazu. Die nächste RT-Generation soll sogar noch billiger werden.

  1. Microsoft Verkauf des Surface Pro startet am 31. Mai
  2. Neue Firmware Update macht das Surface RT lauter
  3. Windows-Tablet Microsoft wird neue Surface-Serie ankündigen

Blackberry Z10 im Langzeittest: Tausche Android gegen Blackberry
Blackberry Z10 im Langzeittest
Tausche Android gegen Blackberry

Mit dem Z10 versucht Blackberry ein Comeback im Smartphone-Markt. Auch Android-Anwendungen lassen sich auf dem Gerät installieren. Golem.de-Autor Tobias Költzsch hat zwei Wochen lang sein Galaxy S3 gegen das Z10 getauscht und im Langzeittest überprüft, wie schwer ein Umstieg ist.

  1. Smartphones Blackberry Q5 im Juli, Blackberry 10.1 wird verteilt
  2. Mobilfunk Fast drei Viertel der Smartphones laufen mit Android
  3. Blackberry-Chef "In fünf Jahren gibt es keine Tablets mehr"

  1. Electronic Arts: Leitender EA-Entwickler bezeichnet Wii U als "Mist"
    Electronic Arts
    Leitender EA-Entwickler bezeichnet Wii U als "Mist"

    Erst erklärt Electronic Arts, keine Spiele mehr für die Wii U produzieren zu wollen, nun schimpft ein leitender Entwickler über die Konsole. Immerhin: Ein anderer Publisher stärkt Nintendo den Rücken.

  2. Apple-Zulieferer: Wieder drei Suizide bei Foxconn
    Apple-Zulieferer
    Wieder drei Suizide bei Foxconn

    Nahezu zeitgleich mit dem positiven Bericht einer von Apple beauftragten Organisation über die Arbeitsbedingungen bei Foxconn, berichtet die unabhängige Gruppe China Labor Watch über Suizide im Werk in Zhengzhou.

  3. Cast AR: Gefeuerte Valve-Entwickler zeigen Räumliche-Objekte-Brille
    Cast AR
    Gefeuerte Valve-Entwickler zeigen Räumliche-Objekte-Brille

    Zwei ehemalige Valve-Mitarbeiter haben auf einer Entwicklermesse eine revolutionäre AR-Brille gezeigt. Damit sollen sich computergenerierte Objekte räumlich korrekt in die Echtwelt einblenden lassen.


  1. 14:15

  2. 13:48

  3. 12:33

  4. 14:00

  5. 12:39

  6. 10:41

  7. 10:05

  8. 10:02