Struts vs Spring MVC
Struts framework adalah salah satu kerangka aplikasi web awal untuk mengembangkan aplikasi web Java EE. Spring adalah kerangka aplikasi sumber terbuka. Beberapa waktu selepas pengenalan rangka Spring, para pengembang menambahkan kerangka kerja MVC ke kerangka Spring, dengan harapan dapat mengatasi beberapa batasan yang mereka rasakan dalam Struts. Tetapi beberapa tahun kemudian, Struts2 (atau Struts versi 2) tiba, dan itu adalah kerangka aplikasi web yang berbeza dan sangat baik. Sekarang, kedua Struts dan Spring MVC sangat banyak digunakan untuk mengembangkan aplikasi Java EE di dunia.
Apa itu Struts?
Struts (juga dikenal sebagai Apache Struts) adalah kerangka sumber terbuka lintas platform yang ditulis di Java, yang dimaksudkan untuk mengembangkan aplikasi web Java EE. Struts mendorong penggunaan seni bina MVC (Model-View-Controller). Ini adalah lanjutan dari API Servlet Java. Craig McClanahan adalah pencipta Struts yang asal. Awalnya ia dikenal sebagai Jakaratha Struts, dan dikelola di bawah Projek Yayasan Perisian Apache Jakarta. Pelepasan stabilnya sekarang adalah versi 2.2.3, yang dirilis pada Mei 2011. Ia dilancarkan di bawah Apache License 2.0. Kerangka Struts disebut kerangka berdasarkan permintaan, dan terdiri dari tiga komponen utama: penangan permintaan, penangan respons, dan perpustakaan tag. URI standard (Uniform Resource Identifier) dipetakan ke pengendali permintaan. Pengendali respons bertanggungjawab untuk memindahkan kawalan. Untuk membuat aplikasi interaktif dengan bentuk, fitur yang ditawarkan oleh perpustakaan tag dapat dimanfaatkan. Struts menyokong aplikasi REST dan pelbagai teknologi seperti SOAP, AJAX, dll.
Apa itu Spring MVC?
Spring adalah kerangka aplikasi sumber terbuka. Ia dikembangkan oleh Rod Johnson,, dan versi pertama dikeluarkan pada tahun 2004. Spring 3.0.5 adalah versi terkini dari rangka Spring. Ia dilesenkan di bawah lesen Apache 2.0. Sebarang aplikasi Java dapat menggunakan ciri inti dari rangka Spring. Terdapat beberapa modul dalam rangka kerja Spring, dan MVC adalah salah satunya. Rangka kerja Spring MVC bukan merupakan sebahagian daripada rancangan asal mereka. Sebenarnya, alasan bahawa pembangun Spring membuat kerangka MVC mereka sendiri adalah untuk memberikan penyelesaian terhadap apa yang mereka tunjukkan sebagai kekurangan dalam Struts (versi 1) dan kerangka kerja lain yang serupa. Secara khusus, mereka mengatakan bahawa mereka ingin mengatasi kekurangan pemisahan antara lapisan presentasi, lapisan penanganan permintaan, dan model. Spring MVC juga merupakan kerangka aplikasi web berdasarkan permintaan.
Apakah perbezaan antara Struts dan Spring MVC?
Walaupun Spring MVC dan Struts adalah dua kerangka aplikasi web popular yang digunakan untuk mengembangkan aplikasi web Java EE, mereka mempunyai perbezaannya. Sebenarnya, Spring MVC dikembangkan untuk mengatasi beberapa batasan dalam Struts (versi 1). Tetapi Struts2 adalah kerangka kerja yang sangat baik daripada versi 1 (mereka bahkan tidak mempunyai asas kod yang sama), dan oleh itu, Spring MVC dan Structs2 sangat setanding.
Salah satu kelebihan utama Spring MVC adalah kemungkinan integrasi lancar dengan banyak pilihan paparan seperti JSP / JSTL, Tiles, FreeMaker, Excel, PDF dan JSON. Tetapi, tidak seperti Struts, Spring MVC tidak menyediakan sokongan AJAX terbina dalam (perlu menggunakan perpustakaan AJAX pihak ketiga).
Pada akhirnya, kedua-duanya dianggap sebagai kerangka kerja yang sangat matang, dan memilih antara keduanya menjadi pilihan peribadi. Penting untuk diperhatikan di sini bahawa jika ada perasaan negatif terhadap struts, mereka hanya disebabkan oleh kekurangan yang terdapat pada Struts versi 1 (yang kini dianggap usang).