JavaServerFaces vs SpringMVC


 springmvc

kadang memang sangat menarik jika membandingkan dua buah teknologi yang bisa dibilang teknologi itu memang sedang hot atau dengan kata lain teknologi tersebut sedang banyak digrandrungi. contoh saja, grails vs rails, oracle vs sqlserver, java vs .net, dan lain sebagainya.

jsf

namun, kadang tidak semua perbandingan teknologi tersebut bisa menjadi tolok ukur untuk kita untuk men-judge teknologi-teknologi tersebut. alangkah baiknya perbandingan teknologi tersebut dapat menjadikan kita lebih bijak dalam menggunakan suatu teknologi. kenapa? kareng tidak ada teknologi yang bagus dalam segahal, pasti ada kekurangan dan kelebihannya dibandingkan dengan teknologi yang lainnya.

kali ini saya akan cuba membandingkan dua buat framework web java yang sangat populer, yaitu java server faces dan springmvc…

jika dilihat dari segi teknologi, sebenarnya jsf dan springmvc merupakan teknologi yang berbeda, walaupun memang tujuannya untuk Web MVC. JSF merupakan teknologi yang berbasis Komponen, bahkan jsf disebut-sebut sebagai Swing for Web. sedangkan untuk springmvc teknologi ini memang murni menggunakan mvc yang dalam artian ini tidak menggunakan paradigma lain.

jika anda pertama kali belajar jsf dan springmvc, saya akan pastikan kalo anda akan cepat mengerti dengan jsf, why? pertama memang jsf itu sangat mudah, bahkan kita hampir tidak menyentuh koding untuk web. seperti parsing request dan respon, lalu mengolah session. sehingga bagi yang sudah mahir dengan java desktop, maka akan sangat mudah sekali untuk menggunakan jsf

berbeda dengan springmvc, dalam springmvc memang agak ribet seperti jika untuk menampilkan halaman biasa kita pake AbstractCOntroller lalu jika ingin menampilkan halaman yang memiliki form kita harus menggunakan SImpleFormCOntroller. selain itu banyaknya konfigurasi yang harus dilakukan jika menggunakan XML.

namun bukan berarti springmvc itu jelek. ada yang menjadi daya tarik dalam springmvc, yaitu dia memiliki view yang flexible. artinya untuk tampilan anda bisa menggunakan JSP, Velocity, FreeMarker, JasperReport dan anda bisa implementasi View anda manual. sedangkan untuk jsf tidak memiliki kemampuan ini.

dan yang harus diingat adalah jsf itu hanya menggunakan form dengan method POST artinya kita tidak bisa menggunakan method GET. namun berbeda dengan springmvc, pada springmvc kita bisa menggunakan POST ataupun GET.

so, jika anda membuat sebuah web seperti web toko online, blog. saya sarankan anda menggunakan springmvc, why? pertama biasanya toko online, blog atau web yang lainnya memang sangat tergantung dengan url yang methodnya GET. namun jika anda akan membuat sebuah sistem informasi berbasis web seperti sistem informasi perpustakaan, penjualan. saya sarankan anda menggunakan jsf, why? alasannya jsf sangat mudah untuk membangun sistem informasi yang banyak dengan proses manipulasi database.

Iklan

