If I was to share anything from my recent experience these would be my main points: - use the correct HTML5 elements for input (eg: "number" brings up the keyboard with numbers already selected, "date" brings up a native datepicker (iOS5+))
- Use lightweight javascript frameworks, or write your own. I tried JQueryMobile and performance was terrible with just a simple list(on iPhone 4). Used XUIJS instead and rolled my own framework on top to manage views etc. Performance is great.
- Use graphics only when needed, gradients, shadows, should all be css.
- If you must use graphics, be sure to support high res screens with alternative resolution images. I found the best way is to use the 'background-image' css property with pixel ratio css media queries to differentiate between different resolutions.
- Set the correct metadata values so you can add your web app to the homescreen to run full screen.
One problem I had was a lack of access to Android devices for testing, but I used this site http://www.manymo.com/ and found it invaluable.