尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Backstage 插件:为什么要在开发者门户中构建插件

发布时间:2026/9/11 15:39:28

资讯中心
01
ARTICLE

Backstage 插件:为什么要在开发者门户中构建插件

Backstage 插件:为什么要在开发者门户中构建插件
Backstage 插件为什么要在开发者门户中构建插件【免费下载链接】backstageBackstage is an open framework for building developer portals项目地址: https://gitcode.com/GitHub_Trending/ba/backstage插件Plugin是 Backstage 的核心扩展机制它把各类工具、数据源与团队流程整合进统一的开发者门户。本文基于 why-build-plugins.md 展开系统阐述插件在提升开发者生产力、平台可扩展性、协作效率与规模化维护方面的价值并结合当前仓库的前后端插件实现、脚手架产物与开发文档给出可落地的开发路径。读完本文你将理解插件为何是 Backstage 的基石并掌握从为什么要做到如何动手做的完整思路。什么是 Backstage 插件Backstage 的官方定位是构建开发者门户的开放框架见 README.md而插件正是门户能力的载体一个插件本质上是一个独立的功能包为门户增加一项能力例如展示云资源花费、聚合 on-call 信息、接入外部厂商数据如 PagerDuty或者把散落在多个系统中的开发信息集中到一个页面。在当前仓库中插件以独立 NPM 包的形式存在主要分为两类前端插件提供页面、组件、侧边栏导航、实体页扩展等 UI 能力后端插件提供 HTTP API、数据库访问、事件处理等服务端能力例如仓库中的 plugins/catalog-backend、plugins/notifications-backend 等。仓库里的 example-todo-list 是一个直观的示例它通过createPlugin创建插件实例再通过createRoutableExtension提供一个可路由的TodoListPage页面扩展。一个待办事项追踪器就这样被插件化地挂载进了开发者门户。提升开发者生产力统一入口减少上下文切换插件最直接的价值是集中并简化对工具的访问减少开发者在不同系统之间来回切换的时间。通过提供一致的界面与交互体验插件降低认知负担、精简工作流让开发者把精力放在编码而非工具管理上。在实现层面这一价值来自 Backstage 提供的两类平台能力详见 docs/frontend-system/building-plugins/01-index.md平台 APIUtility API插件可定义自己的 API 客户端封装后端服务例如用createApiRef定义接口、用ApiBlueprint注册默认实现页面组件通过useApi获取实例从而把取数逻辑从 UI 中解耦可复用 UI 组件backstage/ui插件可以直接复用门户自带的表格、表单、卡片等组件保证交互一致性的同时免去重复造轮子。以脚手架生成的前端插件为例见 docs/golden-path/plugins/frontend/001-first-steps.mdTodoPage组件负责从后端获取数据TodoList组件用backstage/ui渲染表格——这正是平台能力 复用组件降低开发成本的典型结构。可定制、可扩展的平台近乎任何工具的接入能力Backstage 的插件架构被设计得高度灵活可以接入几乎任何基础设施或软件开发工具。这种可扩展性让组织能够按需定制门户内部工具、第三方服务、自定义功能都能无缝集成。支撑这种灵活性的是仓库中体现出的两个架构事实前端可组合性Composability新前端系统下插件通过createFrontendPlugin创建用PageBlueprint、EntityContentBlueprint、ApiBlueprint等扩展蓝图extension blueprints声明能力门户以声明式方式自动发现并组合这些扩展详见 docs/frontend-system/architecture/23-extension-blueprints.md 与 docs/plugins/composability.md后端插件化新后端系统下后端插件通过createBackendPlugin创建依赖通过依赖注入获取模块modules可以为插件扩展能力详见 docs/backend-system/building-plugins-and-modules/01-index.md 与 docs/plugins/new-backend-system.md。仓库中 plugins 目录下数以百计的插件包从 Kubernetes、搜索、技术文档到通知、权限、信号推送本身就是这种可扩展性在真实世界中的佐证。插件需要访问外部服务时还可以借助 proxy-backend 或自有代理绕过 CORS 与后端授权难题见 docs/plugins/proxying.md。改善协作与知识共享信息聚合在一处插件让团队协作变得更容易文档、代码仓库、CI/CD 流水线、监控工具被整合在同一个门户中。团队成员查找信息、分享洞见、协作项目的成本显著降低。这一价值在 Backstage 的功能体系中随处可见软件目录Software Catalog插件可以为目录实体页面挂载专属内容块entity content例如通过EntityContentBlueprint在某个服务的实体页上展示与该服务相关的监控面板或文档搜索Search各类插件把文档、实体、技术文档索引到统一搜索后端见 docs/features/search通知Notifications插件之间可以通过通知后端互相发送消息把分散在邮件、Slack、站内信中的信息汇拢。当信息找得到变成默认体验时团队协作的效率与连贯性自然提升。一致性与最佳实践统一体验降低学习曲线遵循 Backstage 的设计准则开发插件能保证整个平台用户体验的一致性。这种一致性既维持了可用性又降低了新用户的学习成本并推动最佳实践在团队中传播。仓库提供了具体约束设计语言DLSdocs/dls 目录收录了组件设计指南、Storybook 贡献规范与 Figma 设计资产插件 UI 遵循这些规范即可与门户其他部分视觉统一扩展蓝图PageBlueprint、EntityContentBlueprint等预置蓝图强制了懒加载、路由化、声明式参数的组件实现模式避免各插件各行其是见 docs/frontend-system/architecture/23-extension-blueprints.md包结构规范脚手架的package.json中backstage.role字段被设置为frontend-plugin或backend-pluginBackstage 工具链据此决定如何构建与对待该包见 docs/golden-path/plugins/frontend/001-first-steps.md。从源码结构看仓库中的 packages/frontend-plugin-api 与 packages/backend-plugin-api 正是这些一致性约束的底层实现插件作者只需要面向这两套 API 编程即可与整个平台对齐。可扩展性与可维护性模块化带来的独立演进Backstage 插件被设计为模块化、相互独立的单元可以单独更新和维护而不影响整体系统。这种模块化还支持水平扩展每个插件可以按需独立伸缩保证性能与可靠性。这一点从插件包的物理形态上即可印证每个插件都是一个独立的 NPM 包自带package.json、src/、dev/目录可以独立发布、独立版本化见 docs/plugins/structure-of-a-plugin.md插件可以在独立开发服务器中单独运行在插件目录执行yarn start或使用yarn workspace internal/plugin-todo start只加载当前插件实现更快的启动与热重载见 docs/golden-path/plugins/frontend/001-first-steps.md后端侧插件与其依赖如数据库、事件订阅、外部服务通过依赖注入装配模块可以叠加替换互不阻塞见 docs/backend-system/building-plugins-and-modules/01-index.md。这种小包、独立、可替换的设计让大规模团队可以并行开发各自插件而无需频繁协调整个门户的发布节奏。社区与生态成长共建而非重复造轮子向 Backstage 社区开发和贡献插件有助于扩展整个生态。开源贡献促进创新与协作让开发者复用大量现成插件、避免重复造轮子从而加速新功能开发并提升平台整体价值。当前仓库本身是这一生态的缩影官方插件矩阵plugins 目录聚合了数十个官方维护的插件与后端模块覆盖认证auth-backend 及各类 provider 模块、目录、脚手架、搜索、Kubernetes、通知、事件等主流场景社区贡献区contrib 目录收纳了来自社区的 catalog 提供者、Docker 构建方案、Kubernetes 部署示例、Scaffolder 模板与搜索集成等贡献物插件目录机制仓库中的 docs/plugins/plugin-directory-audit.md 与 scripts/plugin-directory-audit.js 展示了官方对插件目录质量进行审计的方式帮助生态参与者保持插件质量水准。对一个组织而言这意味着门户能力可以持续积累先复用社区插件解决通用需求再针对内部特殊场景自研插件最后有能力时反向贡献回社区。从为什么到怎么做开发插件的起点理解了插件的价值后动手路径在仓库中同样清晰前端插件在仓库根目录运行yarn new --select frontend-plugin --option pluginIdtodo --option owner生成plugins/todo包再用createFrontendPlugin与各类 Blueprint 声明页面和 API见 docs/golden-path/plugins/frontend/001-first-steps.md、docs/frontend-system/building-plugins/01-index.md后端插件运行yarn new并选择backend-plugin生成带 router、service 分层结构的后端包见 docs/golden-path/plugins/backend/001-first-steps.md可持续开发插件不是一次性交付物应像经营产品一样对待——持续与利益相关方沟通、依据使用反馈迭代、埋点观测使用模式见 docs/golden-path/plugins/sustainable-plugin-development.md。小结构建 Backstage 插件本质上是把统一开发者门户从口号变成可执行的组织实践它提升开发者生产力、促进最佳实践落地、支撑模块化扩展并借力社区生态持续进化。对于任何希望用 Backstage 构建适应自身独特需求的开发者门户的团队来说插件既是扩展点也是价值交付的载体。更多细节可继续阅读仓库内的 docs/plugins/plugin-development.md、docs/plugins/index.md 与 docs/plugins/structure-of-a-plugin.md。【免费下载链接】backstageBackstage is an open framework for building developer portals项目地址: https://gitcode.com/GitHub_Trending/ba/backstage创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。