Intercooler is a PVC framework that allows you to add AJAX to your application with declarative HTML5-style bindings and REST-ful URLs, giving web applications a richer UX with a minimum of code.
<-- This button posts to the /example/click URL when it is clicked --> <button ic-post-to="/example/click"> Click Me! </button> <-- This span is bound to a URL that returns an updated version of the span when the button is clicked --> <span ic-src="/example/click"> You have not yet clicked the button </span>
You can use Intercooler.JS for as much or as little of your application as you like. It mixes in cleanly with either traditional web-app methodology or fancy-pants single-page-app libraries.
Keeping the simple stuff simple, you can use easy to understand REST-ful urls to specify a server-side UI model for your HTML elements. Of course, Intercooler is pluggable, so you can drop into javascript whenever you'd like.
Intercooler uses pattern matching in your REST-ful URLs to detect and refresh dependencies between independent elements. Typically it will do the right thing without any additional work on your part. Of course, if you need to add or ignore dependencies, Intercooler allows you to do that as well.
Although it was inspired by Partials in Rails, IntercoolerJS can work equally well with any back end platform. Additionally, it is designed to play well with other Javascript frameworks, so you can use AngularJS or EmberJS in places your UI call for it.
IntercoolerJS works fine with any HTML/CSS framework, but it was designed with Bootstrap in mind, making it easy to create dynamic UIs using standard, simple Bootstrap techniques.
IntercoolerJS was designed from the ground up to be open and extendable so, when push comes to shove, you can customise pretty much any part of the it you need to. On the other hand, Intercooler provides sensible, attractive defaults so you won't need to do much if you don't want to.