Struts vs Spring MVC
Korniza Struts është një nga kornizat fillestare të aplikacionit në ueb për zhvillimin e aplikacioneve në ueb Java EE. Pranvera është një kornizë aplikimi me burim të hapur. Disa kohë pas prezantimit të kornizës Spring, zhvilluesit shtuan një kornizë MVC në kornizën Spring, duke shpresuar të adresojnë disa nga kufizimet që ata perceptuan në Struts. Por disa vite më vonë, Struts2 (ose versioni 2 Struts) mbërriti, dhe ishte krejtësisht i ndryshëm dhe shumë i përmirësuar në kuadër të aplikacionit në internet. Tani, si Struts ashtu edhe Spring MVC po përdoren shumë për zhvillimin e aplikacioneve Java EE në botë.
Çfarë është Struts?
Struts (i njohur gjithashtu si Apache Struts) është një kornizë me burim të hapur ndër-platformë e shkruar në Java, e cila është menduar për zhvillimin e aplikacioneve në ueb Java EE. Strutat inkurajojnë përdorimin e arkitekturës MVC (Model-View-Controller). Është një shtesë e Java Servlet API. Craig McClanahan është krijuesi origjinal i Struts. Fillimisht njihej si Jakaratha Struts, dhe u mbajt nën Projektin e Xhakartës të Fondacionit Apache Software. Lëshimi i tij aktual i qëndrueshëm është versioni 2.2.3, i cili u lëshua në maj 2011. Është lëshuar nën licencën Apache 2.0. Korniza e Struts quhet një kornizë e bazuar në kërkesë dhe përbëhet nga tre komponentë kryesorë: një mbajtës kërkesash, një mbajtës përgjigjeje dhe një bibliotekë etiketash. URI standarde (Uniform Resource Identifier) është hartuar në një mbajtës kërkesash. Trajtuesi i përgjigjes është përgjegjës për transferimin e kontrollit. Për të krijuar aplikacione interaktive me forma, mund të përdoren veçoritë e ofruara nga biblioteka e etiketave. Struts mbështesin aplikacionet REST dhe teknologji të ndryshme si SOAP, AJAX, etj.
Çfarë është Spring MVC?
Pranvera është një kornizë aplikimi me burim të hapur. Ai u zhvillua nga Rod Johnson, dhe versioni i parë u lëshua në 2004. Spring 3.0.5 është versioni aktual i kornizës Spring. Është licencuar nën licencën Apache 2.0. Çdo aplikacion Java mund të përdorë veçoritë kryesore të kornizës Spring. Ka disa module në kuadrin Spring, dhe MVC është një prej tyre. Korniza Spring MVC nuk ishte pjesë e planit të tyre origjinal. Në fakt, arsyeja që zhvilluesit e Spring dolën me kornizën e tyre MVC ishte të ofronin zgjidhje për ato që treguan si mangësi në Struts (versioni 1) dhe korniza të tjera të ngjashme. Në veçanti, ata thanë se donin të adresonin mungesën e ndarjes midis shtresës së prezantimit, shtresës së trajtimit të kërkesave dhe modelit. Spring MVC është gjithashtu një kornizë aplikacioni në internet e bazuar në kërkesë.
Cili është ndryshimi midis Struts dhe Spring MVC?
Megjithëse Spring MVC dhe Struts janë dy korniza të njohura të aplikacioneve në ueb që përdoren për zhvillimin e aplikacioneve në internet Java EE, ato kanë dallimet e tyre. Në fakt, Spring MVC u zhvillua për të adresuar disa kufizime në Struts (versioni 1). Por Struts2 është një kornizë shumë e përmirësuar se versioni 1 (ata as nuk ndajnë të njëjtën bazë kodi), dhe për këtë arsye, Spring MVC dhe Structs2 janë shumë të krahasueshme.
Një nga avantazhet kryesore të Spring MVC është se është e mundur që të ketë një integrim pa probleme me shumë opsione shikimi si JSP/JSTL, Tiles, FreeMaker, Excel, PDF dhe JSON. Por, ndryshe nga Struts, Spring MVC nuk ofron mbështetje të integruar AJAX (duhet të përdoret biblioteka AJAX e palës së tretë).
Në fund të fundit, të dyja konsiderohen korniza shumë të pjekura dhe zgjedhja midis të dyjave varet nga preferenca personale. Është e rëndësishme të theksohet këtu se nëse ka ndonjë ndjenjë negative ndaj strutrave, ato janë vetëm për shkak të mangësive që u gjetën në versionin 1 të Struts (i cili tani konsiderohet i vjetëruar).