After investigating WFS I have actually switched to vector layers in my application, like Matti suggested.
The good points are:
- gives you total control of what is displayed
- it’s easy to create any shapes you need, so also how the features are displayed
- no proxy needed
The cons
- having large number of features, you have to manually keep the number of ones displayed on the screen in the limits
- no support for clustering, also have to implement it myself
So, WFS i harder to set up initially and makes some use cases harder, but lacks some of the power features of WFS.
I believe at least controlling number of the features on the client-side could be done by lazy-loading them from the GWT side.
Also, would be good to make context menu (the “actions”) aware of the vector features and have double-click events on them. Right now I emulate both in the code.