Shopify 开发团队去年将原本用 Ruby 编写的 CLI 工具改用 Node 进行了重写,并在近日介绍了这项决定背后的原因和权衡。
Shopify CLI 是 Shopify 平台开发者的重要工具,能够用于构建主题、应用程序和 Hydrogen 开发,让开发者以最佳实践创建新项目并与平台整合,或是发布生产构件供店家使用。不过 Shopify CLI 开发团队发现,对构建 Shopify 应用程序的开发者来说,他们在使用 CLI 上一直存在部分体验问题,因此决定重新审视 CLI 的开发语言选择,希望做出一些改变。
考虑到 Shopify 越来越依赖 JavaScript 和 Node Runtime 的资源、工具,因此团队希望采用新语言后能减少 Runtime 的安装需求,提升开发者体验,并且内部团队也可以进行贡献。最后他们决定用 TypeScript 重写 CLI,并支持在 Node Runtime 上运行。
Shopify 内部正在使用的编程语言除了最熟悉的 Ruby 之外,其次是 Node、Go 和 Rust。从技术层面来说,Go 和 Rust 也是理想的选择,Go 和 Rust 程序能够方便地编译成二进制文件,因此用户不需要安装 Runtime,但 Shopify 之所以最后选择 Node,是因为团队更熟悉 Node,他们不希望语言成为内部团队贡献 CLI 的障碍。
另外,使用 Node 来构建 CLI,还有一个有别于 Ruby 的特性,Node 具有灵活的模块系统和可扩展性,Node 的模块系统允许同一个可传递包的多个版本相互不冲突。
评论删除后,数据将无法恢复
Shopify 开发团队放弃 Ruby,改用 Node 重写 CLI 工具
Shopify 开发团队去年将原本用 Ruby 编写的 CLI 工具改用 Node 进行了重写,并在近日介绍了这项决定背后的原因和权衡。
Shopify CLI 是 Shopify 平台开发者的重要工具,能够用于构建主题、应用程序和 Hydrogen 开发,让开发者以最佳实践创建新项目并与平台整合,或是发布生产构件供店家使用。不过 Shopify CLI 开发团队发现,对构建 Shopify 应用程序的开发者来说,他们在使用 CLI 上一直存在部分体验问题,因此决定重新审视 CLI 的开发语言选择,希望做出一些改变。
考虑到 Shopify 越来越依赖 JavaScript 和 Node Runtime 的资源、工具,因此团队希望采用新语言后能减少 Runtime 的安装需求,提升开发者体验,并且内部团队也可以进行贡献。最后他们决定用 TypeScript 重写 CLI,并支持在 Node Runtime 上运行。
Shopify 内部正在使用的编程语言除了最熟悉的 Ruby 之外,其次是 Node、Go 和 Rust。从技术层面来说,Go 和 Rust 也是理想的选择,Go 和 Rust 程序能够方便地编译成二进制文件,因此用户不需要安装 Runtime,但 Shopify 之所以最后选择 Node,是因为团队更熟悉 Node,他们不希望语言成为内部团队贡献 CLI 的障碍。
另外,使用 Node 来构建 CLI,还有一个有别于 Ruby 的特性,Node 具有灵活的模块系统和可扩展性,Node 的模块系统允许同一个可传递包的多个版本相互不冲突。