Unpoly 3.10.2 is now available.

To stay up to date, watch GitHub Discussions or follow on Twitter.

Progressive enhancement for HTML

Get powerful new HTML attributes to build dynamic UI on the server. Works with any language. Gracefully degrades without JavaScript.

Links only update changed fragments
Unpoly enhances your links to update fragments instead of full pages. This preserves other page state, like scroll positions or forms.
Branch off into layers
Branch off subinteractions into overlays. Return to the main page when you're done.
Outsmart server latency
Client-side interaction feedback
Organize your JavaScript snippets
Organize your Javascripts in compilers to pair HTML elements with JavaScript behavior. Enhance existing HTML tags or create new elements.
Animation
Animate page changes with fade, swipe or zoom transitions.
Extensible
Hack and extend Unpoly using its comprehensive render lifecycle, JavaScript API and event model.
Plays nice with existing code
Migrate any server-side web application with manageable changes to existing JavaScripts.
Fix concurrency
Avoid real-world race conditions by smart aborting, batched validations and disabling submitted forms.