复杂 Angular 元素(网络组件)或 Angular 库
Complex Angular element (web component) or Angular Library
我需要编写一个可重复用于我们不同应用程序的模块,它需要使用路由、表单、选项卡...使用 Angular 元素制作 Web 组件是否有意义或为此创建一个库会更好吗?
我们当前需要此模块的所有应用程序都是在 Angular 中制作的,我们公司希望继续将 Angular 用于我们的网络应用程序,但是,谁知道将来我们会不会将使用 React 或其他 JS 库或框架...
编辑:该模块仅供内部使用,不供客户端使用。它将包括对我们所有应用程序共有的不同资源(类型、语言、状态...)进行 CRUD 操作的功能。这些中的每一个都将在一个选项卡中表示,因此,例如,在语言选项卡中,您会看到一个 table 分页显示所有语言条目,您可以创建新的语言来填充表单、编辑语言和删除他们。
我想这个问题的答案不止一个,你必须决定最后做什么。根据我的经验,我建议制作一个普通的 Angular 库,而不是 Web 组件。这是原因:
1) 只是工作量减少了,而且贵公司已着手 Angular 并且没有改变的计划,我肯定会让事情变得简单/避免额外的工作。
2) 使用独立的 Web 组件时,部署很可能会变得更加复杂。
3) 您错误地实现了某些 Angular 特定的东西,如果不进行额外的工作就无法在其他框架中使用的可能性很高,并且无法将您的库实际重新用于其他框架无论如何。
4) 你说它是一个复杂的模块。在库中,您可以轻松地将其拆分为多个组件/服务。尽管您也可以在独立的 Web 组件中执行此操作,但这总是额外的工作。
5) 最后:如果您的公司决定使用 Angular 以外的其他框架,这将是一个巨大的进步,因为您或多或少地重写了所有内容!如果你做了这样的一步,那么重新设计方法、用户体验和所有这些总是明智的。这很可能会导致决定,您的 Web 组件要么必须进行大量重构,也不应再使用 Angular 或已弃用。
所以对我来说,如果您创建一个独立的 Web 组件,您似乎不会从额外的工作中获益。但是:如果您发现创建一个独立的 Web 组件确实有好处,并且有人(您的老板或客户)愿意为此付费,那么您应该选择该选项。
我需要编写一个可重复用于我们不同应用程序的模块,它需要使用路由、表单、选项卡...使用 Angular 元素制作 Web 组件是否有意义或为此创建一个库会更好吗?
我们当前需要此模块的所有应用程序都是在 Angular 中制作的,我们公司希望继续将 Angular 用于我们的网络应用程序,但是,谁知道将来我们会不会将使用 React 或其他 JS 库或框架...
编辑:该模块仅供内部使用,不供客户端使用。它将包括对我们所有应用程序共有的不同资源(类型、语言、状态...)进行 CRUD 操作的功能。这些中的每一个都将在一个选项卡中表示,因此,例如,在语言选项卡中,您会看到一个 table 分页显示所有语言条目,您可以创建新的语言来填充表单、编辑语言和删除他们。
我想这个问题的答案不止一个,你必须决定最后做什么。根据我的经验,我建议制作一个普通的 Angular 库,而不是 Web 组件。这是原因:
1) 只是工作量减少了,而且贵公司已着手 Angular 并且没有改变的计划,我肯定会让事情变得简单/避免额外的工作。
2) 使用独立的 Web 组件时,部署很可能会变得更加复杂。
3) 您错误地实现了某些 Angular 特定的东西,如果不进行额外的工作就无法在其他框架中使用的可能性很高,并且无法将您的库实际重新用于其他框架无论如何。
4) 你说它是一个复杂的模块。在库中,您可以轻松地将其拆分为多个组件/服务。尽管您也可以在独立的 Web 组件中执行此操作,但这总是额外的工作。
5) 最后:如果您的公司决定使用 Angular 以外的其他框架,这将是一个巨大的进步,因为您或多或少地重写了所有内容!如果你做了这样的一步,那么重新设计方法、用户体验和所有这些总是明智的。这很可能会导致决定,您的 Web 组件要么必须进行大量重构,也不应再使用 Angular 或已弃用。
所以对我来说,如果您创建一个独立的 Web 组件,您似乎不会从额外的工作中获益。但是:如果您发现创建一个独立的 Web 组件确实有好处,并且有人(您的老板或客户)愿意为此付费,那么您应该选择该选项。