21

我们目前正在评估在企业应用程序(电子银行)中使用 AngularJS 作为单页应用程序。许多 devs@work 已经确信没有其他路可走。这是趋势,它是面向未来的(html、css 和 js),它很容易做到,减少服务器负担等。尽管这个框架的部分很有趣,但我不相信有必须考虑的因素在走这条路之前。这些可以是:

  • 代码的可维护性
  • 代码的可测试性,不仅仅是ui部分
  • 持续集成(如 TeamCity 或 TFS)
  • 开发人员友好性,例如调试、代码导航
  • 安全性(如果存在风险)

有没有人有这样的企业应用程序构建经验?我宁愿使用 Asp.Net MVC4。请不要假设性的答案,我不想发动战争。真实的生活经验真的很感激。

问候

4

2 回答 2

7

在将 Angular 集成到我们的企业应用程序中时,我曾考虑过这一点。首先,一些可选的背景信息。我真的需要将所有页面状态保留在客户端,因为在服务器端重新创建它是一项非常耗费资源的任务。我开始只使用 JQuery 构建它,因为我只需要一些东西,但很快我发现自己无法跟踪我上周刚刚写的回调。因此,我想重构。当我在做的时候,Angular 看起来最适合我的编程风格。

解决您的疑虑:

我认为它更易于维护,因为它鼓励您将事情分开。然而,这完全取决于你的团队和你的纪律来保持事情的可维护性。

Angular 团队在制作时肯定考虑过测试。事情很容易测试,从单元测试到 e2e 测试。其他人甚至在两者之间找到了一个中间立场。

我们在 Microsoft 商店使用 Jenkins 进行持续集成,因为我们更容易插入自己的程序以使其与我们复杂的环境设置一起工作。但是,我认为这与您决定使用哪个框架没有太大关系。

来自 Visual Studio,我发现 JavaScript 通常还有一些不足之处。我喜欢编辑并继续,展开堆栈,并拖动那个黄色箭头。那东西只是纯粹的神奇幸福。在浏览器上进行调试并不能为您提供所有这些。

安全性相当不错。翻阅文档,您可以看到该团队关注 XSS 和 CSRF 攻击等安全问题。但是,通过浏览器所做的任何事情都很难保证安全。每隔一天就会发现新的攻击和漏洞。如果您真的关心安全性,您将不会拥有在线应用程序。您将确保您的客户仅在具有多种形式的 ID 的分行中进行银行业务。话虽如此,我认为 Angular 的安全性并不低于任何其他 JavaScript 解决方案。

我想对所有这些 JavaScript 框架/库提出另一个问题。它们都是相当新的并且不断发展。看看最近有多少 JQuery 函数被弃用,你就会明白保持库的顶部是多么困难。其中许多也被遗忘并腐烂。Angular 作为谷歌的产品之一也让我有点害怕,因为他们一直在取消他们的项目。希望 Angular 不会成为其中之一。

文档也缺乏。尽管社区很好,但文档却不是。许多页面已经完成了一半。同样,与 Microsoft 的最新产品相比,文档非常稀少。

这是新事物之一,雇用某人来帮助/接管这些东西更加困难。

尽管有所有这些缺点,我真的很喜欢它,而且我肯定会推动我的公司采用它。

于 2013-07-06T02:06:43.233 回答
0

是的,我已经将 Angular 与 Asp.net WebAPI 以及 MongoDB 一起使用。请找到我的发现

1)可测试性绝对是梦幻般的。您可以使用 karma 和 jasmine 轻松测试您的单元测试

2)CI。Karma 可以集成 Jenkins

3) 易于调试类似于 Javascript 调试可以使用 chrome 扩展 Bartrang 轻松调试 Angular 应用程序

于 2013-07-05T21:32:50.467 回答