È realistico utilizzare i designer per l'interfaccia utente complessa [chiusa]

2

Quando ho creato la mia prima applicazione web pochi anni fa, ricordo di aver provato a utilizzare il designer in VS 2008. Prima di ricordare, l'ho abbandonato a favore del debug effettivo per capire come sarebbe realmente la mia UI.

Da allora, ho dato qualche altro scatto ma non ero mai convinto che fosse persino possibile creare un'interfaccia utente complessa con esso.

Quanti designer hanno fatto progressi negli ultimi anni? Ci sono designer che possono abilitare la visualizzazione in tempo reale di un'interfaccia utente altamente complessa? è un linguaggio di programmazione / dipendente dal framework?

Grazie.

    
posta Yosi Dahari 16.10.2013 - 22:56
fonte

2 risposte

4

Avere uno strumento di progettazione dell'interfaccia utente semplifica enormemente il processo di progettazione dell'interfaccia utente per la maggior parte degli sviluppatori. Gli strumenti di progettazione aiutano gli sviluppatori a visualizzare ciò che stanno creando e scrivono parte del codice per loro. Ma se già ti senti produttivo hacking quel codice a mano, più potere per te.

XAML è probabilmente la cosa più vicina all'interfaccia utente indipendente dalla lingua di Microsoft. Dato il paradigma "molti linguaggi" adottato da Microsoft quando hanno creato .NET, XAML è stata una scelta naturale. Puoi anche manipolare un'interfaccia utente XAML in VB.NET come in C # o in qualsiasi altro linguaggio .NET.

Ciò che vedi come complessità in un designer è per lo più necessario. Ogni controllo su un modulo può avere da 40 a 50 proprietà, che vanno da associazioni di eventi a dimensioni e posizione in un contenitore. Avere questo livello di complessità assicura di avere la flessibilità necessaria per modellare l'interfaccia utente per la tua visione particolare.

La vera scelta da fare non è il designer di per sé, ma la tecnologia di base. Scegli un'interfaccia proprietaria ma matura come WPF o uno standard aperto come HTML5? I designer, da quello che ho visto, non sono poi così diversi l'uno dall'altro. Tutti hanno pagine di proprietà, superfici di progettazione, ecc.

Personalmente mi sparerei se non avessi un designer. Anche la più semplice delle forme di Windows coinvolge dozzine di centinaia di righe di codice boilerplate, codice che non devo scrivere a mano se sto usando un designer. Un semplice esempio di qualcosa che non vuoi dover codificare a mano: la posizione di un controllo su un modulo. Perché stimare i numeri di posizione X e Y quando puoi semplicemente trascinare il controllo nella posizione corretta sul modulo e farlo allineare automaticamente con altri controlli o eseguire lo snap ad una griglia?

In realtà, sono un grande fan del codice che genera un'interfaccia utente tramite i modelli. Creare un'interfaccia utente dettagliata è molto noioso per la maggior parte degli sviluppatori di software, sia che tu stia utilizzando un designer o meno, quindi se posso dare a un generatore di codice una tabella o una serie di tabelle e avere un codice modello, genera un'interfaccia utente sensibile per me, perché no?

    
risposta data 16.10.2013 - 23:24
fonte
1

Penso che anche sulle interfacce più complesse, trascorrerai una piccola parte del tuo tempo a progettarlo, a mano o utilizzando un designer.

Per quanto riguarda i nuovi designer dell'interfaccia utente, non ho familiarità con i prodotti Microsoft, ma se sei interessato a quelli cross-platform, Qt Designer e Stetic sono gli unici rilevanti (anche Glade, ma probabilmente ne hai sentito parlare) .

Qt Designer è un ottimo progettista dell'interfaccia utente a mio parere - è molto versatile nel permettere di disporre i widget in modo WYSWIG e non vedo perché non sarebbe possibile scrivere interfacce utente complesse. Dal momento che è possibile creare sottoclassi di qualsiasi widget, è possibile eseguire praticamente tutti i progetti in Qt Designer. Inoltre è integrato in Qt Creator, un IDE C ++ piuttosto buono (ovviamente, se usi VS probabilmente non lo useresti). Inoltre, Qt funziona praticamente su tutto. L'unica cosa che potrebbe distoglierti Qt è il suo compilatore Meta-Object. Personalmente non ho alcun problema con esso, anche se di solito non mi piacciono questi abusi di pre-elaborazione.

Per quanto riguarda Stetic, non è male, ma se sei uno sviluppatore di Windows e vuoi fare cose WinForms, Stetic non è un'opzione. Non ho nulla contro GTK # ma, a differenza di WinForms, ovviamente non è stato progettato specificamente per .NET, quindi temo che potrebbe non piacervi. Usare Glade + Vala (un linguaggio simile a C # progettato specificamente per GObject / Glib) è probabilmente una scelta migliore.

    
risposta data 16.10.2013 - 23:52
fonte