Not so long ago I had a choice to implement my third year project using GWT, but in the end I went for JSF with Primefaces sprinkled with some JavaScript magic. While I haven't had a particularly enjoyable experience with JSF 2.1, as at times it felt quite difficult to mix with other technologies (e.g. jQuery), I still rate it quite highly overall. On the other hand, I have mixed feelings about GWT, and am most concerned about the cumbersome deployment process. Also, using JNSI to wrap JavaScript is something new to me.
Ok, so step 1 is watching Ray Ryan's presentation on a set of best practices used to construct high performance web apps in GWT.