Usa un designer della GUI o scrivi tu stesso per il desktop?

8

Scrivere una GUI per un programma è sempre stato un compito scoraggiante, deprimente e frustrante. Non importa quale lingua, è estremamente difficile ottenere quello che voglio. Soprattutto in linguaggi compilati come Java, in cui una modifica richiede un minuto o due per essere costruita.

Il risultato è che utilizzo sempre più i progettisti di GUI per alcuni dei miei progetti. Certo, c'è un codice spagetti, ma finché lascio la configurazione e una nota che dice "Questo è stato progettato con X" non ho remore a farlo.

È un modo corretto di progettare una GUI? Ancora più importante, è questo ciò che fa la maggior parte delle persone? O è il modo comune per sedersi e scriverlo?

    
posta TheLQ 07.01.2011 - 02:43
fonte

8 risposte

6

Non ho mai realmente trovato un visual designer che renda facile creare design robusti (se qualcuno ha qualcosa che gli piace, sentiti libero di correggermi). Sono simpatici per scaricare cose su una finestra a dimensione fissa per prendere in giro le cose, ma quando si tratta di fare qualcosa che si ridimensiona bene, gioca bene con DPI e temi, e tutte le altre cose che separano un'interfaccia utente professionale da un semplice "buono" -senza "uno, onestamente diventano più lavoro di un semplice codifica te stesso (presupponendo un decente framework UI con cui giocare).

I progettisti visivi sono eccellenti per il software di prototipazione rapida, per sperimentare i progetti e giocare per vedere come appaiono le cose, ma non ne userei uno per la build finale.

    
risposta data 07.01.2011 - 03:14
fonte
4

Pianificare nella tua testa e quindi usare penna / carta è il modo più semplice per inizializzare un progetto.

Quando sei pronto per implementare, io uso un designer GUI invece di scrivere a mano. Ad esempio, in Java Swing, con un'interfaccia abbastanza grande, posso immaginare quanto tempo avrei perso facendo tutto a mano e poi modificandolo in seguito. Molto più facile usare un costruttore di GUI come NetBeans Matisse e poi modificare leggermente a mano se necessario.

    
risposta data 07.01.2011 - 08:26
fonte
3

Prima crea la GUI su carta.

Dopo di che uso la modalità di progettazione di Visual Studios per creare la GUI. Facile da creare e ciò che vedi è ciò che ottieni. Inoltre, non è necessario ricostruire solo per visualizzare la GUI.

    
risposta data 07.01.2011 - 13:46
fonte
2

Un designer GUI è una soluzione rapida allettante. Ma sedersi e farlo a mano è un'alternativa migliore per progetti e oggetti che non verranno buttati via più tardi.

In genere trovo il metodo migliore per progettare per prima cosa la GUI sulla carta. Disegna uno schizzo approssimativo di dove saranno i pulsanti e gli altri componenti. Quindi, quando si lavora in un linguaggio come Java che fa uso di vari gestori di layout, riflettere su quali componenti e combinazioni di gestori di layout sarebbero necessari. Tutto questo prima di iniziare a programmarlo. Quindi implementalo pezzo per pezzo.

Se segui il corso di progettazione della GUI ti sentirai come se stessimo compiendo grandi progressi fino a quando non ti avvicinassi alla fine e non riuscissi a far funzionare qualcosa di giusto o dover fare una modifica. Farlo a mano sembra più una tartaruga lenta, ma fornisce un progresso costante. Inoltre, la tua velocità aumenta più lo fai.

    
risposta data 07.01.2011 - 04:21
fonte
1

Come qualcuno ha già detto, è meglio usare solo (a) un foglio di carta comune, alcune note adesive (varie dimensioni), e provare a fare il layout sulla carta, usando le note appiccicose come i controlli (come pulsanti, caselle combinate e così via) (b) un programma di prototipazione come GUI Designer Studio o la matita addon per firefox ...

Poi, dopo la fase di prototipazione, con il layout vicino a te diventa più facile codificare effettivamente l'interfaccia utente, dato che puoi implementare pattern come mvc, mvp e così via, più facilmente poiché i gui editor di solito non ti permettono di cambia il loro codice poiché lo riscriveranno ogni volta che cambierai l'interfaccia.

    
risposta data 18.03.2011 - 11:27
fonte
0

Visio offre una serie di stensili dell'interfaccia utente, quindi sostituisce efficacemente carta e penna, pur offrendo lo stesso approccio progettuale: pensate prima, disegnate secondo, il codice è l'ultimo.

    
risposta data 07.01.2011 - 11:22
fonte
0

In VB6 e Windows Form ho sempre usato il designer, ma in WPF non lo uso mai. Il designer WPF crea terribili XAML, inoltre in WPF mi piace progettare l'interfaccia utente come una serie di widget e lasciare che il framework metta tutto insieme in fase di runtime. Si perde molta flessibilità se si utilizza il designer.

    
risposta data 07.01.2011 - 15:29
fonte
0

Lo vedo più in questo modo:

(Per ognuna di queste opzioni, sempre disegnala su carta o su una lavagna, fidati, risparmia tempo e code frustrazione)

Prototying:
Utilizzare un designer GUI, preferibilmente uno raccomandato dalla maggior parte in una particolare lingua. In questo modo il tuo codice non sarà troppo confuso in cui puoi adattarlo alla maggior parte del tempo e più perché il codice verrà probabilmente gettato via o modificato in seguito, non dovrai perdere troppo tempo presto nel ciclo di sviluppo. L'utilizzo di un designer GUI è utile per applicazioni GUI semplici e rapide o per mostrare al cliente un'immagine approssimativa dell'applicazione in cui non è necessario attendere mesi solo per vedere.

Piccoli progetti:
Questo è un po 'un mix bag, a seconda della lingua e del vincolo temporale. In questo caso, l'utilizzo di un designer della GUI sarebbe utile, ma dovresti prendere in considerazione la possibilità di ripulirlo o creare manualmente componenti più piccoli. In questo modo chiunque altro (o te stesso) avrebbe avuto un tempo più semplice per correggere bug e leggere il codice. Ciò ti aiuterà a ottenere un controllo e una flessibilità migliori della GUI. (Anche un buon vantaggio di imparare mentre si codifica)

Grandi progetti:
Questo è quando diventa essenziale creare manualmente le GUI. I progetti più grandi possono diventare complessi rapidamente e la creazione di GUI con un designer rende il progetto più complesso e più difficile da eseguire il debug. La creazione di un framework GUI per l'applicazione può aiutare a interrompere manualmente l'attività di creazione di una GUI. Il controllo completo della tua applicazione è necessario in quanto aiuterà con la manutenzione o se si desidera aggiungere funzionalità in un secondo momento (o un cliente fastidioso che afferma di aver perso un requisito lol), incorporandoli sarà meno frustrante e più pulito.

Nella mia esperienza personale, imparare a creare una GUI richiede tempo e alcuni richiedono curve di apprendimento impegnative (Heck, programma in Java e il sito tutorial Oracle Java ti mette in guardia dal fare da solo GUI e utilizzare un designer), ma nel ti consente di ottenere un maggiore controllo e flessibilità delle tue applicazioni, che a loro volta creano applicazioni dall'aspetto migliore. Spero che tu usi questo una guida approssimativa decente! Happy GUIing :)

    
risposta data 07.01.2011 - 17:01
fonte

Leggi altre domande sui tag