Java >> Java tutorial >  >> Java

Hvad er fordelene ved Apache Wicket?

Fordele, der ofte bliver udråbt i kredse, jeg ofte er:

  1. 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.
  2. 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
  3. 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.


Java tag