I've been researching on building web applications in a true client-server fashion.
This type of architecture basically consists of :
A thin server, merely a headless api that :
handles security concerns
processes core business logic
provides data persistence
A fat client, with a desktop-like design that :
caches data, and makes offline use possible
has gui-templating and rendering capabilities
holds and processes non-critical business logic
However, at first sight such an architecture wouldn't play nice with how the web works today :
poor or no possible fallback when javascript isn't available (2% of user-agents nowadays, am I right ?)
accessibility concerns (I'm kinda clueless here)
SEO concerns, cloacking is an option but that means one should provide some server-side html rendering, and making that content relevent could be tricky
Anything else I'm missing ? Which approach would you take to work around those issues ?