yada

ericnormand 2019-12-09T17:00:50.016100Z

hello!

ericnormand 2019-12-09T17:01:30.016800Z

I am trying to determine which Clojure web server libraries are worth recommending to newcomers

ericnormand 2019-12-09T17:01:40.017100Z

I know yada uses Aleph

ericnormand 2019-12-09T17:02:08.017700Z

Zach Tellman has recently said that he's going to wrap up the open issues, call it Aleph 1.0, and step away from the project.

ericnormand 2019-12-09T17:02:23.018100Z

He also said that further development will have to be done by a new maintainer.

ericnormand 2019-12-09T17:03:21.019Z

I was thinking that JUXT might step into that role since you use Aleph so much.

ericnormand 2019-12-09T17:03:45.019700Z

Well, here's my question: do you still recommend Aleph, given the current status of the project?

malcolmsparks 2019-12-09T17:21:54.021100Z

Good question. Without pre-announcing too much, we are working to decouple yada from manifold in the next major update.

malcolmsparks 2019-12-09T17:22:44.022600Z

Now that Ring supports async (it didn't when yada started out) it is possible to support other async servers.

malcolmsparks 2019-12-09T17:23:56.024600Z

The concept of a 'resource model' is still needed and missing in Ring, so getting to http compliance without something like yada is tricky for users.

dominicm 2019-12-09T17:34:23.025100Z

Although we've not run into issues with Aleph so far. We've been quite happy with manifold overall.

ericnormand 2019-12-09T17:58:35.026600Z

Ah, thanks. Any concerns about Jetty's performance or Websockets?

dominicm 2019-12-09T18:31:04.031Z

I think our love for Aleph came from how easy it was to do non blocking io. The new ring async still doesn't address this, and consumes a whole thread in order to process streamed responses. This is particularly expensive if you're streaming web sockets which are low traffic. With something like Aleph you should be able to handle way more simultaneous connections.

👍 1
dominicm 2019-12-09T18:31:45.032100Z

I'm not sure if ring jetty has a WebSocket story now? Do you have to use a fork still to achieve that?

dominicm 2019-12-09T18:35:02.032700Z

https://github.com/sunng87/ring-jetty9-adapter not a fork, but you have to go third party

malcolmsparks 2019-12-09T18:40:59.034300Z

Talking with James Reeves last week, we'll have to wait for Ring 2 to get async responses (spoon fed content bodies)

dominicm 2019-12-09T19:03:29.034600Z

Breaking change?

borkdude 2019-12-09T19:33:12.035100Z

@ericnormand fwiw, we've been using aleph/yada in production for years and never had a problem with it

ericnormand 2019-12-09T19:34:19.035700Z

yeah

ericnormand 2019-12-09T19:34:47.036100Z

I was recommending Aleph as #1 choice

ericnormand 2019-12-09T19:35:20.037Z

but I think it has to be more nuanced now that I've learned Zach is stepping away and JUXT isn't stepping in.

borkdude 2019-12-09T19:35:36.037600Z

if Zach can't find a new maintainer, and JUXT won't do it, he could consider clj-commons

ericnormand 2019-12-09T19:35:40.037800Z

who might step in? as in a largish company with interest

ericnormand 2019-12-09T19:36:13.038100Z

and I didn't realize Immutant was dead, too

ericnormand 2019-12-09T19:36:39.038700Z

ring jetty doesn't have all the features, but at least it is maintained

danielcompton 2019-12-09T19:36:59.039200Z

I talked with Alexey at Strange Loop, and he's looking for someone to take over maintenance who is using it in production

danielcompton 2019-12-09T19:37:13.039500Z

He's happy to help mentor

danielcompton 2019-12-09T19:37:20.039900Z

We are using Aleph in prod, so it may end up being me 🙂

borkdude 2019-12-09T19:39:10.040400Z

Here's a huge list of companies using Aleph: https://github.com/ztellman/aleph/issues/450

ericnormand 2019-12-09T19:41:43.040800Z

nice

ericnormand 2019-12-09T19:42:34.041300Z

and to be honest, I would still use it myself on new projects

dominicm 2019-12-09T19:53:15.042800Z

I wouldn't be surprised if it's basically just done. Not sure.

ericnormand 2019-12-09T19:55:20.043700Z

yeah, that's what I believe

ericnormand 2019-12-09T19:55:42.044100Z

but it would be nice to know someone is backing it if something breaks

ericnormand 2019-12-09T19:56:25.044500Z

I hear Immutant doesn't work on JDK12, for instance

ericnormand 2019-12-09T19:57:03.045200Z

and as Netty is released and older versions stop getting fixes, Aleph will have to keep up

mccraigmccraig 2019-12-09T20:03:13.048Z

i don't think it's completely done... haven't had any issues on the server side yet, but ran into one a little while ago where i couldn't use aleph client because it doesn't support http/2 hpack

dominicm 2019-12-09T21:06:47.048400Z

I don't know the release plans for Netty

dominicm 2019-12-09T21:06:54.048700Z

Maybe there's not much to do?