Abstract: Embodiments are directed towards a framework for building client-server applications. A server may provide a view definition to a client based on a page request. The view definition may define a view, and relationships between view elements and view manager elements. The client may locally bind user input associated with at least one view element to at least one view manager element based on the relationships. The bound view manager element may be provided from the client to the server based on explicit or implicit synchronization conditions. A view manager on the server may determine a result based on the bound view manager element. The client may locally bind the result associated with another view manager element to another view element based on the relationship. The client may update the view based on the bound other view element.