Unpoly 3.9.3 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.

Smoother navigation
Unpoly links can update page fragments instead of full pages. No custom JavaScript required.
Master complex forms
Submit forms without leaving the page. Work with forms within modals, validate forms and update dependent fields using short HTML attributes.
Faster response times
Outsmart latency by preloading pages, caching responses, following links earlier and keeping a persistent CSS / JS environment.
Branch off into layers
Branch off subinteractions into overlays. Return to the main page when you're done.
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 hooks, 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.