top | item 5459723

Unified API of WebSocket and HTTP long polling/streaming for Clojure

58 points| fshen | 13 years ago |http-kit.org | reply

10 comments

order
[+] polskibus|13 years ago|reply
This seems similar to SignalR in .NET world, would you mind comparing the two feature-wise ?
[+] shenedu|13 years ago|reply
I am afraid http-kit is much feature less than SignalR. SignalR provides client side javascript[1], and hubs. http-kit provide non of these. http-kit just provide a way to get a Channel that can be used to push data to client, The Channel can be WebSocket or HTTP (long polling/streaming). IMO, http-kit is more like a unix command line tool, tiny and focus.

Socket.IO[2] is more like SignalR compare to http-kit.

[1] jquery.signalR-1.0.1.min.js [2] http://socket.io/

[+] donjigweed|13 years ago|reply
Hi Feng,

Great work! I know it's quite complicated, but how are the plans for https support coming along?

Kudos to you and Peter on a great library!

[+] shenedu|13 years ago|reply
Thanks for the kind words.

For the server, https is not planed, since It's better be done by Nginx or something alike [1].

For the client, https is planed. We have use case for it, too. Some time is needed to work on it. It will come out in one or two month, I guess.

[1] http://http-kit.org/migration.html#https

[+] ceslami|13 years ago|reply
I, and many others, want to use this in production. Is the API solidified, as per version 2.0.0?
[+] shenedu|13 years ago|reply
Yes, it's 2.0.0, that's a promise of the API. No API breaks after 2.0.0 get released (It's already released today).

To tell the truth, I, Peter[1], and a few others take more than a month to think and discuss the API, even though there are just few functions to export. We try our best to make it better. In the end, I think, We are quite happy with what we get now: the unified API.

If a very good idea found to do the API, but the API would break, then it's version 3. But version 2 will still be maintained, and any bugs will get fixed. That's the promise.

Is this address your concern?

[1] https://github.com/ptaoussanis