Java Server Faces adalah sebuah spesifikasi terbaru dari SUN untuk sebuah pembuatan web yang ber MVC, dan Component based.
Maksudnya??
Saat ini ASP.NET sangat terkenal akan kemudahannya dalam membuat sebuah web pages, tetapi alasan utama menurut saya adalah dikarenakan dia telah mengadopsi component based web design, sehingga pengguna dapat menambahkan sesuatu kepada web nya hanya dengan drag & drop / menambahkan dll, kemudian di load.
kemudian SUN pun mencobanya, dan menambahkan sesuatu yang tidak dirancang/ diketahui penggunaanya pada ASP.NET, yaitu sebuah konsep MVC
apa sih MVC, kenapa dia beda dengan ASP.NET ( saat ini ASP.NET dengan konsep MVC telah hadir namun ASP.NET dirancang tanpa memperhitungkan konsep MVC )
ASP.NET pada dasarnya dirancang untuk menggunakan cara Code Behind => Memisahkan antar kode visual/tampilan, dengan kode logika
Kalau MVC, tuh ditambahkan satu lagi yaitu setting alur perpindahan (mungkin sedikit layak disebut site map)
Jadi ketika menggunakan ASP.NET atau non MVC, semua url/ result redirect, ditaruh dalam kode program. masalah terjadi ketika orang ingin memindahkan alamat redirect tersebut ke halaman lain, tanpa ingin membuka kode logika yang isinya ratusan barus, dan belum juga tambahan atrribut string. waah repot deeh..
Ketika menggunakan JSF, result function untuk redirect, hanya berupa sebuah String. dan hasilnya disimpan / di mapping pada sebuah XML (dan dipermudah lagi dengan adanya visual editor untuk file xml tersebut pada IDE ), sehingga alur perpindahannya sangat mudah untuk diatur, dan pengguna dapat bisa langsung melihat arus perpindahan / site map pada sebuah situs.
dengan penggunaan komponen maka pembuatnya dapat menambahkan AJAX tanpa coding javascript, atau menambahkan dengan component yang ada di internet seperti calendar, web editor, dll
dan Binding dengan value/attribute antara komponen visual dan non visual menggunakan EL (Expression Language) sehingga di sini coding juga dipermudah, namun dengan konsekuensi si desainer visual harus memiliki kesepakatan dengan programmer, mengenai nama value.
Yah segini Saja apa yang bisa saya sampaikan.
Mohon komentar untuk kekurangannya.