我正在构建一个(相当简单的)Web应用程序,最终将在桌面和移动设备上平等使用。我在后端使用Rails,但实际应用程序将作为单页应用程序构建,因此Rails将简单地提供初始前端资产并充当REST后端。
我想使用jQuery Mobile来进行移动优化的UX设计,包括列表视图,触摸输入(例如滑动以编辑项目)等。(请注意,我已考虑过只使用如Twitter Bootstrap或Foundation之类的UI框架,但我非常需要jQuery Mobile带来更深层次的移动优化UX。)
我还想使用JavaScript MVC框架来更好地组织我的JavaScript代码。我已经试用了几个框架,但没有深入使用过任何一个,仍在考虑最终选择。
我的主要问题是这些MVC(或MVVM)框架中哪些已被证明可以与jQuery Mobile很好地配合使用。
离开移动设备不谈,我的强烈偏好是基于数据绑定的框架,如Knockout、Ember、Angular或Batman(事实上,根据我的初步试验,我相当喜欢Batman),它会在模型层更改时自动更新UI。然而,我可以看到这可能与jQuery Mobile冲突,因为它也会对DOM进行重大更改,也想拥有位置哈希等。
另一种选择是使用较低级别的框架,如Backpack或Spine。我想路由层仍然会引起冲突,但至少我可以使用模型、控制器和视图层(特别是REST持久化)。
或者,可能存在混合方法,在桌面版本中使用基于数据绑定的MVC框架处理所有事情,并在移动版本中以某种方式替换视图层为jQuery Mobile,仍然利用模型和控制器层?
有没有使用基于数据绑定的MVC框架的成功经验?有没有背包或脊椎的好运?它们中的任何一个都足够与jQuery Mobile很好地配合使用,您会推荐它们吗?还有其他建议吗?
我意识到这个问题有些没有明确答案,但我觉得这仍然是一个适合在Stackoverflow上问的问题。