Reagent plugin for the views library, providing real-time component updates to server-side changes to data.
Go to file
2022-01-12 17:55:06 -05:00
examples update/fix class-registry example 2022-01-12 17:18:47 -05:00
views.reagent bump views.reagent version for development 2022-01-12 17:55:06 -05:00
views.reagent.sente update dependencies and fix things in views.reagent(+ .sente) 2022-01-12 17:18:21 -05:00
.gitignore update gitignore 2016-05-19 17:07:07 -04:00
LICENSE initial commit using test application code as the base & comments added 2014-12-24 19:19:43 -05:00
README.md update dependencies and fix things in views.reagent(+ .sente) 2022-01-12 17:18:21 -05:00

views.reagent

Reagent plugin for the views library, providing real-time component updates to server-side changes to data.

Usage

This library is made up of two core parts:

  • The actual library, views.reagent, providing core functionality.
  • A client/server communications plugin library which provides the glue code between whatever underlying client/server library you're using (most likely Sente) and views.reagent.

To use views.reagent in your application, you need to add both the main library and one client/server communications plugin library as dependencies. See their respective pages linked to below for more information on doing this.

Main Library Documentation

See here for full documentation.

Client/Server Plugin Documentation

If you're intent on using something else, you'll need to write your own client/server plugin library. Previously I provided a BrowserChannel plugin in addition to the Sente plugin library, but BrowserChannel is now pretty ancient and unnecessary since modern browsers universally support Websockets, so it was removed in favour of using Sente.

Examples

There are two example applications for you to look at to see a fully working web application with working views system configured and working.

  • Todo MVC. This is a copy of the original Reagent "Todo MVC" example app, but re-worked to use a SQL database and the views system.
  • Class Registry. This is a somewhat more complex application with a busy UI showing a bunch of data at once, but it does serve to show how a UI can be built from multiple different views at once.

Notes

views.reagent uses a separate plugin architecture for client/server communication mainly because I've observed that there are at times a variety of different ways in which people like to integrate client/server communications in their applications. I wanted to avoid (as much as possible) doing anything that would require any specific way of doing this kind of integration.

The client/server glue code provided by these libraries is incredibly light so if they do not meet your needs for whatever reason you should find it easy to create one yourself.

License

Copyright © 2022 Gered King

Distributed under the the MIT License. See LICENSE for more details.