Liking cljdoc? Tell your friends :D
Taoensso open-sourceSente

Realtime web comms for Clojure/Script

Sente is a small client+server library that makes it easy to build realtime web applications with Clojure + ClojureScript.

Loosely inspired by Socket.IO, it uses core.async, WebSockets, and Ajax under the hood to provide a simple high-level API that enables reliable, high-performance, bidirectional communications.

Sen-te (先手) is a Japanese Go term used to describe a play with such an overwhelming follow-up that it demands an immediate response, leaving its player with the initiative.

Latest release

Resources

  1. Wiki - community docs (👈 start here)
  2. Release info - releases and changes
  3. API docs - auto-generated API docs
  4. GitHub issues - for support requests, contributions, etc.

Features

  • Bidirectional a/sync comms over WebSockets with auto Ajax fallback
  • It just works: auto keep-alives, buffering, protocol selection, reconnects
  • Efficient design with transparent event batching for low-bandwidth use, even over Ajax
  • Send arbitrary Clojure vals over edn or Transit (JSON, MessagePack, etc.)
  • Tiny API (see the wiki for details)
  • Automatic, sensible support for users connected with multiple clients and/or devices simultaneously
  • Realtime info on which users are connected over which protocols
  • Standard Ring security model: auth as you like, HTTPS when available, CSRF support, etc.
  • Support for several popular web servers, easily extended to other servers.

Funding this work

Please see here if you'd like to help support my continued open-source work (thank you!! 🙏) - Peter

License

Copyright © 2014-2023 Peter Taoussanis, licensed under EPL 1.0 (same as Clojure).

Can you improve this documentation? These fine people already did:
Peter Taoussanis, Daniel Szmulewicz, Daniel Compton, Sebastian Bensusan, Justin Grimes, Toby Crawley, Andrew Phillips, Earl St Sauver, u0xee, Timothy Pratley, Földi Tamás, Matt Ford, ReadmeCritic, Eduardo Bellani, davidvujic, whodidthis, Thomas Crowley, Sam Ritchie & Heikki Hokkanen
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close