Agreed, I definitely feel most comfortable with my Python on server-side, but the UI ability on this thing is beautiful. Too bad... I wish I was at JavaOne so I could ask these guys some questions regarding how easy it is to separate the two components.
Vaadin keeps the application state on the server, but the presentation (HTML) is 100% generated on the client side. Changes in server-side state are serialized and sent to client in compact User Interface Definition Language (UIDL). This is obviously a more secure approach to writing web apps, since the state is safe on the server. So no pre-rendering of UI on the server..
Yeah. Every component has a server side and a client side. Client side has all the rendering stuff in it while the server side has the business logic. That way the functionality can't be hacked as the client side is just responsible of sending input to the server, where all the hard work is done.
You can ask all the questions on your mind on our forums (http://vaadin.com/forum/). You don't need to attend JavaOne to get the hard questions answered.