...
I would vote for Dojo. It has a dojo.data API (similar purpose to JDO/JPA+beansbinding), that can be used to connect to Sling using HTTP, and to the widgets using data binding. Hopefully Sling can also expose a "standard protocol" that can be used with Dojo's JsonRestStore.
Example of a Dojo app, using dojo.data API, backend by a REST store, using SOFEA approach: http://www.persvr.org/explorer.html
~ Hendy Irawan