Vzpěry vs. Jaro MVC
Struts framework je jedním z počátečních webových aplikačních rámců pro vývoj webových aplikací Java EE. Jaro je open source aplikační rámec. Nějaký čas po zavedení jarního rámce vývojáři přidali do jarního rámce rámec MVC a doufali, že se budou zabývat některými omezeními, která vnímají ve Struts. Ale o několik let později dorazily Struts2 (nebo Struts verze 2) a byl to úplně jiný a vysoce vylepšený rámec webových aplikací. Nyní se Struts i Spring MVC velmi intenzivně používají pro vývoj aplikací Java EE ve světě.
Co je Struts?
Struts (také známý jako Apache Struts) je platforma open source napříč platformami napsaná v Javě, která je určena pro vývoj webových aplikací Java EE. Vzpěry podporují použití architektury MVC (Model-View-Controller). Jedná se o rozšíření Java Servlet API. Craig McClanahan je původním tvůrcem Struts. Zpočátku to bylo známé jako Jakaratha Struts, a byl udržován v rámci Jakarta Project of Apache Software Foundation. Jeho aktuální stabilní verze je verze 2.2.3, která byla vydána v květnu 2011. Je vydána pod licencí Apache License 2.0. Rámec Struts se nazývá rámec založený na požadavcích a skládá se ze tří hlavních komponent: obsluha požadavků, obsluha odpovědí a knihovna značek. Standardní identifikátor URI (Uniform Resource Identifier) je mapován do obsluhy požadavků. Obsluha odpovědí je odpovědná za přenos kontroly. Pro vytvoření interaktivních aplikací s formuláři lze využít funkce nabízené knihovnou značek. Vzpěry podporují REST aplikace a různé technologie jako SOAP, AJAX atd.
Co je jaro MVC?
Jaro je open source aplikační rámec. Byla vyvinuta Rodem Johnsonem a první verze byla vydána v roce 2004. Jaro 3.0.5 je aktuální verzí jarního rámce. Je licencován pod licencí Apache 2.0. Kterákoli Java aplikace může používat základní funkce rámce jara. V rámci Spring existuje několik modulů a MVC je jedním z nich. Rámec Jarní MVC nebyl součástí jejich původního plánu. Ve skutečnosti důvodem, proč vývojáři Spring přišli s vlastním rámcem MVC, bylo poskytnout řešení toho, co ukázali jako nedostatky Struts (verze 1) a dalších podobných rámců. Zejména uvedli, že se chtějí zabývat nedostatkem oddělení mezi prezentační vrstvou, vrstvou pro zpracování požadavků a modelem. Spring MVC je také rámec webových aplikací založený na žádost.
Jaký je rozdíl mezi vzpěrami a pružinou MVC?
Ačkoli Spring MVC a Struts jsou dva populární rámce webových aplikací používané pro vývoj webových aplikací Java EE, mají své rozdíly. Ve skutečnosti byl Spring MVC vyvinut s cílem řešit několik omezení v Struts (verze 1). Ale Struts2 je velmi vylepšený framework než verze 1 (nesdílí stejnou kódovou základnu), a proto jsou jarní MVC a Structs2 vysoce srovnatelné.
Jednou z hlavních výhod Spring MVC je to, že je možné mít bezproblémovou integraci s mnoha možnostmi zobrazení, jako jsou JSP / JSTL, Dlaždice, FreeMaker, Excel, PDF a JSON. Na rozdíl od Struts však Spring MVC neposkytuje vestavěnou podporu AJAX (je třeba použít knihovnu AJAX třetích stran).
Nakonec jsou oba považovány za vysoce vyspělé rámce a volba mezi nimi spadá do osobní preference. Je důležité zde poznamenat, že pokud existují nějaké negativní pocity vůči vzpěrám, jsou způsobeny pouze nedostatky, které byly zjištěny ve verzi 1 vzpěr (která je nyní považována za zastaralou).