Cos'è l'IU dichiarativa?


16

Continuo a vedere questo termine gettato nei blog sui framework. Mentre comprendo la differenza tra programmazione dichiarativa e imperativa, come si applica specificamente all'interfaccia utente? Perché sembra esserci un termine speciale per questo? Sono queste 'cose' diverse? In tal caso, qual è l'alternativa all'interfaccia utente dichiarativa e perché dovrei usarla?


1
@Telastyn. Imperativo e dichiarativo sono cose molto diverse. È "cosa" vs "come". Un layout HTML sarebbe dichiarativo. Una sequenza di istruzioni di disegno sarebbe indispensabile.
mike30,

@mike: l'OP ha chiesto se l'interfaccia utente imperativa / dichiarativa fosse diversa dalla programmazione imperativa / dichiarativa. Loro non sono.
Telastyn,

@Telastyn L'OP chiede la differenza tra l'interfaccia utente dichiarativa e l'interfaccia utente <foo> (come "interfaccia utente imperativa") e se esiste anche un'alternativa all'interfaccia utente dichiarativa.
Izkata,

Risposte:


14

"UI dichiarativa" significa che descrivi in ​​un qualche tipo di linguaggio quali elementi sono necessari nella tua UI e in una certa misura come dovrebbero apparire, ma puoi tralasciare dettagli come la posizione esatta e lo stile visivo degli elementi. Ad esempio, in HTML puoi descrivere che desideri un campo di input, ma come e dove questo campo verrà posizionato nell'interfaccia utente dipende in larga misura dal browser che stai utilizzando.

Oggi, il termine è più spesso usato per i framework dell'interfaccia utente con una rigorosa separazione dell'aspetto dell'interfaccia utente dal comportamento, il che significa che il codice reagisce agli eventi dell'interfaccia utente. Ad esempio, usando XAML, dichiari l'aspetto dell'interfaccia utente in un dialetto XML specifico, ma implementi il ​​comportamento in un codice di programma separato.


1
Buona risposta. Nitpick: se vengono specificati dettagli come la "posizione esatta" o no, è ortogonale al divario dichiarativo / imperativo. Tuttavia, in pratica l'approccio di lasciare che il computer gestisca i dettagli è più comune nei sistemi dichiarativi (anche se non sono sicuro del perché).
sleske,

8

L'interfaccia utente dichiarativa è un'interfaccia utente progettata in modo dichiarativo (descrivi come dovrebbe essere) piuttosto che in modo imperativo (codifica i passaggi per crearla.) Non è davvero nulla di speciale o insolito; è in circolazione almeno dagli anni '90, quando hai avuto Visual Basic e Delphi con progettisti di moduli visivi che ti permettevano di strutturare l'interfaccia utente del tuo programma in modo intuitivo e WYSIWYG.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.