7 Eylül 2014 Pazar

JSF ve PrimeFaces 1 - Giriş


Java Server Faces(JSF) java ile web uygulamaları geliştirmek üzere hazırlanmış bir framework tür.  JSF ile kolay bir şekilde dinamik web sayfaları oluşturabiliriz. Aşağıda ise internetten derlediğim JSF bilgileri yer almaktadır;

  •        Model-View-Controller(MVC) yapısına uygundur
  •       Java ile geliştirildiği için nesne tabanlı uygulamadır
  •       Hibernate , Spring gibi teknolojilerle çalışabilmektedir
  •       Açık kaynak olduğu için lisans maliyeti gerektirmez
  •       Componentler sayesinde kolay bir şekilde kullanıcı ara yüzleri oluşturabiliyoruz
  •       Servlet ve JSP mimarileri üzerine inşa edilmiştir


JSF  ile web projeleri oluşturmak için benim kullandığım IDE NetBeans’tir. Sebebi ise JSF için gerekli kütüphane ve ayarların hazır halde gelmesi ve Glasfish server’ın NetBeans ile otomatik bilgisayarımıza yüklenmesidir. Sizlere de tavsiyem NetBeans kullanmanızdır. NetBeans ’i resmi sitesinden Java EE veya All seçeneklerinden birisini indirip kurabilirsiniz. Eclipse ile de aynı iş yapılabilir ama ayarlar  , eklentiler , kütüphaneler derken sizi fazla yoracağını söyleyebilirim.

JSF ile web sayfaları oluşturacağımız için doğal olarak bilgisayarımızda bir yerel Server kurulu olması gerekiyor. JSF ile çalışırken Tomcat , Glassfish , JBoss gibi birçok server seçeneği mevcut.  Ben bunlardan Glassfish Server ile öğrenmeye başladım. Kodlar düzgün yazıldığı zaman sorunsuz çalışıyor. Glassfish'in admin paneli de Tomcat'e göre oldukça kapsamlı(benim kanaatim , yanlışta olabilir!) 

JSF etiketleri HTML e çok benzemektedir. Bunun yanı sıra JSF’nin güzel bir özelliği de HTML kodlarını direk JSF içerisine eklediğimizde sorunsuz çalışmasıdır. 

JSF öğrenmeye başlamayı düşünüyorsanız size tavsiyem öncelikli olarak HTML ve CSS’e hakim olmanızdır. Bu ikisi zatan web için olmazsa olmazlardır.

JSF içerisinde çeşitli hazır komponentler mevcut. Bunlar kendi içlerinde ayrılıyor ve her birinin kendine has kütüphaneleri var. Bunlar PrimeFaces , ICEFaces ve RichFaces gibi liste uzayıp gidiyor. Bunlar birbirinden farklı sayıda hazır komponentler içerir.  En yaygın olarak kullanılanı PrimeFaces  ‘ tir. Özelliği 120 ye yakın(ileride kesin sayı artacaktır) hazır komponentin mevcut olması ve kolay kullanılabilmesidir. Resmi sitesini incelerseniz Dünya genelinde bir çok ünlü firmanın PrimeFaces’i tercih ettiğini görebilirsiniz.

PrimeFaces ’in Türkler tarafından geliştiriliyor olması da ayrı bir gurur kaynağıdır. PrimeFaces temel çıkış noktası  web projelerinde CSS ve Javascript için ayrılan zamanın kısaltılabilmesi için hazır css/javascript li komponentler hazırlanmasıdır. Yani normal bir web sitesi için bir buton ekleyip birde ona has CSS/Javascript kodu yazmamız gerekiyor ama PrimeFaces sayesinde sadece butonu JSF içerisine eklememiz yeterli oluyor. Ayrıca PrimeFaces sayesinde JSF projemize tema da ekleyebiliyoruz. Bunu daha sonraki yazılarımızda anlatırız.  Peki PrimeFaces CSS/Javascript ile işimizi kolaylaştırıyor o zaman CSS bilmeye ne gerek var diyebilirsiniz. Burada sayfalarımıza ekleyeceğimiz komponentlerin yerini  “div” ile sayfa iskeleti oluşturup CSS kodları ile de ekrandaki yerleşimlerini düzenliyoruz. PrimeFaces’te bunun içinde çözüm mevcut ama CSS kullanmanın  sayfa yerleşimini ayarlamada daha isabetli olcağını düşünüyorum.

JSF ile proje geliştirebilmek için aynı anda NetBeans , Glassfish Server , Web Tarayıcı(Chrome , Mozilla, …) ve SQL Server kullanacağımız için RAM miktarımızın en az 2 GB olması rahat çalışabilmemiz için gereklidir. Bunu kendi tecrübe ve gözlemlerime dayanarak söylüyorum yine de aklınızda olsun. Windows işletim sistemleri hiçbir iş yapmadığı halde 500 MB ile 1 GB arası RAM tüketiyor. Linux ise çoğu zaman 250 MB ile 500 MB RAM tüketiyor. Bu yüzden Linux ortamında daha verimli çalışılabilir.(Mac bizi aşar :) )


Şimdilik bu kadar. Aşağıda Netbeans ile nasıl JSF projesi oluşturulduğunu Windows üzerinde gösterdiğim bir video ekledim. Video kayıt yaparken biraz bilgisayar yavaşlıyor idare edin artık. Linux için Glassfish Server çalıştırmanıza gerek yok direk proje oluşturup başlayabilirsiniz.


0 yorum:

Yorum Gönder