Avatar billede windcape Praktikant
22. november 2008 - 16:31 Der er 7 kommentarer og
1 løsning

GUI udvikling in 2008

Hej

På min uddanelse er vi tvunget til at arbejde i java, og desværre også til at udvikle GUIs.

GUI udvikling er horribelt, at skrive det i hånden er definitivt for langtsomt til store projekter, og hver eneste Visuelle Editors jeg har kunne finde har enten været noget ekstremt skrammel som producerede lortekode , eller ting som ikke er blevet opdateret i 4-8 år.

Så jeg ville høre hvordan industrien rent faktisk udvikler GUIs i Java, hvilket værktøjer bliver det brugt, og hvilken arkitektur bliver der typisk benyttet sammen med det?

Vi snakker end-user GUI til windows platformen.

Hvis folk altså overhovedet laver sådanne ting uden for uddanelserne.
Avatar billede arne_v Ekspert
22. november 2008 - 17:20 #1
Nogle løse kommentarer.

Noget i størrelses ordenen af 95% af alle Java GUI laves som web gui - ikke som
desktop app GUI.

Traditionen i Java verdenen er at man selv skriver sin GUI og ikke bruger GUI builder. Eller
det er nok mere korrekt at sige at traditionen udenfor VB6 og .NET verdenen er
at man selv skriver sin GUI.

I store projekter er den tid det tager at taste kode ind ret uinteressant for en projekt omkostnings
betragtning - det er alligevel andre ting som tager tiden.

Hvis du skal lave GUI i Java skal du starte med at beslutte dig for om du vil lave
Swing eller SWT.

SWT er mindre portabelt men virker også mere som en native GUI. Husk dog altid at
sætte L&F for Swing inden du dømmer den ude.

De to mest oplagte muligheder for GUI builder må være NetBeans med Matisse og Eclipse
med VE plugin.

Der laves desktop GUI apps i Java. Bl.a. er NetBeans selv lavet i Swing og Eclipse i SWT.

Men typisk er driveren for at vælge Java til det formål netop portabilitet. F.eks. bruger IBM Java til mange af deres admin værktøjer.

I mit firma satses der primært på web GUI men vi har et par Swing apps og mindst en
SWT app, som har sneget sig ind.
Avatar billede superanden Nybegynder
22. november 2008 - 21:02 #2
Nu er jeg stadigvæk studerende som dig også. Og vi designer vores GUI's i netbeans nok fordi det ikke givet noget ekstra credit at skrive det i hånden når man kan opnå samme resultat.

Og skal igang med at lave et vision system til en robot som har et java interface. Det er også lavet som en swing GUI i Netbeans.
Avatar billede arne_v Ekspert
22. november 2008 - 21:48 #3
Og generelt tror jeg at du vil finde det nemmere, hvis du går mere positivt til opgaven.

Ingen sprog/teknologier er ens, men det er meget sjældent at et sprog/en teknologi er dårligere end et andet på
alle områder. Normalt er det sådan at der er nogle ting som det er bedre til og nogle
ting som det er dårligere til.

Laver du GUI i Java vil du bande over:
- tools support
- memory forbrug
- manglende native look and feel
- klasser som er meget komplekse at bruge

Og det kan man så blive enormt negativ over. Eller man man vælge at fokusere
på nogle af de spændende ting:
- layout manager konceptet
- list & table hvor man virkeligt får lov at lave MVC
- at du faktisk kan køre det på Linux of MacOS X
Avatar billede erikjacobsen Ekspert
22. november 2008 - 21:53 #4
Spændende er også at lave dynamiske kontroller. Altså: i stedet for at sætte 14 knapper på i et værktøj, har man en for-løkke. Måske er det ikke altid 14.

Eller hvis chefen kommer løbende og siger, at vi også skal kunne indtaste og vise folks skostørrelse. Skal du så 20 GUI-er igennem og sætte en ny kontrol ind? Eller har du forberedt koden, så du kun skal ændre en indstilling et sted?
Avatar billede erikjacobsen Ekspert
22. november 2008 - 21:54 #5
(... og chefen kommer altid løbende ... i sidste øjeblik, eller senere ...)
Avatar billede ulrikm Nybegynder
23. november 2008 - 20:46 #6
Jeg har selv siddet på et større projekt og udviklet swing gui nogle år, så jo, det gør man "ude i den virkelige". Med hensyn til at skrive det i hånden, giver det en masse kontrol - du er ikke afhængig af din gui builder, men kun af de rene klasser. Det er en stor fordel på ambitiøse projekter, hvor man gerne vil kunne det hele og lidt til. Det samme kan man sige om swing - det er måske ikke vildt nemt at have med at gøre, men der er heller ikke mange begrænsninger. Begrænsninger kan dog være meget rare, så opgaverne ikke bliver for petitesse-agtige..
Avatar billede windcape Praktikant
05. december 2009 - 17:48 #7
Læg et svar så vi kan få den markeret lukket.
Avatar billede arne_v Ekspert
05. december 2009 - 21:30 #8
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester