为什么AngularJS被称为不适合GUI编辑器应用程序

Why is AngularJS called a poor fit for GUI editor apps?

本文关键字:编辑器 应用程序 GUI 不适合 AngularJS 被称为 为什么      更新时间:2023-09-26

在为一个项目评估AngularJS时,我注意到它的文档中有以下段落:

游戏和GUI编辑器是非常密集和棘手的DOM的例子操纵这些类型的应用程序与CRUD应用程序不同结果并不适合Angular。在这些情况下,使用像jQuery这样更接近裸金属的东西可能更适合。

但是文档继续没有真正解释为什么会这样。为了对我们的项目使用什么技术做出明智的决定,我想更好地了解这个声明的来源和背后的事实。

哪些具体问题会阻碍人们尝试在AngularJS中构建例如插图工具或视频编辑套件?

这是个好问题。Angular为您的普通网页工作提供了很好的声明功能。要做到这一点,它依赖于观察者,并不断检查被观察属性的更改,然后用更改更新UI。常见问题解答声称,这个过程"快速",有数百或数千个绑定,对于大多数用途来说已经足够好了。游戏和GUI编辑器可能有复杂的界面,用户交互频繁或持续,因此不断地重新评估大量观察者可能不是最注重性能的方式。相比之下,像Stack Overflow这样的网站,用户每隔几秒钟就会点击/按下一些东西,并导致重新评估观察列表。使用命令式方法和库(jQuery等人)会减少开销。

Angular有一些限制。

首先,ng视图不支持嵌套视图。因此,这限制了更复杂的UI设计。

接下来,"GUI编辑器"通常是围绕小部件和对话框的概念构建的。Angular是围绕着非常不同的概念构建的。您可以在某种程度上用指令模拟小部件。但你会觉得你一直在和Angular战斗。

基本上,嵌套作用域、隔离作用域和声明性数据绑定不是复杂GUI工作的常见范例。