Fork me on GitHub
#yada
<
2017-12-04
>
Drew Verlee14:12:55

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.

mccraigmccraig14:12:00

@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

Drew Verlee15:12:32

@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.

danielcompton19:12:18

@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).

danielcompton19:12:54

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

dominicm20:12:22

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

Drew Verlee21:12:03

@danielcompton I really appreciate that explanation, thank you.