我在将Angular引入我们的企业应用程序时考虑过这个问题。首先是一些可选的背景信息。由于在服务器端重新创建页面状态是非常资源密集的任务,因此我确实需要将所有页面状态保留在客户端上。我最初只使用了JQuery构建它,因为我只需要一些简单的东西,但很快我发现自己难以跟踪我上周编写的回调函数。因此,我想进行重构。在这个过程中,Angular看起来是最适合我的编程风格的。
回答您的问题:
我认为它更易于维护,因为它鼓励你将事物拆分开来。然而,这完全取决于您的团队和您保持可维护性的纪律性。
Angular团队在制作它时肯定考虑了测试。从单元测试到e2e测试,测试非常容易。其他人甚至找到了一个中间地带。
我们在微软商店使用Jenkins进行持续集成,因为对我们来说,插入我们自己的程序使其与我们复杂的环境设置配合工作更容易。但是,我不认为这与您决定选择哪个框架有太大关系。
从Visual Studio来看,我觉得JavaScript整体上还有待提高。我喜欢编辑和继续,解开堆栈以及拖动那个黄色箭头。那些东西就是纯粹的魔法。在浏览器上调试并不能提供所有这些功能。
安全性非常好。通过查看文档,您可以看到团队关注安全问题,如XSS和CSRF攻击。但是,在浏览器上完成的任何操作都很难保护。每天都会发现新的攻击和漏洞。如果您真的关心安全性,您不会有在线应用程序。您将确保您的客户只在具有多种身份证明的分行进行银行业务。话虽如此,我认为Angular与任何其他JavaScript解决方案一样安全。
我还想提出另一个问题,即所有这些JavaScript框架/库。它们都相当新且不断发展。看看最近JQuery已弃用了多少函数,您就会了解到保持库的最新状态有多难。其中许多也被遗忘并被抛弃。由于Angular是Google的产品之一,这也让我有点害怕,因为他们一直在取消他们的项目。希望Angular不要成为其中之一。
文档也缺乏。尽管社区很好,但文档不够完整。许多页面都是半成品。再次与Microsoft的最新内容相比,文档非常稀少。
作为其中的新事物,更难聘请人来帮助/接管这些事情。
尽管存在所有这些缺点,但我真的很喜欢它,并且肯定会推动我的公司采用它。