Wykorzystaj w pełni możliwości programowania obiektowego.
Dowiedz się więcej o możliwościach Egg Framework oraz porównaj go z istniejącymi technologiami.
Przejrzyj dokumentację API zawierającą szczegółowe opis każdej klasy oraz metody.
Przejdź krok po kroku przez proces tworzenia projektów w Egg Framework.
Dowiedz się więcej o każdym z elementów Egg Framework.
Dlaczego warto używać Egg Framework? Ze względu na szereg zalet jakie oferuje:

Szkielet dystrybuowany jest na zasadach licencji Open Source - Apache 2.0 . Oznacza to, że nawet w komercyjnych projektach może być wykorzystywany i modyfikowany bez żadnych opłat i konieczności udostępniania innym kodu źródłowego swojej aplikacji.
Egg Framework to przede wszystkim szkielet warstwy prezentacji . Pomimo, iż umożliwia tworzenie aplikacji www bez użycia innych technologii webowych to jednak do celów produkcyjnych powinnien zostać użyty z jednym z istniejących szkieletów warstwy kontrolera np. Spring MVC . Dzięki wybraniu wielu technologii programista ma pewność, że wybiera to co w nich najlepsze.
Podczas pisania aplikacji www programista nie musi restartować serwera przy każdej zmianie kodu. Wystarczy, że po każdej zmianie będzie kompilował kod (czynność wykonywana automatycznie przez Eclipse) a sam framework „zajmie się” przeładowaniem funkcjonalności. Przeładowaniu ulegnie jedynie część aplikacji dotycząca interfejsu użytkownika, dzięki czemu czas restartu będzie bardzo krótki. Dzięki takiemu rozwiązaniu czas tworzenia jest znacznie krótszy, albowiem w przypadku bardzo wielu systemów czas potrzebny na start aplikacji jest stosunkowo długi.
Framework w przeciwieństwie do wielu innych korzysta z tego co jest najpotężniejsze w Javie – obiektowości. Aplikacje tworzone z użyciem tego szkieletu są w pełni zorientowane obiektowo, w związku z czym kod tworzony przez programistę jest reużywalny i niepotwarzalny (dzięki temu wprowadzanie zmian nie wymaga zmian w wielu miejscach). Reużywalność zaś objawia się tym, że z pomocą szkieletu programista tworzy własne komponenty interfejsu użytkownika mogące być używane w innych częściach systemu bądź w zupełnie innym systemie. Dzięki temu, że aplikacja jest pisana w całości w Javie, nie ma tu mowy o jakimkolwiek duplikowaniu kodu poprzez operacje „kopiuj/wklej”. (tak jak na przykład ma to miejsce w JSP). Ponadto dzięki wykorzystaniu narzędzi do refaktoringu Javy, kod może być szybko modyfikowany (znacznie szybciej niż ręczne wprowadzanie zmian).
Zarówno warstwa prezentacji jak i kontrolera szkieletu nie wymagają od programisty tworzenia plików konfiguracyjnych. Dzięki temu komponenty stron oraz kontrolery tworzy się bardzo szybko, co czyni Egg Framework idealnym szkieletem do prototypowania. Cecha ta zmniejsza czas developmentu oraz zwiększa szybkość refaktoringu utworzonego już kodu.
API Egg Framework jest stosunkowo proste i nauka jego nie powinna zająć zbyt wiele czasu. Po kilkudziesięciu minutach eksperymentowania programista powinien umieć tworzyć średnio skomplikowane strony HTML. Po kilku dniach pracy z Egg Framework staje się on prawdziwym ekspertem.
Komponenty i całe aplikacje tworzone za pomocą szkieletu mogą być bardzo łatwo testowane za pomocą testów jednostkowych (np. JUnit). Nie potrzebują one istnienia jakichkolwiek kontenerów i mogą być testowane w oderwaniu od reszty. To niezastąpiona cecha, którą posiada zaledwie kilka frameworków Javowych.
Framework został napisany zgodnie z konwencjami i zasadami obiektowości. Dzięki temu jest bardzo czytelny i każdy znający Javę może go zrozumieć. Ponadto w Egg Framework zrezygnowano z tworzenia dziesiątek warstw abstrakcji, które w opinii niektórych są Świętym Graalem obiektowości. Uważamy, że ukrywanie przed końcowym programistą zbyt wielu rzeczy może się tylko przyczynić do pisania przez niego gorszego kodu.
API Egg Framework zostało podzielone na moduły, dzięki czemu programista może wybrać tylko te części szkieletu, które go interesują.
Egg Framework udostępnia programiście specjalne API, za pomocą którego może tworzyć bardzo czytelny kod w Javie. Po kilku dniach czy tygodniach może się okazać, że na zrozumienie zasad działania napianego wcześniej kodu potrzeba wiele czasu. Jeśli jednak użyto Fluent Interface, to zrozumienie kodu zabierze z pewnością mniej czasu.
W tworzeniu szkieletu zerwano z zasadą używania stron JSP jako warstwy prezentacji. Jest to prawdopodobnie najgorsza rzecz, jaką kiedykolwiek wymyśliła firma Sun. Zgodnie z ich sposobem myślenia strony JSP miały mieć intuicyjną składnię i być używane przez web designerów. Tymczasem rzeczywistość okazała się zupełnie inna. Dziś strony JSP są tworzone przez programistów, często zawierają rzeczy nie związane z prezentacją (kawałki kodu, niestandardowe tagi, które tak naprawdę wykonują określony kod). Nie można więc z czystym sumieniem stwierdzić, że strony JSP są jedynie prezentacją. Ponadto strony JSP powodują bałagan w aplikacji, nie można ich modyfikować narzędziami do refaktoringu i są trudne do debugowania. Pojawia się pytanie, po co ich w ogóle używać? Egg Framework umożliwia pisanie w "czystej" Javie. Jednak często programiście łatwiej jest użyć jakiegoś szablonu strony, który będzie ustalał położenie poszczególnych elementów (zaznaczam – jedynie położenie i wygląd, czyli tzw. layout). Z tego powodu w Egg Framework zaimplementowano wsparcie dla szablonów HTML. Każda strona czy element strony może korzystać z takiego szablonu, dzięki czemu czas tworzenia znacznie się skraca.
Aby zacząć programowanie z użyciem Egg Framework nie trzeba godzinami konfigurować środowiska. Aby poznać szkielet wystarczy ściągnąć zestaw Newbie Kit. Można też pobrać dystrybucję i dodać jary do ścieżki klas CLASSPATH. Jeśli zaś wykorzystywany jest Maven 2 można skorzystać z naszego repozytorium zawierającego wszystkie wymagane artefakty. Ponadto ze względu na to, iż Egg Framework dystrybuowany jest z wbudowanym kontenerem serwletów, to nie ma potrzeby instalowania i konfigurowania go. Aplikację www uruchamia się z poziomu IDE w ten sam sposób, w jaki uruchamia się aplikację klasy desktop.
Każa klasa będąca częścią szkieletu posiada settery, za pomocą których można zmienić implementację dowolnych części. Można "wstrzykiwać" inne implementacje klas istniejące już w szkielecie lub pisać własne. Ta cecha pozwala całkowicie dostosować framework do własnych potrzeb, bez konieczności modyfikacji jego kodu źródłowego.