e.g. I needed to pass the parameters derived from a dynamically created user interface, plus some other structures such as an array of objects to the server.
I went with a form as then I don't need custom marshalling code on the browser end, but then I needed to manually encode/decode the array. It didn't take too many LOC to do it in the end, but it took a long time to find out what those LOCs were (albeit most of the time trying to work out how to access the app server jaxb context and how to use it to decode some json embedded in a form field).
e.g. although you can submit a form, if you want to submit it silently you need to manually create the HTTP data packet yourself ... which is something you don't even get close to having to worry about at the server end anymore and haven't had to for years.
The language itself is ok enough I guess - although anyone wedded to IDE auto-completion (like my work-mate) is lost due to it's dynamic nature, but the browser supplied run-time platform is a total joke. This is pretty much what I suspected and wrote about previously but to have it confirmed is no point of joy.
I'm still left convinced that Apple's embrace of 'HTML5 will save the world' for example is just a cynical part of their marketing campaign against Adobe, and additionally an avenue for people to buy their hardware, realise it just isn't up to the job, and force them to write custom applications then tied exclusively to their proprietary platform. The greedy pig-fuckers.