我有一个ASP.NET MVC 4的项目,目前在架构决策上陷入困境,不知道是使用Angular.js还是Knock.js JavaScript框架或库。 我目前倾向于使用Angular.js而不是Knockout.js,但不想在项目开发进行到一半时发现犯了错误。
以下是一些背景:
- 我们需要双向模型数据绑定
- 我们需要测试视图的能力。 我希望能够进行端对端单元测试。 另外,我们正在使用持续集成。
- "保存更改"功能。 例如,如果用户在页面上进行更改,我们需要能够检测到任何更改并提示用户在离开页面之前保存更改。
- "通知"功能。 例如,用户将登录大约8个小时,并且需要被通知和更新其他用户所做的更改(错误、数据状态更改等)
- 我们需要“未来证明”我们的应用程序。 目前业务部门尚未决定是否需要支持移动设备,但我知道这只是时间问题。
- 我们的团队由经验水平不同的开发人员组成,从非常初级到资深的开发人员。
- 目前我们的模型很复杂,可能会变得更加复杂
- 我们还需要考虑RAD、代码重用和可维护性
我已经阅读了这篇优秀的回答,并观看了Scott Allen关于Angular的采访这里
由于我们无法从当前ASP.NET MVC 4架构更改为使用像Web API这样的服务器端内容,因此在尝试使用MVC 4实现Angular.js时,我有一些顾虑。这会导致我们拥有一个在服务器上和一个在客户端上的两个模型吗?
我不希望就 Angular 和 Knockout 哪个更好进行讨论,因为我认为它们都有优缺点。我正在寻找一个在 ASP.NET MVC 4 应用程序中实现 JavaScript 框架或库的实际代码解决方案。我需要一种能够使用两年以上的解决方案 :)
有什么想法或建议吗?也许答案不是 Knock 或 Angular,而是其他 JavaScript 框架?