Unpoly 3.7.3 is now available.

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

The unobtrusive JavaScript framework for server-side web applications

Unpoly enables fast and flexible frontends for server-rendered HTML views. It has no dependencies and plays nice with existing code.

Smoother navigation
Unpoly links can update page fragments instead of full pages. No custom JavaScript required.
Branch off into layers
Branch off subinteractions into layers, Return to the main page when you're done.
Complex forms become easy
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.
Structure for JavaScript snippets
Organize your frontend code 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.