跳至主要内容
Deno 2 终于来了 🎉️
了解更多
Slack used Deno to launch their new development platform in weeks and not months.

Slack 如何使用 Deno 在推出新平台时节省了数月的工程工作量

2022 年,Slack 推出了一个使用 Deno 运行时的新开发平台,为开发人员提供一种更模块化、可组合且安全的方式来构建 Slack 应用。了解 Deno 如何通过其简单、现代、一体化的 JavaScript 运行时帮助 Slack 的平台工程团队节省了数月的开发时间。

挑战

Slack 于 2015 年推出了第一个开发者平台,并取得了巨大成功,将“聊天机器人”带入了主流。 (它甚至导致了新的、热闹的,虽然短暂的 VC 投资类别)。到 2020 年,该平台每周有数百万活跃开发者。

然而,开发人员对每次都必须从头开始重建每个 Slack 应用提出了异议,这需要筛选大量配置和样板代码。 开发人员还表达了对需要以企业级安全标准交付应用的担忧,这是大多数 Web 开发人员以前从未遇到的要求。

为了解决这个问题,Slack 的平台团队考虑构建一个内部运行时,以提供现代、易用且安全的 JavaScript 开发体验,这将需要数月时间。幸运的是,他们遇到了 Deno,它是一个安全优先、高性能的 JavaScript 和 TypeScript 运行时,它将成为在新开发平台中运行客户代码的基础。

解决方案

Slack 选择在其下一代平台中使用 Deno 运行时,原因如下:

  • 易于入门:Deno 提供原生 TypeScript 支持Web 标准 API,这些 API 都包含在可移植的自执行二进制文件中。

  • 安全:Deno 是默认安全的,它允许开发人员从一开始就创建企业级安全。

  • 性能:Deno 使用 V8 和 Rust 构建,针对运行复杂的 JavaScript 和 TypeScript 应用进行了优化。

Slack 认识到开发者的人体工程学对于其下一代平台的成功至关重要。 TypeScript 正在成为提高 JavaScript 开发的行业标准,并且直接集成到 Deno 中,为 Slack 的开发人员提供了一条熟悉的前进道路,用于构建更易于扩展和管理的应用。此外,Deno 作为可移植的自执行二进制文件意味着 Slack 可以将其包含在其安装脚本中,以进一步简化本地开发。

“使用 Deno 是一个自然选择,因为我们能够直接解决[开发者生产力]问题,”Jim Ray 说。 模块化架构还带来了新资源,开发人员可以快速上手并提高效率。

Slack 的企业级重点意味着应用也必须具有企业级安全性,但不能牺牲生产力。 Deno 的默认安全权限模型让 Slack 对在其基础设施上运行第三方不可信代码充满信心。 它还让 Slack 管理员可以通过传出域权限查看其应用正在进行的 API 调用。“我们团队首先注意到的就是 Deno 对安全的关注,”Jim Ray 说。“我们知道这肯定会让 Slack 管理员感到高兴——他们可以让开发人员专注于自己的工作,同时也能依靠内置的防护措施来保护他们的数据。”

将 Deno 运行时集成到 Slack 的新开发平台中非常简单。 使用 Deno 帮助 Slack 的平台工程团队节省了数月的内部构建时间,并让他们能够更早地将开发人员纳入其中。“我们坚信,我们有责任确保开发人员构建的一切都符合高标准,并且从设计上就是安全的,”Jim Ray 说。