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
|
||||
BrowserChannel.
|
||||
|
||||
## goog.net.BrowserChannel
|
||||
From the [Google Closure API][1]:
|
||||
|
||||
From the Google Closure API: "A [BrowserChannel][1] simulates a
|
||||
bidirectional socket over HTTP. It is the basis of the Gmail Chat IM
|
||||
connections to the server."
|
||||
The javascript api of BrowserChannel is open-source and part of the
|
||||
> A BrowserChannel simulates a bidirectional socket over HTTP.
|
||||
> It is the basis of the Gmail Chat IM connections to the server.
|
||||
|
||||
The JavaScript API of BrowserChannel is open-source and part of the
|
||||
Google Closure library. The server component is not, as is noted in
|
||||
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
|
||||
|
||||
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
|
||||
client-side functionality you'll use in your web apps.
|
||||
|
||||
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-immutant-adapter][4]
|
||||
|
@ -35,12 +38,13 @@ following any of the above links to them.
|
|||
|
||||
## 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
|
||||
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:
|
||||
|
||||
|
@ -48,25 +52,27 @@ The chat-demo web app runs in at least:
|
|||
* Firefox
|
||||
* Internet Explorer 5.5+ (!!)
|
||||
* Android browser
|
||||
* Others
|
||||
|
||||
## Related and alternative frameworks
|
||||
|
||||
* Websockets - Websockets solve the same problems as BrowserChannel,
|
||||
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
|
||||
only has two transport protocols: XHR and forever frames (for IE) in
|
||||
streaming and non-streaming mode.
|
||||
|
||||
[3]: http://socket.io
|
||||
[6]: http://socket.io
|
||||
|
||||
## Other BrowserChannel implementations
|
||||
Many thanks to these authors, their work is the only open-source
|
||||
documentation on the BrowserChannel protocol.
|
||||
|
||||
* [libevent-browserchannel-server][libevent]
|
||||
in C++ by Andy Hochhaus - Has the most extensive [documentation][libevent-doc] on the BrowserChannel protocol
|
||||
* [browserchannel][ruby] in Ruby by David Turnbull
|
||||
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 (dead project?)
|
||||
* [node-browserchannel][node]
|
||||
in Node.js/Javascript by Joseph Gentle
|
||||
|
||||
|
|
Reference in a new issue