I think server frameworks like GWT and Echo take the wrong tack, they favor the developer to the detriment of the designer. I think the JavaScript toolkits have it right by separating the concern of the UI away from the back end and placing it squarely in the hands of the designer and UX developer. It is a different discipline and given the historic nature of web development, server toolkits either favored the developer (Java) or the designer (PHP) and made sacrifices to the opposing discipline. Removing the UI from the server all together provides the best of both worlds for all parties involved. Even if you are a lone gunman freelance.
I mentioned GWT because the linked blog post discusses some of the first baby steps toward the idea of building a real single-page client-side app, whereas GWT has been doing some real heavy lifting in that space for a long time...I'm a little disappointed that the post received so many upvotes, since it seems like using the URL hash to preserve state on-page should be common knowledge for any web developer.
I agree that GWT is not friendly to UI people who are used to writing their own markup. But I would argue that a good UX person should be concerned with how the user interacts with the application (not necessarily by writing HTML and CSS by hand, but by sketching out the design on paper or Illustrator), and a framework like GWT often makes it simple to build complex UIs that would be difficult/labor-intensive to create and maintain with a traditional web dev stack. A decent developer should be capable of taking mockups from a designer and building out the rounded corners and other pretty bits himself in CSS.
just to be clear, this is all relative? Lets face it, in the world of creativity and development, there is no right and wrong. I have seen some beautiful applications developed in VB, a technology I despise, I am also continual impressed with what the PHP guys produce, despite the fact that I personally loath working in PHP. So in that context GWT is not right for me, and I find that it is not right for a lot of other development houses, because they are focused on design centric concerns as much as development centric. Yes, you can find a master of both worlds, but many times you can find a wonderful designer who's logic escapes him, and we have all seen the horrors of a programmer designing interfaces. It has been my experience that it is easier to find masters of one and mediocrity of both. So for me, and my development efforts separation of concerns is the right thing. For others GWT may be the right selection. I just wanted to be clear in my statement, I am not telling anyone what is right for them, I am telling them what is right for me and the developers I work with.
Everyone has their preferred toolsets and frameworks and of course they should use what they feel is most effective. Case in point: my shop uses very little GWT - my coworkers prefer different tools (and often so do I; GWT is overkill IMHO unless you're building something big).
But this is all not really relevant to my point:
I was talking more about how the linked-to blog post was kind of web-development-101 stuff that everyone already knows and somehow, sadly, still received many upvotes/comments. I only brought GWT into the mix because some guy wrote a blog post about listening for URL hash changes and is presenting it as the future of web development, while (using GWT as an example) people with PhDs have written an optimizing Java to Javascript compiler and engineered very good solutions to difficult client-side web development problems that completely trivialize something as basic as hash change history tokens.
Last I checked you write Java, and it generates the UI and the services. It is a server framework because the same tool is responsible for the development server side and the client side, it is an evolution from stuts or JSF, but in the end you are developing the UI from a backend developers perspective. I know that it generates client side code and that it uses the familiar JS client model. But it is still designed for the comfort of the backend developer. Quit honestly GWT et. al. further alienate the designer in favor of the developer.