Canva 推出新的插件框架以支持开发者创建自定义应用
Canva 创建了一个新的插件框架,允许开发者在 Canva 产品中实现自定义功能。团队采用迭代开发方式,并特别强调 API 设计原则,以确保支持插件开发的 SDK 对开发者友好、安全且可演进。
背景与目标
Canva 在 2019 年底推出了其应用商店,使开发者能够使用第一代插件框架创建自定义扩展。自此,数百个自定义扩展被开发出来,其中许多变得非常流行。在这一成功的基础上,Canva 希望为应用开发者提供更大的灵活性。
Canva 的工程团队负责人 Martin Cronjé 描述了公司创建 Apps SDK 的目标:构建一个简单而强大的平台,为开发者提供创建丰富应用所需的工具。成功的关键在于为开发者提供对应用用户界面的最大控制权,同时提供可互操作的 API。
新框架的愿景与范围
新的框架愿景是允许开发者构建完整的自定义应用,而不仅仅是功能单一的插件(如插入、编辑、发布)。新项目的范围包括集成的应用运行时环境、HTTP 请求签名、运行时包注入、热模块重载和新 UI 工具包等功能。
新插件架构的核心
新插件架构的核心是应用运行时环境,它支持自定义应用作为 Canva 产品的一部分安全运行。应用以 JavaScript 包的形式加载到沙盒化的 IFrame 中,以防止其崩溃或破坏 Canva 编辑器,或访问浏览器中渲染的敏感数据。应用通过平台的 SDK 和其他依赖项与 Canva 产品通信。内部消息总线在应用和 Canva 产品之间传递 API 请求/响应负载。应用控制器与消息总线集成,充当 App SDK API 和内部产品 API 之间的适配器。
开发过程
团队采用了增量开发方法,专注于快速和反馈驱动的开发。他们最初使用 AWS S3 存储桶托管应用,以推动内部黑客马拉松和预览版的实验。同时,公司支持销售、合作伙伴、支持团队与 SDK API 团队之间的积极合作,通过开发者访谈和数据洞察来起草初始 API 规范。
生产准备与 API 设计原则
随着时间的推移,团队从实验转向使新解决方案生产就绪。为此,他们确保 SDK API 设计遵循简单性、安全性、可演进性和一致性原则。公司还成立了 API 设计工作组,负责制定和推广 API 设计指南,以及关于安全性、可观察性、分析、文档和开发者参与的工作实践。
总结
Canva 的新插件框架旨在为开发者提供更大的灵活性和控制权,同时确保应用的安全性和可演进性。通过迭代开发和强调 API 设计原则,Canva 成功构建了一个强大的平台,支持开发者创建丰富的自定义应用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。