The Shopify development team rewrote the CLI tool originally written in Ruby in Node last year, and recently introduced the reasons and trade-offs behind this decision.
Shopify CLI is an important tool for Shopify platform developers. It can be used to build themes, applications and Hydrogen development, allowing developers to create new projects with best practices and integrate with the platform, or publish production components for store use. However, the Shopify CLI development team found that for developers who build Shopify applications, they have always had some experience problems in using the CLI, so they decided to re-examine the development language selection of the CLI, hoping to make some changes.
Considering that Shopify relies more and more on resources and tools of JavaScript and Node Runtime, the team hopes that after adopting the new language, the installation requirements of Runtime can be reduced, the developer experience can be improved, and the internal team can also contribute. In the end they decided to rewrite the CLI in TypeScript and support running on the Node Runtime.
In addition to the most familiar Ruby, the programming languages being used inside Shopify are followed by Node, Go and Rust. From a technical point of view, Go and Rust are also ideal choices. Go and Rust programs can be easily compiled into binary files, so users do not need to install Runtime. However, Shopify finally chose Node because the team is more familiar with Node.They don’t want the language to be a barrier for internal teams to contribute CLI.
In addition, using Node to build CLI has another feature that is different from Ruby. Node has a flexible module system and scalability. Node’s module system allows multiple versions of the same deliverable package to not conflict with each other.
#Shopify #development #team #abandons #Ruby #rewrites #CLI #tool #Node #News Fast Delivery