Struts – najstarszy framework Javy. Historia, zastosowanie, pierwsze kroki
Struts to framework Javy wykorzystywany do tworzenia aplikacji webowych, optymalizacji procesów projektowania oraz uproszczenia utrzymania. Pozwala także na prostsze testowanie kodu. Przybliżamy Wam jego historię, zastosowanie, a także materiały do nauki.
Struts to darmowy framework o otwartym kodzie źródłowym do tworzenia aplikacji internetowych Java. Preferuje konwencję nad konfiguracją, jest rozszerzalny za pomocą architektury wtyczek i jest dostarczany z wtyczkami obsługującymi REST, AJAX i JSON. Wykorzystuje architekturę Model, Widok, Kontroler (MVC) do tworzenia aplikacji internetowych dla przedsiębiorstw. Architektura ta dzieli każdy projekt na trzy wzajemnie połączone warstwy: logikę biznesową, widoki w formie graficznej prezentacji treści oraz kontroler reagujący na zmiany wprowadzone przez użytkownika.
Sam framework jest napisany w Javie i utrzymywany przez Apache Software Foundation. Współpracuje z technologiami takimi, jak: Java Servlets, JavaBeans, XML i wiele innych.
Spis treści
Struts – historia
Struts jest najstarszym frameworkiem Javy. Powstał 21 lat temu, po raz pierwszy został udostępniony przez Craiga McClanahana, a następnie przekazano go do fundacji Apache.
Pierwsza generacja – Apache Struts 1 została wydana w maju 2000 r. Struts 1 wniósł zupełnie nowe doświadczenia do tworzenia aplikacji internetowych i został bardzo dobrze przyjęty przez wiele firm. Zainspirował wydanie wielu kolejnych frameworków internetowych. Od tego czasu opublikowano więcej wydań, aż do ostatniego wydanego w 2008 roku. Ostatnia wydana wersja Apache Struts 1 to wersja 1.3.10. Pierwsza generacja została zastąpiona przez drugą – Apache Struts 2. W 2013 roku wyznaczono jej koniec życia.
Apache Struts 2, wydany w październiku 2006 roku został opracowany razem z „jedynką”, a jego pierwsze wydanie pojawiło się dwa lata przed ostatnim wydaniem Struts 1. Istnieją pewne różnice między tymi dwiema generacjami, w tym zmiany w klasach akcji czy walidacji. Najnowsza wersja – Apache Struts 2.5.28 GA została wydana 12 grudnia 2021 roku. Jeśli chcemy zacząć od Struts 2, należy pamiętać, że minimalne wymagania to Servlet API 2.4, JSP 2.0 i Java 7.
Apache Struts można pobrać TUTAJ.
Struts – zastosowanie
Podstawowymi zastosowaniami Struts są: prezentacja danych oraz kontrolowanie danych (widok i kontroler w modelu MVC). Pozwala w prosty i automatyczny sposób mapować adresy strony poprzez każdorazowe tworzenie konfiguracji nowo dodanej klasy do plików XML, dzięki czemu programiści mogą zająć się pisaniem i rozwijaniem kodu.
Framework ułatwia tworzenie dynamicznych, skalowalnych i elastycznych aplikacji z wykorzystaniem technologii Java Servlet Pages, Java Beans i XML. Jego struktura umożliwia również szybką obsługę żądań za pośrednictwem protokołów HTTP i HTTPS. Framework ten, poprzez interfejsy API, udostępnia rozbudowane funkcje, dzięki czemu usprawnia integrację z różnymi systemami zewnętrznymi. Pozwala także na zastosowanie samodzielnie zdefiniowanych wymagań dotyczących wprowadzanych danych w formularzach, co przyspiesza ich walidację.
Biblioteka Struts składa się z następujących elementów:
- servletu kontrolera, wykorzystywanego we wszystkich aplikacjach używających tego frameworka,
- zestawu Java Beans i innych klas pomocniczych wykorzystywanych w części aplikacji realizującej „Model”,
- bibliotek tagów do użycia w stronach JSP.
Wszystko to, połączone ze sobą plikami konfiguracyjnymi tworzy szkielet aplikacji Struts.
Struts dodatkowo wykorzystuje bibliotekę Tiles, która zapewnia szybkie budowanie niezależnych elementów aplikacji oraz wielokrotne powielanie kodu, do którego zostały wprowadzone konkretne zmiany. To z kolei umożliwia oddzielenie treści od sposobu jej prezentacji, dzięki czemu strona wizualna aplikacji może być niezależna. Biblioteka wymaga jednak poznania wielu technologii i funkcjonalności, dlatego też nauka jej obsługi może być dość trudna dla początkujących programistów. Dodatkowo aplikacja zbudowana w oparciu o ten framework może ładować się nieco wolniej niż w przypadku innych frameworków, ponieważ w tle aplikacji zachodzą akcje, na które programista nie ma wpływu, a które wynikają z samej budowy biblioteki.
Wady te są jednak na tyle marginalne, że Struts i tak zdobywa coraz większą popularność. Plusami z pewnością są: obszerna dokumentacja techniczna oraz społeczność internetowa, gotowa dzielić się poradami na różnych forach.
Struts – pierwsze kroki
Struts jest zaawansowanych narzędziem dla specjalistów, jednak każdy specjalista od czegoś musi zacząć. W sieci są dostępne materiały do nauki, a wśród nich znajdziemy m.in.:
- Samouczek Struts dotyczący tworzenia aplikacji internetowych,
- Struts 2 – Tutorial,
- Struts 2 Framework for Beginners – Udemy,
- Struts 2 – YouTube.
Zdjęcie główne pochodzi z unsplash.com. Źródła: Struts, JRebel, boringowl.io.