10

我正在构建一个(相当简单)的web应用程序,它最终将在桌面和移动设备上使用得相当一致。我在后端使用Rails,但实际的应用程序将作为单页应用程序构建,因此Rails将仅提供最初的前端资产并充当REST后端。Javascript MVC框架+ jQuery移动

我想使用jQuery Mobile进行移动优化用户体验,包括列表视图,触摸输入(例如滑动编辑项目)等。(请注意,我已经考虑过使用诸如Twitter之类的UI框架Bootstrap或Foundation,但我会从jQuery Mobile支持的更深入的移动优化UX中受益匪浅。)

我也想使用Javascript MVC框架来更好地构建我的Javascript代码。我已经玩过几个框架,但没有深入使用任何框架,并且仍在争论最终选择。

我的主要问题是这些MVC(或MVVM)框架中的哪一个已被证明与jQuery Mobile结合使用。除了移动设备之外,我的强烈偏好是基于数据绑定的框架,如Knockout,Ember,Angular或Batman(事实上,基于我的初始实验,我非常喜欢蝙蝠侠),它会在用户界面自动更新UI时模型层发生变化。然而,我可以看到这与jQuery Mobile相冲突,jQuery Mobile也对DOM做了重大更改,也想拥有位置哈希等。

另一种方法是使用较低级别的框架之一,例如Backpack或脊柱。我想路由层仍然会导致冲突,但我至少可以使用模型,控制器和视图层(尤其是REST持久性)。

或者也许有一种混合方法,其中基于数据绑定的MVC框架用于桌面版本的所有内容,并且视图层以某种方式在移动版本中替换为jQuery Mobile,仍然利用模型和控制器层?

任何运气与基于数据绑定的MVC框架之一?任何背包或脊椎运气?这些工作是否足够满足jQuery Mobile的需求?还有其他建议吗?

我意识到这个问题是有点开放式的,没有单一的正确答案,但我觉得这仍然是一个适合的问题Stackoverflow。

回答

2

,因为你得到了这么久没有答案,我只能用我的投票贡献了两个框架

Backbone.js的是经典的一个,强大的社区

不过我最喜欢的是从灰烬的点DESGIN视图。 Ember.js的目标之一就是让你已经使用的工具集成在一起,而且你会在其文档的一些例子中看到jQuery的功能。

我不知道jQuery Mobile的,我大多采用与正常jQuery的,但到目前为止,好看

要知道,灰烬不牺牲性能的一点点如果达到了更好的抽象。我通常赞成这一点。

+0

感谢您的回复。我有一段时间没有在这个项目上工作过,所以还没有选择最后一个栈。我确信Ember.js可以开始工作,但我仍然怀疑它可能不是与jQuery Mobile的完美结合。此外,性能可能是移动设备的一个问题。现在我倾向于使用Spine(我相信Backbone也会很好)。 – 2012-05-12 17:11:33

+0

嗨米尔科。有许多图书馆不适合与其他人一起玩。我听到很多人赞扬Ember,因为它与jQuery搭配很好,比Backbone好。在使用Javascript搜索MVC时,请注意您会看到许多微观框架。骨干是后来者,轻巧高效。其他人喜欢Ember试图成为专注于一个问题的完整解决方案。它的表现稍差(出于一个很好的理由),我还没有听说过它适合移动环境。 – SystematicFrank 2012-05-21 10:48:25

1

如果您关于有关性能,我建议你去Backbone,因为它不是一个全栈框架,这意味着它可以非常快相比其他全栈框架