Can anyone see any issues with these technologies with thymeleaf?
3) I am also looking at deploying my application onto the google app engine which means that all classes used must be serializable. I haven't downloaded the thymeleaf source yet but I was wondering if there would be any issues with this?
Very well written documentation too I must say. It was very easy to learn how to get up to speed and start coding in thymeleaf, a big plus point in my book.
This should provide me the ajax-validation that Summer provides. I do like the look of thymeleaf a lot more than summer. Well... there is just documentation for it!
One thing I have been wondering with having the natural templating and jQuery is that if I have a data table with an HTML table was it's source, the browser should be able to render the jQuery in the natural template. It would be amazing to edit jQuery CSS and see the results on the fly. I still need to test it out, but after deploying JSF apps for years having natural templating seems like something I could never live without now.
To be honest, I don't know Summer, so I cannot tell about real differences between it and Thymeleaf... but it looks interesting, so I'll certainly keep an eye on it.
As for Google App Engine, as far as I can remember it doesn't require that all classes are Serializable. It does though impose some limitations on your code like: 1. Only using "whitelisted" java classes (which thymeleaf does), 2. Not creating your own threads (which Thymeleaf does not create), 3. Not trying to directly access the filesystem (which Thymeleaf does not try if you use servletcontext and/or classloader template resolvers), 4. etc.
This said, I haven't tested thymeleaf at GAE yet -- though it is in my To-Do --, so I cannot give you a 100% certain answer. All I can say for now is it *should* work OK.
Think however that GAE punishes framework initialization time because it doesn't guarantee you that your server instance will be around for too long (it's continuously starting and stopping instances), so the less initialization a library needs to do on its first run, the better... and thymeleaf needs some initialization (some internal structures are created the first time a template is processed). This isn't a huge amount of time... but it's something to think about (btw, you might be able to execute this initialization faster if you set log level to >= WARN).
Also, think that if GAE recycles instances continuously, your parsed template cache will not be of much use... it will certainly help while the instance is alive, but of course it will have less impact on performance than on a "normal" server.