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?