Apa itu UI Deklaratif?

16

Saya terus melihat istilah ini dilontarkan di blog tentang kerangka kerja. Sementara saya memahami perbedaan antara pemrograman deklaratif dan imperatif, bagaimana hal ini berlaku khusus untuk UI? Mengapa ada istilah khusus untuk itu? Apakah ini 'hal' yang berbeda? Jika demikian, apa alternatif untuk UI Deklaratif dan mengapa saya ingin menggunakannya?

MrFox
sumber
1
@ Telastyn. Imperatif dan deklaratif adalah hal yang sangat berbeda. Ini adalah "apa" vs "bagaimana". Tata letak HTML akan bersifat deklaratif. Urutan instruksi menggambar akan sangat penting.
mike30
@mike: OP bertanya apakah imperative / declarative UI berbeda dari pemrograman imperative / declarative. Mereka tidak.
Telastyn
@Telastyn OP menanyakan perbedaan antara UI deklaratif dan UI <foo> (seperti "imperatif UI"), dan apakah ada alternatif untuk deklaratif UI.
Izkata

Jawaban:

14

"Deklaratif UI" berarti Anda mendeskripsikan dalam beberapa jenis bahasa elemen apa yang Anda butuhkan di UI, dan sampai taraf tertentu seperti apa bentuknya, tetapi Anda dapat meninggalkan detail seperti posisi dan gaya visual elemen yang tepat. Misalnya, dalam HTML Anda dapat menjelaskan bahwa Anda menginginkan bidang input, tetapi bagaimana dan di mana bidang ini akan ditempatkan di UI sangat tergantung pada browser yang Anda gunakan.

Saat ini, istilah ini lebih sering digunakan untuk kerangka kerja UI dengan pemisahan ketat tampilan UI dari perilaku, yang berarti kode bereaksi terhadap peristiwa UI. Misalnya, menggunakan XAML, Anda menyatakan tampilan UI Anda dalam dialek XML tertentu, tetapi Anda menerapkan perilaku dalam kode program yang terpisah.

Doc Brown
sumber
1
Jawaban yang bagus. Nitpick: apakah detail seperti "posisi persis" ditentukan atau tidak, ortogonal dengan pembagian deklaratif / imperatif. Namun, dalam praktiknya pendekatan membiarkan komputer menangani detail lebih umum dalam sistem deklaratif (meskipun saya tidak yakin mengapa).
sleske
8

UI deklaratif adalah UI yang dirancang dengan cara deklaratif (Anda menggambarkan seperti apa seharusnya) daripada cara imperatif (Anda membuat kode langkah-langkah untuk membuatnya.) Benar-benar tidak ada yang istimewa atau tidak biasa; sudah ada sejak setidaknya tahun 1990-an, ketika Anda memiliki Visual Basic dan Delphi dengan desainer bentuk visual yang memungkinkan Anda mengeluarkan antarmuka pengguna program Anda dengan cara WYSIWYG yang intuitif.

Mason Wheeler
sumber