Developers have a lot of options, but not many unified solutions to the common problem they all face: which mobile devices should I develop for, or should I create one solution for all? Hybrid solutions which allow the best of both worlds may solve the day.
By using HTML5, CSS3 and JavaScript libraries, and combining them with sparce device-specific native code, developers can create apps which are capable of being deployed across multiple devices.
The use of specific mobile-focused JavaScript libraries such as Sencha Touch wrap all these technologies into one framework, and provide methods of compensating for differences in mobile devices.