more README updates
This commit is contained in:
parent
f83cc16c60
commit
ced124586a
32
README.md
32
README.md
|
@ -4,12 +4,12 @@ Cross-browser compatible, real-time, bi-directional
|
||||||
communication between ClojureScript and Clojure using Google Closure
|
communication between ClojureScript and Clojure using Google Closure
|
||||||
BrowserChannel.
|
BrowserChannel.
|
||||||
|
|
||||||
## goog.net.BrowserChannel
|
From the [Google Closure API][1]:
|
||||||
|
|
||||||
From the Google Closure API: "A [BrowserChannel][1] simulates a
|
> A BrowserChannel simulates a bidirectional socket over HTTP.
|
||||||
bidirectional socket over HTTP. It is the basis of the Gmail Chat IM
|
> It is the basis of the Gmail Chat IM connections to the server.
|
||||||
connections to the server."
|
|
||||||
The javascript api of BrowserChannel is open-source and part of the
|
The JavaScript API of BrowserChannel is open-source and part of the
|
||||||
Google Closure library. The server component is not, as is noted in
|
Google Closure library. The server component is not, as is noted in
|
||||||
the Google Closure book ("Closure: The Definitive Guide by Michael Bolin").
|
the Google Closure book ("Closure: The Definitive Guide by Michael Bolin").
|
||||||
|
|
||||||
|
@ -17,11 +17,14 @@ the Google Closure book ("Closure: The Definitive Guide by Michael Bolin").
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
This project is comprised of multiple libraries. You'll need to include
|
||||||
|
two of them in your projects.
|
||||||
|
|
||||||
[clj-browserchannel][2] is the main library containing both the server- and
|
[clj-browserchannel][2] is the main library containing both the server- and
|
||||||
client-side functionality you'll use in your web apps.
|
client-side functionality you'll use in your web apps.
|
||||||
|
|
||||||
In order to use the server implementation of BrowserChannel you'll need to
|
In order to use the server implementation of BrowserChannel you'll need to
|
||||||
use an async adapter. Currently the provided options are:
|
use one of the async adapters. Currently the provided options are:
|
||||||
|
|
||||||
* [clj-browserchannel-jetty-adapter][3]
|
* [clj-browserchannel-jetty-adapter][3]
|
||||||
* [clj-browserchannel-immutant-adapter][4]
|
* [clj-browserchannel-immutant-adapter][4]
|
||||||
|
@ -35,12 +38,13 @@ following any of the above links to them.
|
||||||
|
|
||||||
## Demo
|
## Demo
|
||||||
|
|
||||||
The [chat-demo][2] application is an example chat application using a
|
The [chat-demo][5] application is an example chat application using a
|
||||||
client-side and server-side implementation for BrowserChannel written in
|
client-side and server-side implementation for BrowserChannel written in
|
||||||
Clojure/ClojureScript. The server component is for BrowserChannel version 8.
|
Clojure/ClojureScript. The server component is for BrowserChannel version 8.
|
||||||
The client component serves as a wrapper over `goog.net.BrowserChannel`.
|
The client component serves as a wrapper over `goog.net.BrowserChannel`
|
||||||
|
which also currently implements version 8 of the protocol.
|
||||||
|
|
||||||
[2]: https://github.com/gered/clj-browserchannel/tree/master/chat-demo
|
[5]: https://github.com/gered/clj-browserchannel/tree/master/chat-demo
|
||||||
|
|
||||||
The chat-demo web app runs in at least:
|
The chat-demo web app runs in at least:
|
||||||
|
|
||||||
|
@ -48,25 +52,27 @@ The chat-demo web app runs in at least:
|
||||||
* Firefox
|
* Firefox
|
||||||
* Internet Explorer 5.5+ (!!)
|
* Internet Explorer 5.5+ (!!)
|
||||||
* Android browser
|
* Android browser
|
||||||
|
* Others
|
||||||
|
|
||||||
## Related and alternative frameworks
|
## Related and alternative frameworks
|
||||||
|
|
||||||
* Websockets - Websockets solve the same problems as BrowserChannel,
|
* Websockets - Websockets solve the same problems as BrowserChannel,
|
||||||
however BrowserChannel works on almost all existing clients.
|
however BrowserChannel works on almost all existing clients.
|
||||||
* socket.io - [socket.io][3] provides a similar api as BrowserChannel on
|
Websockets ultimately replaces BrowserChannel.
|
||||||
|
* socket.io - [socket.io][6] provides a similar api as BrowserChannel on
|
||||||
top of many transport protocols, including websockets. BrowserChannel
|
top of many transport protocols, including websockets. BrowserChannel
|
||||||
only has two transport protocols: XHR and forever frames (for IE) in
|
only has two transport protocols: XHR and forever frames (for IE) in
|
||||||
streaming and non-streaming mode.
|
streaming and non-streaming mode.
|
||||||
|
|
||||||
[3]: http://socket.io
|
[6]: http://socket.io
|
||||||
|
|
||||||
## Other BrowserChannel implementations
|
## Other BrowserChannel implementations
|
||||||
Many thanks to these authors, their work is the only open-source
|
Many thanks to these authors, their work is the only open-source
|
||||||
documentation on the BrowserChannel protocol.
|
documentation on the BrowserChannel protocol.
|
||||||
|
|
||||||
* [libevent-browserchannel-server][libevent]
|
* [libevent-browserchannel-server][libevent]
|
||||||
in C++ by Andy Hochhaus - Has the most extensive [documentation][libevent-doc] on the BrowserChannel protocol
|
in C++ by Andy Hochhaus - Has the most extensive documentation on the BrowserChannel protocol (dead project?). See the protocol documentation on [archive.org][libevent-doc].
|
||||||
* [browserchannel][ruby] in Ruby by David Turnbull
|
* [browserchannel][ruby] in Ruby by David Turnbull (dead project?)
|
||||||
* [node-browserchannel][node]
|
* [node-browserchannel][node]
|
||||||
in Node.js/Javascript by Joseph Gentle
|
in Node.js/Javascript by Joseph Gentle
|
||||||
|
|
||||||
|
|
Reference in a new issue