WIndows Presentation Foundation (WPF) adalah salah satu fitur dari .Net Framework 3.0 yang didesain untuk mengganti fungsi Graphics Device Interface (GDI). WPF dibuat berdasarkan DirectX sehingga membuat User Interface (UI) yang transparan, tombol yang unik, manjadi hal yang mudah. WPF dapat dibuat dengan menggunakan Extensible Application Markup Language (XAML), yaitu XML yang khusus digunakan untuk pembuatan WPF. Dalam pembuatan WPF, setiap file XAML memiliki Code Behind masing-masing sehingga dapat terlihat jelas pemisahan antara bagian desain dengan bagian business logic. Aplikasi WPF dapat dibuat di Desktop sebagai Desktop Application dan dapat juga di-hosting di sebuah web server. Aplikasi WPF yang dihosting di sebuah web server harus menggunakan Microsoft Silverlight, yaitu fitur yang merupakan bagian dari WPF untuk membuat aplikasi mirip Flash.

Sebenarnya sudah cukup lama WPF beredar, tetapi saya baru saja mengetahuinya beberapa bulan ini, dan menurut saya, WPF adalah sesuatu yang luar biasa untuk membuat UI yang interaktif dan menarik. Saya mencoba membuat sebuah aplikasi login sederhana (desktop application, bukan website) menggunakan WPF dan berikut adalah hasilnya:

loginWarna dari form tersebut adalah Gradient dari hitam ke putih dan transparan dengan opacity 85%. Saya mendesainnya dengan menggunakan Microsoft Expression Blend 2, sedangkan untuk masalah coding, menggunakan Visual Studio 2008 dengan bahasa pemrograman C# .Net. Salah satu hal yang menurut saya tidak mungkin dilakukan bila menggunakan GDI yang lama adalah penggunaan Timeline. Seperti halnya flash, WPF juga menyediakan fungsi untuk penggunaan Timeline. Contohnya adalah sebagai berikut:

login2Pada gambar di atas, mouse sedang berada di atas textbox. Kata Username akan berubah dari kecil dan membesar menjadi seperti gambar di atas dalam waktu 0,3 detik. Warna pada textbox juga berubah dari putih menjadi abu-abu muda dalam waktu 0,3 detik.

Bagaimana menurut Anda? Apakah menarik?