yada

2017-12-04T14:43:55.000057Z

I think the motivation for yada isn't very clear to a new developer, it seems to be identifying a subtle point that I'll admit I don't quite grasp. It might help to have a small motivation example just to orient people. It could even use psudeo code and exaggerate.

mccraigmccraig 2017-12-04T14:56:00.000122Z

@drewverlee for me the selling points are: [1] fully async [2] deals with all the http protocol cruft so i don't have to [3] async multipart uploads

2017-12-04T15:17:32.000476Z

@mccraigmccraig thanks for the insight. I was referring to the claims that yada made about a systemic problem with how we build rest apis, I might understand it those arguments, but it would be nice to have a more concert (if a bit over simplified) example.

danielcompton 2017-12-04T19:44:18.000588Z

@drewverlee I think the best way to explain Yada's benefits is to compare and contrast with Ring and Pedestal. With both Ring and Pedestal you start with a web server and some endpoints. You then build up middleware to implement the parts of the HTTP spec that your application needs. This can lead to missing HTTP features or poorly optimised ones (e.g. doing a full GET to respond to a HEAD request, then throwing away the body).

danielcompton 2017-12-04T19:44:54.000171Z

In contrast, Yada starts with a stack of middleware which faithfully implement all* of the HTTP spec. It gives you a bunch of places to hook into the HTTP request lifecycle to customise the responses

dominicm 2017-12-04T20:36:22.000107Z

or correctly handling Accept headers, 🙂 little things add up I think

2017-12-04T21:03:03.000030Z

@danielcompton I really appreciate that explanation, thank you.