我越来越倾向于说“Web Components”是language construct。
它被称为 Custom Elements API,因此与 Fetch API 或 MutationObserver API 没有什么不同
那么您的问题是:如何使用 [name here] API 构建应用程序?
超级“工具”
Lit、Hybrids、HyperHTML、Lego、Stencil 等工具都有 polyfill 背景,在浏览器不完全支持自定义元素 API 的古老时代,它们使“Web 组件”成为可能.
他们已经发展到所有人都声称“这是开发 Web 组件的最佳工具”
从这个意义上说,它们可以与 jQuery 进行比较。
曾经是 Web 开发人员的必备品,
然后选择器等成为 W3C 标准的一部分。
随着 IE9 在 2011 年的出现,不再需要 jQuery。
今天的比赛场地
现在,Edge 在 Chromium 上运行,微软默认推送 Edge。所有现代浏览器都与自定义元素 API 相提并论
为了让 jQuery 比较在历史上更进一步。 10 年前有几十个 jQuery 替代品。如果你碰巧投资了“错误”的工具,你最终不得不转换为 jQuery(或者如果 IE9 是你必须支持的最古老的浏览器并且你理解 W3C 标准(几乎)总是赢,那么你只能转换为 Native JavaScript)
Lit、Hybrids、HyperHTML、Lego、Stencil 和所有其他产品也会发生同样的情况。
奇数出局
Angular、Svelte 或 Vue 都可以 100% 地与自定义元素 API 配合使用
https://custom-elements-everywhere.com/ 的 React 得分为 71%
60% 的 React 负责人会说 W3C 标准不支持 React。
如果您已经存在足够长的时间(> 20 年),您就会明白 React 可以与 ECMAScript-4(never made it 的 W3C 标准)进行比较
伟大的技术,但如果浏览器供应商不在浏览器中实现它,它就没有未来。这意味着 React 也是一个潜在的 "jQuery"。或者也许 Flash(ActionScript 具有 ES4 结构)是一个更好的比较。
创造一个有趣的未来:
未来就是现在
如果您不必支持 IE11,则有一个现代的、级别的自定义元素 API 竞争环境。
如果您正在学习,请先学习 API,然后看看工具是否可以让您的开发生活更轻松(并接受当您选择的工具与 MooTools、YUI 和许多其他工具相同时需要重构的风险)。 ..
话又说回来……银行仍在运行 Cobol……也许 React 是新的 Cobol?
您的问题
使用 Web 组件构建企业级应用程序的结构架构的最佳做法是什么?
您在使用 Web 组件时是否会分离核心逻辑(如加密、数据流等),如果是,如何分离?
您使用 Web 组件构建应用程序,就像您使用 类或代理构建应用程序一样。组件封装了逻辑,唯一的区别是自定义元素 API也 可以生成出色(非常出色)的语义 HTML。
唉,我看到公司和开发人员专注于“工具”而不是 API
对我来说,一个有工具的傻瓜仍然是一个傻瓜。
TypeScript 推出时,我身处 Microsoft SharePoint 世界。
将 MVP “很棒”的 TypeScript(因为他们忘记跟上 JavaScript 的步伐而使用 ES3 语法)重构为 ES6 赚了很多钱
当微软全力投入 React 时,我离开了那个世界。
组件开发人员现在学习工具,就像他们学习 jQuery...
够啰嗦
自定义元素 API 是一种 JavaScript 语言结构。
它在某些方面做得非常好,而在其他方面做得不太好。
API 会产生影响吗?是的,就像 Classes 和 Array 方法一样。而这些也需要改变思维方式。
我的建议:
自定义元素 API 是 W3C 标准,所有浏览器都支持,
只要 JavaScript 在浏览器中运行,这项技术就可以工作。