JavaScript Fat Clients versus Web Framework with plenty of widgets
<p>In the Java EE world there are really two popular ways of architecting:</p>

<ol>
<li>Fat clients with JavaScript, JavaScript libraries which make REST calls to your Server.</li>
<li>Thin clients, a web Framework something like JSF 2.0 and fatter servers.</li>
</ol>

<p>The fat client approach offers the advantage of very fine control of the DOM, finer control of what gets cached, ability to use CDNs but it also requires people who know their Crockford and things like unit testing approaches are not very mature.  </p>

<p>What do you see as the pro's and con's of both approaches?</p>
