案例研究 •

用一半的时间构建网页
为什么微软选择 Astro 来构建他们的 Fluent 2 设计系统网站

作者
Astro 团队

微软是一家家喻户晓的公司,创造了 Microsoft Office 套件等流行工具。他们的产品线包括桌面、网页和移动产品,例如用于 Android 和 iOS 的 SDK。为了在这些产品中保持视觉品牌的一致性,他们依赖于其设计系统 Fluent 2

微软的 Office 工程和体验团队在三四年前创建了 Fluent 的第一个版本。在过去的两年里,他们一直在努力开发最新版本 Fluent 2。由于 Island 架构带来的性能提升,Astro 成为了 Fluent 2 网站的最佳框架。他们正在寻找一种轻量级且能与现有工作流程和工具相契合的方案。Astro 帮助微软保持敏捷,让内容编辑人员能够轻松创建和编辑内容。

微软产品(包括 PowerPoint、Excel 等)的徽标。

挑战

微软曾多次尝试使用其他框架和内容管理系统构建他们的设计文档。他们发现这些工具要么过于僵化,要么难以维护,要么迁移过程痛苦。其他工具则无法与他们的 Figma 工作流程和他们想要讲述的设计故事很好地集成。

团队退一步重新评估了他们的优先事项,并决定他们应该专注于设计系统以及他们真正需要的架构。结果发现,他们的内容和设计不适合内容管理系统,因为他们有很多无法重用的自定义组件。这些组件是独特的,需要工程方面的投入。

Figma 到 Markdown 的工作流程。

需求

团队希望 Fluent 2 网站在 DevOps 方面实现轻量级和低维护。这个工具必须支持他们的设计系统库,该库已经发布了 React 版本。可扩展性也很重要,即他们希望以后能够根据需要添加内容管理系统或文档搜索(例如 Algolia)。最后,他们希望能够支持旧版 Storybook iframe 来共享代码示例,但最终能够迁移掉它们。

解决方案与实施

Astro 默认输出零 JavaScript,这使得它对于微软来说非常轻量和高性能。作为工具无关的框架,Astro 还支持其他框架,这意味着微软可以继续支持他们用 React 构建的设计系统库。未来,他们希望通过重新添加内容管理系统来改善内容编辑体验。Astro 生态系统支持的一些内容管理系统包括 StoryblokCloudCannonSanity

当被问及选择 Astro 最有利的部分是什么时,Tudor 说道:

“对我们来说,Astro 能够生成完全静态文件非常重要。这对我们非常有益,因为我们希望免受多种攻击,例如 DDoS 攻击。因此,如果一个产品非常依赖后端服务,可能会导致问题。在当前这个时代,拥有一个完全静态的网站并将其托管在 Azure 上,对于安全性和可扩展性来说是非常有利的。”

— Tudor Popa,微软(Fluent 2)工程经理

Astro 还使微软能够继续支持旧版 Storybook iframe,直到团队准备好迁移。这让微软在幕后改变技术栈的同时,能够为外部和内部用户保持良好的体验。

微软在 10 个月内使用 Astro 设计并构建了新的 Fluent 2 网站,其中包括 200 多页新内容。

成果

Astro 帮助 Fluent 团队以比之前技术栈一半的时间构建新页面。Astro 还帮助团队中的开发者和设计师充分利用 HTML、CSS 和 JavaScript 的强大功能,保持一致。

自此,Fluent 2 设计系统已被公司内许多产品采用,包括 Office 产品、Windows 和 Teams。通过这种设置,微软能够在 20-30 分钟内实现简单页面的 Figma 设计。

动画显示单词从以下单词循环切换:“想法、创造力、任务、想象力和创新”。