The idea is to use declarative markup to achieve better UX without the complexity of client-side javascript frameworks and retaining most of the familiar web app techniques and advantages. It's a riff on pjax, the basecamp 2 approach and Angular.
So, if you want a button to post to a url, you simply say:
<button ic-post-to="/some/url">Post It!</button>
And you get an AJAX post when that button is clicked.
Another aspect to it is using REST-ful paths to express dependencies. So you could have a div depend on the path that the button above posts to and, after the post succeeds, we would refetch the div content and swap it in (if it is different):
<div ic-src="/some/url/my_div_src">...</div>
Because "/some/url/my_div_src" is a child path of "/some/url", this div will get refreshed when you click the button.
HTML5 + AJAX + RESTful end points + Basecamp2-style partial swapping => Intercooler.js
The idea is to use declarative markup to achieve better UX without the complexity of client-side javascript frameworks and retaining most of the familiar web app techniques and advantages. It's a riff on pjax, the basecamp 2 approach and Angular.
So, if you want a button to post to a url, you simply say:
And you get an AJAX post when that button is clicked.Another aspect to it is using REST-ful paths to express dependencies. So you could have a div depend on the path that the button above posts to and, after the post succeeds, we would refetch the div content and swap it in (if it is different):
Because "/some/url/my_div_src" is a child path of "/some/url", this div will get refreshed when you click the button.The main site is here:
http://intercoolerjs.org/
And a rough demo is here:
https://vimeo.com/85881209
When I get a bit further along and convince myself it's a decent model for development, i'll do a ShowHN.