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 ?
1 Answer