8 ms·
Unified API of WebSocket and HTTP long polling/streaming for Clojure
- ceslami 13y agoI, and many others, want to use this in production. Is the API solidified, as per version 2.0.0?
- shenedu 13y agoYes, 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 https://github.com/ptaoussanis
- polskibus 13y agoThis seems similar to SignalR in .NET world, would you mind comparing the two feature-wise ?
- shenedu 13y agoI 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/ http://socket.io/
- toisanji 13y agoHow does compare with all the other async offerings for clojure like aleph and pure netty?
- matthavener 13y agoI'm curious how it compares to pedestal.io
- shenedu 13y agopedestal is quite a large project, try to offer a complete solution for building web application in Clojure, from server side to client side, to tooling. http-kit is a very small and focused library, It just do one thing: talk in HTTP. http-kit need to work together with other libraries like Ring[1] and Compojure[2] to do the server side. Few good things about http-kit: 1. Very fast and scalable, almost as fast as what you can get from the hardware. 2. Focus, do one thing and do it well, thing about Linux/Unix's philosophy. Personally, I prefer this way of doing software. [1] https://github.com/ring-clojure/ring https://github.com/ring-clojure/ring [2] https://github.com/weavejester/compojure https://github.com/weavejester/compojure
- espeed 13y agoSee https://github.com/ptaoussanis/clojure-web-server-benchmarks https://github.com/ptaoussanis/clojure-web-server-benchmarks
- donjigweed 13y agoHi 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 13y agoThanks 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 http://http-kit.org/migration.html#https