Sencha Touch能否适合像KnockoutJS那样的MVVM模式?

Had*_*ady 7 web-applications mvvm sencha-touch knockout.js

我目前正在KnockoutJS上构建一个网络应用程序 - 真的,编程幸福使用!

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

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

我唯一担心的是Sencha Touch的OO +声明性javascript编码是否适合使用像Knockout这样的MVVM框架?

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

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

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

Ton*_*gan 5

GluJS为ExtJS 3.x和4.x提供MVVM.Sencha Touch绑定正在进行中.这些人还提供了一个简洁的规范(SVVM)方法.这个东西应该是Sencha核心代码库的一部分,ExtJS 4.x类模型非常适合,因为4.x可以为GluJS使用的双向绑定提供钩子.

DeftJS:得到很好支持的另一个不错的选择是DeftJS ; 一个开源库,它将MVC与ViewControllers(因此不是完全的MVVM)一起添加到Sencha ExtJS和Touch.它还增加了控制反转(IoC)和Promises/Deferred,以实现更清晰的异步编码.

更新......

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

KnockoutJS做得非常好,但它只是你需要的一部分.不好的一面是,你最终不得不去寻找所有缺失的部分,然后玩"版本我,如果你可以"交叉你的手指所有位仍然支持明年由"某人".相比之下,Sencha API提供了在一个版本周期内构建和维护整个应用程序所需的大部分内容.查看此博客文章下的标题"The Modern Web Stack" .


Mic*_*any 4

这是石油,而且是……另一种石油。Sencha Touch 有自己的 MVC 式架构,带有数据绑定和模板,还有大量其他内容,如移动小部件、事件处理、主题、图表和可视化库等。我预测您会遇到严重的困难将两者混合。但如果你能做到,我们很想听听(我是煎茶人)

更新:正如托尼下面提到的 - 自从我回答这个问题以来,Sencha 的 glu.js 已经问世了 - http://www.conarrative.com/glujs.html。如果您想要 MVVM 风格而不是 MVC,那么这几乎正是您所寻找的(我们喜欢他们的方法)