Struts vs Spring MVC
Framework Struts adalah salah satu framework aplikasi web awal untuk mengembangkan aplikasi web Java EE. Spring adalah framework aplikasi open source. Beberapa waktu setelah pengenalan kerangka Spring, pengembang menambahkan kerangka MVC ke kerangka Spring, berharap untuk mengatasi beberapa keterbatasan yang mereka rasakan di Struts. Tetapi beberapa tahun kemudian, Struts2 (atau Struts versi 2) tiba, dan itu adalah kerangka aplikasi web yang sangat berbeda dan sangat ditingkatkan. Sekarang, Struts dan Spring MVC digunakan dengan sangat berat untuk mengembangkan aplikasi Java EE di dunia.
Apa itu Struts?
Struts (juga dikenal sebagai Apache Struts) adalah kerangka kerja sumber terbuka lintas platform yang ditulis dalam Java, yang ditujukan untuk mengembangkan aplikasi web Java EE. Struts mendorong penggunaan arsitektur MVC (Model-View-Controller). Ini adalah perpanjangan dari Java Servlet API. Craig McClanahan adalah pencipta asli Struts. Awalnya dikenal sebagai Jakaratha Struts, dan dikelola di bawah Proyek Jakarta dari Apache Software Foundation. Rilis stabilnya saat ini adalah versi 2.2.3, yang dirilis pada Mei 2011. Ini dirilis di bawah Lisensi Apache 2.0. Kerangka kerja struts disebut kerangka kerja berbasis permintaan, dan terdiri dari tiga komponen utama: penangan permintaan, penangan respons, dan pustaka tag. URI Standar (Uniform Resource Identifier) dipetakan ke penangan permintaan. Penangan respons bertanggung jawab untuk mentransfer kontrol. Untuk membuat aplikasi interaktif dengan formulir, fitur yang ditawarkan oleh pustaka tag dapat dimanfaatkan. Struts mendukung aplikasi REST dan berbagai teknologi seperti SOAP, AJAX, dll.
Apa itu Spring MVC?
Spring adalah framework aplikasi open source. Ini dikembangkan oleh Rod Johnson,, dan versi pertama dirilis pada tahun 2004. Spring 3.0.5 adalah versi terbaru dari kerangka Spring. Ini dilisensikan di bawah lisensi Apache 2.0. Aplikasi Java apa pun dapat menggunakan fitur inti framework Spring. Ada beberapa modul dalam framework Spring, dan MVC adalah salah satunya. Kerangka MVC Spring bukanlah bagian dari rencana awal mereka. Faktanya, alasan pengembang Spring membuat kerangka kerja MVC mereka sendiri adalah untuk memberikan solusi atas apa yang mereka tunjukkan sebagai kekurangan dalam Struts (versi 1) dan kerangka kerja serupa lainnya. Secara khusus, mereka mengatakan bahwa mereka ingin mengatasi kurangnya pemisahan antara lapisan presentasi, lapisan penanganan permintaan, dan model. Spring MVC juga merupakan kerangka aplikasi web berbasis permintaan.
Apa perbedaan antara Struts dan Spring MVC?
Meskipun Spring MVC dan Struts adalah dua framework aplikasi web populer yang digunakan untuk mengembangkan aplikasi web Java EE, keduanya memiliki perbedaan. Faktanya, Spring MVC dikembangkan untuk mengatasi beberapa keterbatasan di Struts (versi 1). Tetapi Struts2 adalah kerangka kerja yang sangat ditingkatkan daripada versi 1 (mereka bahkan tidak berbagi basis kode yang sama), dan oleh karena itu, MVC Spring dan Structs2 sangat sebanding.
Salah satu keunggulan utama Spring MVC adalah memungkinkan integrasi tanpa batas dengan banyak opsi tampilan seperti JSP / JSTL, Tiles, FreeMaker, Excel, PDF, dan JSON. Namun, tidak seperti Struts, Spring MVC tidak menyediakan dukungan AJAX bawaan (perlu menggunakan pustaka AJAX pihak ketiga).
Pada akhirnya, keduanya dianggap sebagai kerangka kerja yang sangat matang, dan memilih di antara keduanya tergantung pada preferensi pribadi. Penting untuk dicatat di sini bahwa jika ada perasaan negatif terhadap struts, itu hanya karena kekurangan yang ditemukan di Struts versi 1 (yang sekarang dianggap usang).