Qu'est-ce que l'interface déclarative?

16

Je continue de voir ce terme jeté dans les blogs sur les frameworks. Bien que je comprenne la différence entre la programmation déclarative et impérative, comment cela s'applique-t-il spécifiquement à l'interface utilisateur? Pourquoi semble-t-il y avoir un terme spécial pour cela? S'agit-il de «choses» différentes? Si oui, quelle est l'alternative à l'interface déclarative et pourquoi voudrais-je l'utiliser?

MrFox
la source
1
@Telastyn. Impératif et déclaratif sont des choses très différentes. C'est «quoi» vs «comment». Une mise en page HTML serait déclarative. Une séquence d'instructions de dessin serait impérative.
mike30
@mike: L'OP a demandé si l'interface utilisateur impérative / déclarative était différente de la programmation impérative / déclarative. Ils ne sont pas.
Telastyn
@Telastyn L'OP demande la différence entre UI déclarative et <foo> UI (comme "UI impérative"), et s'il existe même une alternative à UI déclarative.
Izkata

Réponses:

14

"UI déclarative" signifie que vous décrivez dans une sorte de langage les éléments dont vous avez besoin dans votre interface utilisateur, et dans une certaine mesure à quoi ils devraient ressembler, mais vous pouvez omettre des détails comme la position exacte et le style visuel des éléments. Par exemple, en HTML, vous pouvez décrire que vous voulez un champ de saisie, mais comment et où ce champ sera placé dans l'interface utilisateur dépend fortement du navigateur que vous utilisez.

Aujourd'hui, le terme est plus souvent utilisé pour les cadres d'interface utilisateur avec une séparation stricte de l'apparence de l'interface utilisateur du comportement, ce qui signifie que le code réagit aux événements d'interface utilisateur. Par exemple, en utilisant XAML, vous déclarez l'apparence de votre interface utilisateur dans un dialecte XML spécifique, mais vous implémentez le comportement dans un code de programme distinct.

Doc Brown
la source
1
Bonne réponse. Nitpick: que des détails comme la «position exacte» soient spécifiés ou non, est orthogonal à la division déclarative / impérative. Cependant, dans la pratique, l'approche consistant à laisser l'ordinateur gérer les détails est plus courante dans les systèmes déclaratifs (mais je ne sais pas pourquoi).
sleske
8

L'interface utilisateur déclarative est une interface utilisateur conçue de manière déclarative (vous décrivez à quoi elle devrait ressembler) plutôt que de manière impérative (vous codez les étapes pour la créer). Ce n'est vraiment rien de spécial ou inhabituel; il existe depuis au moins les années 1990, lorsque vous aviez Visual Basic et Delphi avec des concepteurs de formulaires visuels qui vous permettent de disposer l'interface utilisateur de votre programme de manière intuitive et WYSIWYG.

Mason Wheeler
la source