是否真的值得混合AngularJS和/或KendoUI?

时间:2014-01-29 13:09:52

标签: angularjs asp.net-web-api kendo-ui odata

最近,在使用AngularJS时,我非常喜欢许多功能,比如创建自定义抽象数据工厂等。

KendoUI也有类似MVVM,SPA路线等功能,AngularJS提供了这些功能,所以我很好奇混合两者的好处是什么(除了KendoUI丰富的UI功能之外)?

- 更新 -

我要问这个问题是为了澄清,对于那些可能会对每个问题的好处略有困惑的人,以及为什么人们会在项目中使用这两个问题,而不是一个在另一个项目中使用。

例如 - Javascript单元测试功能(只需使用Angular控制器完成,但没有看到任何人使用KendoUI进行此操作)。

似乎剑道正在努力做到这一切,但是UI最好。

感谢。

- 更新 -

自写这个问题以来,我已经完成并使用OData将Angndo集成了Angndo,并在here编写了一个关于如何实现这一目标的教程www.whatsinyourlunch.com,希望这对于其他

堆栈是通过通用存储库访问的AngularJS,KendoUI,OData,WebAPI2,.Net MVC5,C#,Entity Framework。

6 个答案:

答案 0 :(得分:17)

我知道这是旧的,但这是我的两分钱。你使用Angular的次数越多,你就越会意识到你不需要剑道。 Kendo / Angular集成有点像黑客,但它似乎完成了工作。我发现使用剑道的唯一原因是网格。我已经尝试过Angular网格,它们充满了bug和格式问题。

我认为重要的是不要成为纯粹主义者并且只使用能够实现所需要的任何工具组合。我倾向于试图摆脱对付费商业图书馆的依赖,但网格只是稳固的。任何付费产品都可能有更多的支持和维护,以及对开发团队的个人访问(与大型公司或浪费的单个开发人员项目维护良好的免费产品相比)。我见过很多很棒的免费产品被遗弃了。但是,如果你想要一个很好的免费网格,并且不能只为网格支付Telerik $ 1000.00,DataTables.net是一个很好的选择,我现在使用。

你必须喜欢Telerik的支持,这是我认为使用他们的东西的最佳理由。他们在剑道中缺少一些东西,比如一个好的日期范围日历,标签云等。与Highcharts相比,这些图表也缺乏。我使用Keith Wood的日期范围日历,尽管他似乎没有回复电子邮件。我发现了一些很棒的角度控制,用于其他东西,比如下拉等。我曾经不明白为什么人们会使用大杂烩,但这是最重要的工具。

答案 1 :(得分:7)

我个人不会比在Angular指令中使用KendoUI的丰富的UI功能更进一步。其余的应该是Angular。或者只使用KendoUI。

答案 2 :(得分:5)

混合它们可以正常工作。您不必使用Kendo附带的所有框架代码(MVVM等),只需关注丰富的UI功能即可。我们使用他们的几个控件,包括高度自定义的网格版本。 Angular是完美的,因为我们构建了指令来包装Kendo控件并封装每次发生的80%配置,因此开发人员可以专注于他们的页面/模块/不同的20%。我们的项目成功地让一个分布式团队中的20多名开发人员参与了一个包含数万行代码的项目,并且我们使用Kendo和Angular的UI功能取得了巨大的成功。

答案 3 :(得分:3)

在我们目前的项目中,我们使用的是Angular和Kendo(主要用于网格)。我们没有混合这两个,这也是我的建议。 Angular应该是负责应用程序逻辑的人,而Kendo应该只关心管理小部件。

Kendo提供了自己的kendo-angular library,其中包含大多数小部件的指令。

答案 4 :(得分:3)

以下是我的经验中的几点,不赞成将KendoUI与AngularJs混合使用:

  • 虽然AngularJs有kendo指令,但很多 UI相关的东西最终会出现在控制器(配置,事件,复杂模板)中,并且很难将jQuery保留在其中。
  • kendo组件的初始化和显示确实会给每个页面添加严重的时间损失(网格,标签,...)
  • 事件和方法参数在kendo框架中不一致(即选择网格与listview与组合框的方法)
  • 使用带有网格(或列表视图)的模板或响应网格事件感觉不像AngularJs
  • 组件的行为与他们尝试替换的本机控件的行为不同(即组合框与本机选择的事件顺序和数据绑定)
  • 只要必须自定义kendo组件的外观,就必须熟悉kendo使用的CSS类。

KendoUI网格很棒,但是如果项目不需要它,那么将两者混合就无法获得。

答案 5 :(得分:1)

我认为混合它们不是一个好方法。你应该问自己一个问题“在我的项目中,女巫更需要和有用”

由于其丰富的网格组件,我决定在角度旁边使用kendo。但我取消了它。

kendoUI的主要控件是网格。但是你需要观察它的每个元素才能拥有完整的绑定,这会让它变慢。网格中的一行dataItem也不返回原始数据。 你需要看分页,过滤,排序......

但是对于kendo的其他控制,我们遇到的问题更少。