我目前正在 KnockoutJS 之上构建一个 web 应用程序 - 真的,编程极乐使用!

我已经到了需要添加移动开发框架的阶段,并且一直在考虑我的选择。

我目前倾向于使用 Sencha Touch,因为它的成熟度和我需要的独特插件。

我唯一担心的是 Sencha Touch 的 OO + 声明性 javascript 编码是否非常适合 MVVM 框架,例如 Knockout?

我的意思是 Knockout 利用了 View (HTML 页面)将通过数据绑定(bind)调用模型的概念。 ExtJS (Sencha Touch) 不丰富 View ...相反,它期望所有 HTML 内容都以声明方式编写。

我在这里处理油和水吗?你有什么想法。

注意:我很想知道这两种不同的架构是否能很好地结合在一起。不太想知道 Sencha Touch 与其他框架的比较。

最佳答案

GluJS 为 ExtJS 3.x 和 4.x 提供 MVVM。 Sencha Touch 绑定(bind)正在筹备中。这些家伙还提供了一种简洁的规范 (SVVM) 方法。这些东西真的应该是 Sencha 核心代码库的一部分,并且 ExtJS 4.x 类模型将非常适合,因为 4.x 可以为 GluJS 使用的两种方式绑定(bind)提供钩子(Hook)。

DeftJS :另一个得到很好支持的不错的选择是 DeftJS ;一个开源库,它向 Sencha ExtJS 和 Touch 添加了带有 ViewControllers 的 MVC(所以不是很完整的 MVVM)。它还添加了控制反转 (IoC) 和 Promises/Deferreds,以实现更清晰的异步编码。

更新...

Sencha ExtJS 5.x 现在支持带有 View 模型的完整 MVVM,我们预计下一个主要版本...... Sencha Touch 3.x ... 可能会做同样的事情。 ExtJS 5.x 也更新为包含与 Sencha Touch 相同的核心类和类模型,因此这使得 Touch 3.x 更有可能匹配与 ExtJS 5.x 相同的 View 模型。

KnockoutJS 做得很好,但这只是您需要的一部分。不利的一面是,你最终不得不去寻找所有丢失的部分,然后玩“如果可以的话,我会”交叉手指,明年“某人”仍会支持所有部分。相比之下,Sencha API 提供了在一个版本周期内构建和维护整个应用程序所需的大部分内容。查看 this blog post 下的标题“The Modern Web Stack”。

关于mvvm - Sencha Touch 能很好地适应像 KnockoutJS 这样的 MVVM 模式吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6845158/

10-12 13:08
查看更多