17 pemikiran pada “JavaServerFaces vs SpringMVC

  1. Kang eko, tolong di komentari.

    MVC membagi aplikasi menjadi 3 bagian. Model, view, dan controller. Saya baru bisa membuat aplikasi dekstop dengan netbeans, dengan referensi situs dan vcd hendro steven. Vcd tersebut telah memisahkan layer2, dan mengikuti konsep mvc.

    Sekarang saya mencoba mengembangkan aplikasi web-base. Tapi selelah googling, saya menemukan banyak framework untuk membantu menerapkan konsep mvc di web-base. Sebelumnya saya telah mencoba jsp, tapi lebih tertarik menginvestasikan waktu belajar di framework untuk javaweb.

    Saya mencoba membuat alur belajar java web seperti berikut yang sepertinya tidak benar :
    1. model : hibernate
    2. controller : spring
    3. view : masih bingung?
    4. ioc : spring

    Di sisi view sangat membingungkan, setelah saya membaca artikel tentang velocity/ freemarker sebagai pengganti jsp yang katan frans thamura lambat.Atau bisakah flex/gwt menggantikan sisi view??

    Mohon untuk di komentari …
    Terimakasih ..

    • ok, perlu diluruskan Hibernate bukan MODEL Spring bukan Controller

      MVC merupakan sebuah konsep dan Hibernate merupakan implementasi konsep ORM dan SPring merupakan implementasi konsep IoC nah bagaimana dengan MVC?

      banyak sekali implementasi konsep MVC (khususnya di Web) contohnya Java Server Faces, Apache Struts1/2, Tapestry, WIcket dan lain-lain

      bagaimana dengan FreeMarker dan Velocity? kedua framework itu sebenarnya merupakan Template Generator namun bisa digunakan sebagai generator Halaman Web atau bisa dibilang pengganti JSP

      apakah JSP lebih lambat dari Freemarker / Velocity? hmmm…….. Sebenarnya JSP itu lambat pertamanya dan cepat setelah itu… why? sebenarnya tidak ada yang namanya JSP, yang ada Servlet. jadi sebenarnya saat pertama kali sebuah halaman JSP diakses, maka si SErver akan menggenerate file SErvlet dari file JSP tersebut dan setelah digenerate, maka request selanjutnya akan dilakukan pada Servlet, bukan lagi JSP, jadi yang menjadi lambat itu adalah pada proses generate JSP ke Servlet, tapi setelah itu ya jadi cepet 😀

      nah berhubung saya hanya bergelut di JSF, jadi akan saya jelaskan tentang JSF

      JSF itu sudah full stact MVC Framework, masa? yup..

      dalam JSF VIew = JSF FIle atau bisa diganti Facelets COntroller = implementasi JSF, seperti Mojarra atau Apache MyFaces Model = ManageBean

      so Hibernate, Spring bukan bagian MVC framework, hanya sekedar PEMBANTU 😀

      • Yup..
        terima..kasih..:D
        Ada 2 pertanyaan lagi kang :
        1.Seandainya saya mengunakan konsep “Java Server Faces” untuk implementasi MVC, bagaimana dengan gwt serta hubunganya
        dengan JSF FIle atau Facelets?
        2. Oh..ya, saya newbie, dan terbantu dengan blog anda.
        Bisa kah anda membuat alur belajar JSF dan apa saja yang harus di instal?
        di blog anda.
        terima kasih.

      • GWT itu merupakan RIA (Rich Internet Application)
        dah gak harus berbasis Java Web, walaupun GWT itu bahasannya Java tapi ujung2nya kan di compile jadi JavaScript. GWT hanya tekboligi RIA bukan implementasi konsep MVC.

        facelets itu manjemen template untuk JSF, so jadi facelets bisa membuat View untuk JSF menjadi lebih terstruktur

        gak perlu nginstall apa2, cukup masukkan library Apache MyFaces atau Mojarra ke project web yang mau kamu buat.

        coba baca buku Core Java Server Faces, itu buku yang bagus buat referensi

  2. nanya lagi bos,
    kalo buat project MVC web pake jsf, hibernate ma ApacheMyFaces…langkah urutannya baiknya seperti apa ya?,makasih sebelumnya…

  3. develop web ya paradigma web. rasanya pakai component based itu lebih sulit integrasi dengan client side script, selain itu juga kodenya jadi berantakan banget. kalau hanya jsf tanpa extension juga rasanya limited banget. parse tree yang dibikin jsf saat generate view di server side juga sangat mengganggu saat kita integrasi dengan js library misalkan untuk client side validation karena jsf nolak atribut tambahan terhadap tag html yang digenerate nya (cmiiw).

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s