JSF Nedir? Neden JSF tercih edilir?

Bu yazının amacı JSF’in ne olduğundan, kullanım kolaylıkları ve dezavantajlarından bahsetmek.

JSF Nedir?

JavaServer Faces, sunucu tarafında kullanıcı arayüzü(ui) oluşturmayı sağlayan web frameworkudur. Kullanıcı arayüzünde yer alan widgetlar ile istemci tarafındaki olayı(event), verinin kaynağına(data source) bağlamaya ve sunucu tarafındaki olayları handle etmeyi sağlar. Kısacası uygulamanın görünümüyle ilgilenir ve sunucu tarafında çalışır.

Bir web uygulamasındaki JSF Framework’unun konumu

Avantajları neler?

  • Internatization (i18n) - Uygulamanıza dil desteğini ekleyebilirsiniz.
  • Convertion (Veriyi dönüştürme) - Kullanıcı, forma bir veri girdiğinde belirli bir formata çevirerek kaydetmeyi veya belirli format ile kullanıcıya veriyi sunulabilmektedir.
  • Validation (Veriyi doğrulama) - ‘Bu alan gereklidir’, ‘Bu alan sayı olmalıdır’, ‘Bu alanın limitleri olmalıdır’ ya da ‘Bu alan tanımlanan regex ifadesine göre değer almalıdır’ gibi durumlar oluşturulabilir.
  • Error handling - Veriyi dönüştürme veya doğrulama esnasında kullanıcıya hatasını söyleyebilirsiniz.
  • AJAX desteği - Bu özellik JSF’in tercih edilmesindeki en büyük sebeblerden biri olabilir. Çünkü AJAX’ı kullanmak pratik.
  • JavaScript - Kendi oluşturduğunuz Js kodunuzu kullanarak uygulamayı zenginleştirebilirsiniz.
  • Custom component - Birden fazla yer de kullandığınız componentleri customize edebilirsiniz.
  • Facelets - Web uygulamanızı bir konumda bulunan tema üzerinden yönetebilirsiniz, her sayfa için değişiklik yapmanıza gerek kalmaz.
  • Open-source kütüphaneler var. Bunlar; Primefaces(şu an en meşhur olanı), Icefaces, Richfaces

Dezavantajları neler?

Componentler, frontend teknolojileri gibi istemci tarafta çalışmaz, sunucu üzerinde çalışır. Uygulama, binler için değil milyon için geliştirilen bir uygulama olduğunda maaliyetli olucaktır. Bu yüzden daha çok kurumsal ve zaman konusunda kısıtı olan projelerde kullanılır.