-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 26.12.2015 00:51, Jethro Kuan Sheng Yuan wrote: > Have you seen castra before? Seems like both are trying to achieve > the same objective. >
No, I haven't seen it before. Thanks for pointing it out. I probably haven't communicated the objective of kabel clearly then, as castra is on what I consider the opposite of the spectrum of what kabel is supposed to be. castra, to my current understanding, models a high-level RPC mechanism over a REST API and tries to make the connection between server and an explicit web-client easy by providing the necessary infrastructure and syntactic abstractions with macros. On the other hand I tried to break the concept of a connection down to the minimum of a bidirectional wire (as opposed to a single core.async channel, which does not have wire semantics, e.g. latency). Building a wire then can be done in a platform-neutral manner with two core.async channels. The library is focused on providing this single abstraction and composes in a ring-like fashion out of plugging wires together. There is no distinction between server and client, except that browsers cannot open ports, but this is not baked in the design and could change with WebRTC for instance. You can also for example connect to another peer from the JVM in exactly the same way as a browser would do, which is what I am doing in replikativ. (1) kabel provides little convenience atm., e.g. no authentication, but decouples different middlewares by messages as values similar to Erlang, so all kind of convenience functionality can be implemented with the same wire "pattern"/abstraction and can be stacked together in a decoupled fashion. Does this distinction make sense to you? Christian (1) https://github.com/replikativ/replikativ/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQEcBAEBAgAGBQJWftnWAAoJEKel+aujRZMkBFwIAIO1romV3n7IsIO9QkfMoxzn 8+f/jyJUYflDrk5e71izN3ZjsyhrY3McXPkeA+u12KJrJghl5ow279pkzSlkcFQx zkKlf33XcTkN/FZHCWINJH+TkN7b7hf+OZHQQvQ6hRAUkeX1jIyX/JawhlchGV3F KU0bsZbqVZ5V/1JjNmIdABsSfQxhic+hhdFuRsvMlfqglD5KsCXde+Y1H8v21zFK CDytK1d0Jcn8Ge6Bf3Dqzf2fKqIPdo143pvdAmOsxBd1WE21mX8KMorKmZzjBvJi wP9gQPZ60wUM/jZTWY0FVi6PTGIVD8ajcEX4JLxUHA/iROWLEmblJR4VeAEgJCs= =28UU -----END PGP SIGNATURE----- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.