结合MVVM和移动UI框架,与Breeze一起使用

时间:2012-12-04 02:49:33

标签: knockout.js angularjs kendo-ui breeze knockout-mvvm

我一直在使用Breeze /淘汰赛组合一段时间,总体上非常满意。 Twitter Bootstrap在试验时是一个合适的UI占位符,但时间已经开始关注UI(移动网络应用程序),而且我遇到了一个让我在其他地方寻找的问题(除了淘汰赛之外)。我遇到的淘汰问题与无法/难以集成现有的UI组件/小部件有关。

麻烦的是,大多数这些小部件/框架/库(如jquery mobile)操纵DOM以完成他们正在做的事情。这与Knockout冲突。

所以我转向Angular(我非常喜欢它的绑定语法)并且我再次开始了我的任务。嗯......同样的问题。虽然有人写了一个Angular / Jquery Mobile适配器,但我不愿意继续使用新版本的jquery mobile。此外,我使用jquery mobile的次数越多,我就越不喜欢它。它似乎更倾向于移动网站而不是网络应用程序,我发现自己想要更换它的导航路由器等等。有趣的是,在同一时间(仅在几天前),我注意到最新版Breeze中的Angular ToDo演示。

Angular Breeze演示让我觉得我应该尝试Breeze和Kendo UI,它的MVVM实现我并不特别关心,但是它的UI非常精致。我没有花太多时间在这上面,因为没有官方支持,毫不奇怪,我遇到了问题。

所以,我的问题:

Breeze会与Kendo UI MVVM合作吗?如果是的话,我们是在说几天,几周还是几个月?如果不是,关于如何解决真正问题的任何想法可以总结如下:

toolsToRapidlyDevelopProfessionalWebApp = [Breeze, MVVM, UI]

Breeze:我知道无法解决上述问题。

MVVM:哪个实现适用于Breeze和一个可靠的UI库(在我的情况下是移动设备)?

UI:哪个专业品质的UI库可以与MVVM实现同时使用Breeze?

顺便说一句,在我寻求答案时,我遇到了以下内容:

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

2 个答案:

答案 0 :(得分:2)

我知道这并没有回答你关于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>,并且您的指令会被调用并正确链接。您甚至可以使用模板,控制器和使用依赖注入。

答案 1 :(得分:2)

是的,KendoUI支持是Breeze的路线图。正如您在链接中Kendo's feedback page看到的那样,我们两家公司保持联系并对此有共同的兴趣。

编辑: 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