[Python-de] Re: [Fwd: Re: Entwicklungsumgebung]
Marco Aschwanden
PPNTWIMBXFFC at spammotel.com
Mit Jul 21 11:46:46 CEST 2004
Hallo
> ..., weil die GUI scheinbar direkt mit der Programmlogik
> verwoben wurde. Und ausserdem isses immer scheisse in nem Quelltext
> rumzupfuschen an dem man nicht selbst aktiv arbeitet.
Hatte genau das gleiche Problem mit Boa. Ich habe lange wxDesigner
(kommerziell) verwendet und bin jetzt bei wxGlade für wxWidgets 8o)
gelandet (http://wxglade.sourceforge.net/). Es produziert gut vererbaren
Gui-Code... ich taste den generierten Code nie an, wenn wxGlade dies auch
zulassen würde. Aber mir scheint der generierte Code gut und logisch
struktiert und man kann immer noch Wünsche einbringen, denn das Teil ist
am Entstehen. Falls einem etwas nicht passt, kann man den Code-Generator
selber anpassen (ebenfalls in Python geschrieben).
> Was ich mich allerdings immer wieder frag - was finden die Leute an
> solchen Baukaestensystemen fuer GUIs so toll? Welchen Vorteil bringt es
> sich fuer die Konstruktion der GUI vom Quelltext zu loesen? Man muss ja
> nicht direkt in der WinApi programmieren, aber soviel zu tippen ist ja
> nun wxPython[1] wirklich nicht. Dafuer entspricht der Quelltext dann
> auch den eigenen Konventionen...
In einer Entwicklungsphase ist man schneller mit einem Designer. Ein Gui
konsistent zu halten, das man im Blickfeld hat ist einfacher als 200 - 300
Zeilen GUI-Code herumzuschieben. Unabhängigkeit (Ich will nicht abhängig
sein von einem GUI-Designer) wäre für mich das einzige Argument, um von
einem Designer Abstand zu nehmen. Im Fall von Python, ist der generierte
Code jedoch einsichtig und selber von Hand anpassbar (JBuilder hat das
auch sehr schön gelöst). Das XRC-Format garantiert Portabilität zu andern
Designern und wird dadurch natürlich auch "upgradable". Ich muss nicht
auch noch die Fehler im GUI-Design suchen, sondern kann mich auf die
Implementation der Logik konzentrieren.
Der generierte Code folgt strengen Richtlinien, die man im Team sonst
schwerlich umsetzen könnte (jeder hat so seine Konventionen).
> btw gibs hier noch jemanden, der zum programmieren ausschliesslich vim
> verwendet? *g*
Nein. Ich oute mich als Weichei. Ich arbeite für Python mit WingWares
WingIDE (kommerziell) weil WingIDE die beste Code-Completion für Python
bietet. Gerade wenn man mit so grossen Bibliotheken arbeitet wie
wxWidgets, dann bin ich um jede "IntelliSense" Technologie dankbar. Wenn
bereits erfasste Variablen beim Tippen automatisch übernommen werden
können, oder wenn automatisch der Doc-String einer Methode/Funktion
angezeigt wird, oder fehlende Klammern, ungültige Vergleiche und anderes
mehr gleich beim Eintippen angezeigt wird, dann ist das enorm hilfreich
und macht mich noch produktiver! Aber eben, ich bin ein Weichei, dass sich
weder mi vi noch mit emacs anfreunden konnte.
Have fun,
Marco