【发布时间】:2012-03-15 23:22:06
【问题描述】:
我正在构建一个(相当简单的)网络应用程序,最终将在桌面设备和移动设备上同等使用。我在后端使用 Rails,但实际应用程序将构建为单页应用程序,因此 Rails 将简单地提供初始前端资产并充当 REST 后端。
我想将 jQuery Mobile 用于移动优化的 UX,包括列表视图、触摸输入(例如滑动以编辑项目)等(请注意,我考虑过只使用 UI 框架,例如 Twitter Bootstrap或 Foundation,但我会从 jQuery Mobile 支持的更深入的移动优化用户体验中受益匪浅。)
我还想使用 Javascript MVC 框架来更好地构建我的 Javascript 代码。我已经使用了一些框架,但没有深入使用它们中的任何一个,并且仍在争论最终的选择。
我的主要问题是,这些 MVC(或 MVVM)框架中的哪一个已被证明可以与 jQuery Mobile 很好地结合使用。
除了移动设备,我更喜欢基于数据绑定的框架,例如 Knockout、Ember、Angular 或 Batman(事实上,根据我最初的实验,我非常喜欢 Batman),它会在运行时自动更新 UI模型层变化。但是,我可以看到这与 jQuery Mobile 冲突,后者也对 DOM 进行了重大更改,还想要拥有位置哈希等。
另一种方法是使用较低级别的框架之一,例如 Backpack 或 Spine。我想路由层仍然会引起冲突,但我至少可以使用模型、控制器和视图层(尤其是 REST 持久性)。
或者也许有一种混合方法,其中基于数据绑定的 MVC 框架用于桌面版本中的所有内容,并且在移动版本中以某种方式将视图层换成了 jQuery Mobile,仍然利用模型层和控制器层?
对基于数据绑定的 MVC 框架之一有帮助吗?背包或脊椎有什么好运吗?你会推荐它们吗?还有其他推荐吗?
我意识到这个问题有点开放式,没有一个正确的答案,但我觉得这仍然是 Stackoverflow 的合适问题。
【问题讨论】:
标签: javascript model-view-controller mobile frameworks jquery-mobile