For the sake of being aware of the other options available for mobile frameworks, I checked out Kendo UI mobile from Telerik (I chose to check out Telerik’s mobile framework because my company already has licenses for Telerik products anyway). Here’s what I discovered about Kendo UI mobile:
- It has MVVM built in which works smoother with the mobile UI framework, compared to jQM + KO
- The MVVM functionality that is built in is not as fully featured as knockout, though.
- Specifically, knockout works well with big ViewModels and nested observables (i.e., an observable array, each with observable properties), while Kendo seems to want small viewmodels bound to small parts of the DOM.
- Also, I should mention, choosing to ignore their built in MVVM in favor of knockout doesn’t work at all. I tried, and confirmed that it doesn’t work/isn’t supported from a Rep posting on their forum
- There’s a new syntax to learn (a small hurdle)
- They’re big feature is “native feel” meaning on iOS, it’s supposed to look like iOS native controls, and on Android, it looks completely different.
- The catch, though, is that they are behind. Both OS’s have been updating and changing how they look, but Kendo is lagging behind – meaning you don’t really get native looking controls, you get deprecated native looking controls.
- Example: iOS updated toggle controls/background.
Overall, I think it’s probably a wash in terms of quality of Kendo UI mobile vs jQuery Mobile + Knockout. Having already invested a significant amount of time into learning and becoming familiar with the patterns and syntaxes of jQuery Mobile and Knockout.js, there are no benefits that are significant enough to merit the switch. However, at the rate that mobile frameworks are being updated and improved, it is worth keeping an eye on Kendo UI and others (like Sencha Touch and jQTouch), and reevaluating in the future.