The progressive enhancement framework
Update a page fragment via AJAX
Animate a page transition
We've started to use Unpoly in production. We're currently building a few more apps with it in order to improve the public API.
If you use Unpoly in production, you should be OK with a minor API changes until we reach version 1.0.
Client-side MVC is a complexity driver
In order to meet the demand for modern, fast-moving interfaces, we have pushed more and more code into the client. This has vastly increased the complexity of our technology stacks. Modern web applications have a complete MV* stack on both sides of the wire, which we need to understand, synchronize and maintain.
We would like to reclaim some of the simplicity of classic server-side MVC development, while making your app feel more responsive and while enabling the most popular UI patterns you see on the web.
We will split this out into a plugin architecture eventually, but not now.
Not for ambitious UIs
While Unpoly pushes limits of what's traditionally been possible with server-side web development, the paradigm does have limits which we recognize. If you want to create a very ambitious user interface, Unpoly is probably not the best approach.
Plays nice with existing JS code
URLs are important
In Unpoly every page or screen state has a URL which you can bookmark and share. This also means you get all the SEO love from Google.
Server-side code should stay the same
Both UJS and programmatic interfaces
All Unpoly functionality is available as both unobtrusive behavior
(through HTML attributes like
with your code.
Unpoly supports all modern browsers.
Unpoly gracefully degrades with old versions of Internet Explorer:
|IE 10||Full support|
|IE 9||Page updates that change browser history fall back to a classic page load|
|IE 8||Unpoly prevents itself from booting itself, leaving you with a classic server-side application|
This is the best place to start with the documentation:
Linking to page fragments