Given the profusion of HTML5 libraries and frameworks, choosing the right HTML5 technologies for your HTML5 application could be a daunting task. At BriteSnow, we build high-end HTML5 applications for a living, and our two main guidelines to select HTML5 technologies are as follows:
Avoid touch or mobile only frameworks (i.e., avoid device-specific HTML5 frameworks) because having different technology stacks per HTML5 device type removes the core benefits of HTML5. Yes, an application might have a different façade or even behavior depending on form factor and input type (usually a mobile phone on one side, and a tablet/PC Web on the other), but it should not (must not) require two different tech stacks, let alone rewriting the application twice. Writing two applications, one for Touch and one for PC Web, does not make sense, especially when you consider that the appropriate split is often between a smart phone on one side and a tablet/PC on the other. In other words, Touch is just another input mechanism and should not be a factor in splitting the technology stack or application code.
Following these two main principles, here are list of good technologies to use versus riskier ones.
jQuery (core) is a very mature and efficient way to query, access, and modify the DOM. jQuery is not a framework but more of a DOM DSL (domain specific language). Because jQuery is a lower level and well optimized, it works great for mobile, tablets, and PC HTML5.
brite.js* is a lightweight DOM Centric MVC that turns the DOM environment into a simple and powerful MVC foundation. It has a similar approach to backbone.js, but it is more tailored to high-end applications as it provides a fully asynchronous view life cycle as well as a powerful and asynchronous DAO model.
* Disclaimer: We are the creators of brite.js, which we have been using for the last 3 years to build high-end HTML5 applications. We finally had time to document it. If you have any question, feel free to drop a line below or on any of the brite pages; we always respond within a few hours.
jQuery Mobile and jQuery UI: Like the Sencha frameworks, these also break the “avoid device-specific framework” guidelines. Second, although they both seem more HTML-oriented than Sencha frameworks, their design relies on a heavy post- HTML processing and CSS class manipulation, which significantly impacts application performance as well as styling and customization. We also found that jQuery Mobile has some serious design flaws, such as the page model, which makes writing large-scale responsive applications very difficult.
So this was our brief guide to choosing robust, simple, and future proof HTML5 technology. There is much more information on the subject, and if you have any further questions, issues, or even disagreements, feel free to drop a line below; we always respond within a few hours.
Note: If you liked this article and have a Hacker News account, a +1 on HN would be greatly appreciated.