top | item 15699531

(no title)

tarkaTheRotter | 8 years ago

All in? About 15 years of being frustrated at various frameworks... :)

More seriously, we had a pretty good idea of how we wanted the main interfaces to look - the current HttpHandler and Filter file (https://github.com/http4k/http4k/blob/master/http4k-core/src...) file is only 19 lines long - so the actual implementation was pretty quick! :)

Previous to that, we started out with a 40 line Kotlin script which wrapped the API of an awesome Java framework called UtterlyIdle. However we soon wanted to begin using pure, idiomatic Kotlin, so eventually decided to start again and port what we needed. The simple routing API was also pretty easy, although the ability to infinitely nest routes in concert with the Filter system came later.

Timewise, we've been in prod with http4k since about March - here's the github contribution graph (https://github.com/http4k/http4k/graphs/contributors). A lot of the effort since has been for adding the various modules as we needed them - AWS request signing was interesting, as was adding Multipart support (ported from a Java implementation by @tiestvilee who you can witness being sarcastic further down this thread :).

Personally, the most complicated (ie. time-spent) bit to get right was probably the Lens API- there were several iterations of that until it was as clean, and we learned a lot about the language at the same time - for instance, that you can define extension methods on a Kotlin Object and then import them from that instance - thus allowing you to have different versions of the same extension method happily coexisting.

discuss

order

No comments yet.