Hvad er fordelene ved Apache Wicket?
Fordele, der ofte bliver udråbt i kredse, jeg ofte er:
- Din html kan være fuldt xhtml-kompatibel - der er en MEGET god adskillelse af præsentation og logik i, at det eneste dit præsentation/html-lag behøver at vide om wicket er wicketid-attributter i standard html-tags. Dette er vidunderligt for html/css/javascript-klienten på dit team, som laver lidt eller intet faktisk java-arbejde. Ingen anden java-baseret webramme kan gøre krav på dette, ja.
- Ingen xml-konfiguration til noget wicket-specifikt - alt kan gøres i kilden, og der skal meget lidt gøres til standard web.xml til din .war
- komponentbaseret udvikling er ret nem at grok - især hvis du har en ikke-webbaggrund (f.eks. en swing-programmør). det tilskynder til genbrug en del mere end mvc gør, imo.
Her er nogle funktioner i apache wicket:
POJO-komponentmodel
Sider og komponenter i Wicket er rigtige Java-objekter, der understøtter indkapsling, arv og begivenheder.
Nem udvikling
Fordi Wicket er Java og HTML, kan du udnytte det, du ved om Java eller din foretrukne HTML-editor til at skrive Wicket-applikationer.
Adskillelse af bekymringer
Wicket blander ikke markup med Java-kode og tilføjer ingen speciel syntaks til dine markup-filer. HTML og Javas verdener er parallelle og kun forbundet med Wicket-id'er, som er attributter i HTML og komponentegenskaber i Java. Da Wicket HTML kun er HTML, og Wicket Java kun er Java, kan kodere og designere arbejde uafhængigt i vid udstrækning og uden at være afhængig af specielle værktøjer.
Sikker
Wicket er som standard sikker. URL'er afslører ikke følsomme oplysninger, og alle komponentstier er sessionsrelative. Der skal tages eksplicitte skridt til at dele information mellem sessioner. Desuden tillader URL-kryptering meget sikre websteder.
Transparent, skalerbar klyngeunderstøttelse
Alle Wicket-applikationer vil arbejde på en klynge automatisk og uden yderligere arbejde. Når flaskehalse er forstået, muliggør Wicket tuning af sidetilstandsreplikering. Den næste version af Wicket vil understøtte klientsidemodeller for skalerbarhed i nultilstand.
Understøttelse af gennemsigtig tilbageknap
Wicket understøtter konfigurerbar sideversionsstyring. Når brugere indsender en formular eller følger et link fra en side, de fik adgang til med tilbage-knappen i deres browser, er Wicket i stand til at vende sideobjektet tilbage til den tilstand, det var i, da siden oprindeligt blev gengivet. Det betyder, at du med meget lidt arbejde kan skrive webapplikationer, der understøtter tilbage-knappen.
Understøttelse af flere faner og flere vinduer
Wicket giver en nem måde at skrive applikation på, der understøtter brug af flere vinduer og flere faner, hvilket gør det muligt for udviklere at reagere korrekt, når brugere åbner nyt browservindue eller fane
Genbrugelige komponenter
Genanvendelige komponenter i Wicket er særligt nemme at lave. Ikke alene kan du udvide eksisterende komponenter med Java extends nøgleordet, men du kan også oprette panelkomponenter, som forbinder en gruppe komponenter som en genanvendelig enhed.
Simpel, fleksibel, lokaliserbar formularvalidering
Det er trivielt at skrive og bruge validatorer i Wicket. Det er også ret nemt at tilpasse og lokalisere visningen og indholdet af valideringsfejlmeddelelser.
Typesikre sessioner
Wicket eliminerer behovet for at administrere HttpSession-attributter manuelt. Side- og komponentobjekter gemmes transparent i sessionen, og din applikation kan også oprette en brugerdefineret sessionsunderklasse med typesikre egenskaber. Alle objekter, der er gemt i sessionen, kan automatisk deltage i klyngereplikering.
Fabrikstilpasning
Wicket er meget strækbar. De fleste operationer kan tilpasses gennem fabrikker eller fabriksmetoder.
Aftagelige modeller
Modelobjekter i Wicket kan være meget lette med hensyn til hukommelse og netværksbrug i en klynge. Når en model bruges, kan den "vedhæfte" og fylde sig selv med information fra vedvarende lagring. Når modellen ikke længere er i brug, kan forbigående information nulstilles, hvilket reducerer størrelsen af objektet.
Kantkomponenter
Wicket Border-komponenter muliggør dekoration af sider på en genanvendelig måde. Dette er især nyttigt til nedarvning af almindelige navigationsstrukturer eller layout.
Understøttelse af alle grundlæggende HTML-funktioner
Wicket understøtter billedtags, links, formularer og alt andet, som du er vant til at bruge i din webapplikationsudvikling.
Programmatisk manipulation af attributter
Wicket-komponenter kan programmatisk ændre enhver HTML-tag-attribut.
Automatiske konverteringer
Når en formular er valideret, kan modellen opdateres ved hjælp af Wicket-konvertere. De fleste almindelige konverteringer er indbygget, og det er nemt at skrive nye konvertere.
Dynamiske billeder
Wicket gør brug, deling og generering af billeder meget let. Dynamiske billeder kan skabes ved blot at implementere en malingsmetode.
Søgelig listevisning
ListViews i Wicket er ekstremt kraftfulde. Du kan indlejre enhver form for komponent i en ListView-række, endda andre ListViews. PageableListView understøtter navigationslinks til de store lister.
Trækomponent
Out of the box tree-komponent til at navigere og vælge noder.
Lokalisering
HTML-sider, billeder og ressourcestrenge kan alle lokaliseres.
Forår er mere end Spring MVC. Du kan (og skal nok) bruge Spring med Wicket.