HTML5 based mobile applications can provide application architects and deployment specialists key benefits with which native applications simply can't compete. Of course, native applications typically provide enhanced usability benefits over HTML5 based applications, and providing a high quality experience to the end user typically trumps the needs of the application lifecycle management specialists on the back-end. However, hybrid mobile applications that combine HTML5 and native code are becoming the norm. Here are seven tips on how to improve and enhance the effective use of HTML5 in mobile applications:
Top 7 Tips for Developing Mobile Applications
- Decide what to use where. Experts at Amazon have suggested HTML5 for things like UI, web view, style sheets and Java for aspects such as querying the device, screen rotation, and memory management with JS bridges to make calls between components. But that’s because of the type of apps they are focusing on developing right now, such as e-readers and shopping. HTML5 isn’t as good at highly interactive tasks, so a gaming company might make very different decisions.
- Make your apps simpler to avoid problems. If you don’t need highly complex touch and gesture recognition like pinch/spin, leave it out. Serve images at the size you need for the device. Avoid scaling on the client. In general, make things small, use sprites, and leverage the cloud where you can.
- Appearing fast is the next best thing to being fast. If a user pushes an app button over and over like they are waiting for the elevator door to open, you’ve failed. Adding visual cues like a spinner or flashing button to show that the app is responding can cut down on frustration.
- Use Java native code to implement multiple threads to call services. This can boost speed if you don’t overdo it. Running to many processes in parallel to try to make your HTML5 faster can backfire if it ends up gobbling all your resources on the device.
- Understand the pros and cons of your caching options. App cache usually works, but there are no guarantees and the server settings may override the browser hints. If you want more control, a local storage feature may be better.
- Build modularly. Don’t pile all your methods into one object or it will be unwieldy. On the other hand, don’t get too granular or you’ll end up with too many classes. Group based on functionality (resources, storage, publication/subscriptions) so you can divvy up the work to your developers and reuse chunks of code for different apps.
- Above all, figure out how to measure speed and other performance factors so you can improve your hybrid apps. There are no “best” tools for this right now, so you may have to build your own.
Simply put, the end user doesn't care if they are using a native, hybrid or HTML5 based application. A mobile app that uses HTML5 should be indistinguishable from a fully native counterpart. This means a mobile app has to be fast, fast, fast, regardless of the implementation. Long latency is unacceptable. So is a lack of fluidity in the touch screen. Feature access is also important – users still want to be able to get at their phone functions like the calendar and contacts easily.
The main attractor for using HTML5 is that it provides more centralized control over important aspects of the software development lifecycle (SDLC). Developers can update an HTML5 app at any time with no upgrade necessary on the user’s device. That means application lifecycle management (mobile ALM) is easier and safer. It also means testing is faster. There’s no need to keep pushing the app to the physical device to test it. The portions developed in HTML5 can simply be tested in the browser.
The key to using HTML5 in a mobile application is ensuring that the end product performs in a way that meets the expectation of the end user. If used smartly, HTML5 can indeed be used in place of native code, giving software architects and deployment specialists greater control over application lifecycle management tasks such as quality control, updates and hot deployment.
Do you have any good tips for creating hybrid mobile applications?Let us knowhow you make hybrid mobile development work.