Liten oppdatering: Har blogget litt om tankene bak Snowflake på Teknisk Blogg:
Tusen takk for grundige og verdifulle innspill! Det er nettopp slike kommentarer jeg er avhengig av for å klare å lage et godt rammeverk.
Jeg er langt på vei enig i det du sier, og skal holde dere orientert om forbedringer som adresserer disse punktene.
Her er noen forhåpentligvis klargjørende kommentarer:
hverken “help” eller README forklarer noe om hvordan man genererer et scaffold.
Det README filen ganske riktig glemmer å forklare er at du først må laste en URL i browseren, f.eks. /shopping og deretter bruke dump-kommandoen.
Det er forøvrig bedre å se på “ShoppingAssistant.java”:http://github.com/haugeto/Snowflake/blob/master… enn InterceptedShoppingAssistant, ettersom førstnevnte har mer utfyllende JavaDoc. Dette er også forklart på “FAQ-siden”:http://wiki.github.com/haugeto/Snowflake/ jeg har glemt å linke til fra README-filen .. :P
Jeg savnet tester i shoppingassistant som kunne illustrere hva Snowflake gir av testbarhet.
Enig. Dette er på vei :)
Det ser ut til å være en viss mismatch mellom com.sun.httpserver og Servlet-API og det kan komme noen ubehagelige overraskelser når du prøver å WAR-ifisere ting i fremtiden.
Bruken av den innebygde HTTP-serveren i Java var på mange måter det som sparket igang hele prosjektet, og i begynnelsen et forsøk på å se hvor lenge man klarer seg uten noe som helst Java EE under utvikling.
Produksjonsetting er selvfølgelig noe helt annet. Jeg har med vilje utsatt utviklingen av en SnowflakeServlet (som wrapper en Snowflake-applikasjon), fordi jeg vil være sikker på hvordan den bør fungere. Foreløpig hypotese er forøvrig at man uansett vil foretrekke den innebygde HTTP-serveren under utvikling, og at Servleten kun er tiltenkt prodsetting. Det gjenstår å se om dette er hensiktsmessig (Jetty kan jo f.eks. være en alternativ utviklings- (og prod-) server)
Å bruke exceptions for validering har et problem dersom du skal støtte det at det er feil i flere felt (og det skal du vel)
ValidationException støtter faktisk rapportering av valideringsfeil for flere felt, selvom eksempelet ikke antyder hvordan dette fungerer. Jeg synes uansett eksempelet ditt på et validerings-API virker interessant. Skal kikke litt nærmere på den biten.
Nok en gang, takk for innspill! Fortsettelse følger :)