When designing [[User Interface|user interfaces]], some toolkits allow to use a **declarative approach: defining _what_ we want instead of _how_ we want it done**. This is an easy way of abstracting some details to the toolkit or framework.