MVVM和移动UI框架的组合,用于Breeze



我已经使用Breeze/淘汰赛组合一段时间了,总体上非常满意。Twitter Bootstrap在试验时是一个合适的UI占位符,但现在是时候关注UI(移动网络应用程序)了,我遇到了一个问题,让我不得不另谋高就(也就是说,除了淘汰赛)。我在淘汰中遇到的问题与无法/难以集成现有的UI组件/小部件有关。

问题是,这些小部件/框架/库中的大多数(如jquery mobile)都会操纵DOM来完成它们正在做的事情。这与Knockout冲突。

所以我转到了Angular(我更喜欢它的绑定语法),并再次开始了我的探索。好同样的问题。尽管有人写了一个Angular/Jquery Mobile适配器,但我不愿意依赖它来保持Jquery Mobile的最新版本。此外,我使用jquery mobile的次数越多,就越不喜欢它。它似乎更倾向于移动网站,而不是网络应用程序,我发现自己想更换它的导航路由器等等。有趣的是,与此同时(就在几天前),我注意到了Breeze最新版本中的Angular ToDo演示。

Angular Breeze演示让我觉得我应该尝试使用Kendo UI的Breeze,我并不特别喜欢它的MVVM实现,但它的UI非常精致。由于没有官方支持,我没有在这方面花太多时间,也就不足为奇了,我遇到了问题。

所以,我的问题是:

Breeze会和Kendo UI MVVM一起工作吗?如果是,我们谈论的是几天、几周还是几个月?如果没有,关于如何解决真正的问题的任何想法都可以总结如下:

toolsToRapidlyDevelopProfessionalWebApp = [Breeze, MVVM, UI]

Breeze:我知道没有任何替代方案可以解决上述问题。

MVVM:哪个实现将与Breeze和一个坚实的UI库(在我的情况下是移动的)一起工作?

UI:哪个专业质量的UI库将与同样与Breeze一起工作的MVVM实现一起工作?

顺便说一句,在我寻求答案的过程中,我遇到了以下情况:

http://feedback.kendoui.com/forums/127393-kendo-ui-feedback/suggestions/3247342-integrate-with-breeze-js

是的,KendoUI支持在Breeze的路线图上。正如你在Kendo的反馈页面上从你的链接中看到的那样,我们两家公司正在联系,并对此有共同的兴趣。

编辑:Telerik在这里评论了Breeze,并展示了与KendoUI的初始集成代码:https://gist.github.com/derickbailey/258716b0107f9067616a

编辑2:KendoUI的BreezeDataSource的完整版本现在正在运行:http://www.kendoui.com/blogs/teamblog/posts/13-02-21/breeze_js_and_the_kendo_ui_datasource.aspx

我知道这并不能回答你关于breeze/kendo/ui的问题,但我想指出一些关于Angular的东西,可能还有Knockout,这可能会帮助你找到答案。

您可以使用Angular…操作DOM。。。我的意思是,这都是棱角分明的。但你只需要在正确的地方做:指令。您看到的那些连接器库只是实现从angular连接到DOM的指令。你不需要依赖第三方,它们很容易维护。

不要想太多,这真的很简单。指令基本上只是一个"链接"函数,它完成DOM的工作。它真的很容易使用。

angular.diretive("something", function(){
return {
restrict: 'EACM', //just tells angular where this can be used
link: function(scope, element, attrs){ 
//do DOM stuff here, element works with jQuery if included
element.someJqueryPlugin();
}
}
}

现在,在代码中的任何地方,您都可以说<something><div something>,并且您的指令被调用并正确链接。您甚至可以使用模板、控制器和依赖项注入。

最新更新