<story><title>From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience</title><url>https://shopify.engineering/overhauling-shopify-cli-for-a-better-developer-experience</url></story><parent_chain><item><author>eatwater123</author><text>Cool. But god, the Shopify CLI &amp;#x2F; developer experience has degraded so much in the past few years. With the newest iteration, they want a full app re-structure just to work with the CLI properly. It is absolutely brutal.&lt;p&gt;Sure, before they had basically no tooling, but then they had some basic ones that everyone was basically happy with, and then they just decided to iterate too much.&lt;p&gt;(saying this as a ~ 8 year long Partner &amp;#x2F; Expert &amp;#x2F; App Developer)&lt;p&gt;I&amp;#x27;ve spoken to some Shopify employees and they all agreed that the developer teams are a bit of a mess. It seems like nobody managing the developer products are actually using the end results, otherwise they&amp;#x27;d realize the hoops needed to work through (unless you are starting a brand new project right now --- and hoping that they don&amp;#x27;t decide to change it all, like they have 5 times in the past 3 years)</text></item></parent_chain><comment><author>DwnVoteHoneyPot</author><text>My read on this is they just wanted to cut out Ruby and do everything in Node.  That&amp;#x27;s fine as a decision, but rest of the article feels like just trying to justify it after the fact.  Like someone at the top decided, now lets pretend it&amp;#x27;s a good decision.&lt;p&gt;As you mentioned, if they&amp;#x27;re not OK with CLI, they could refactor in Ruby. The whole &amp;quot;embracing functional programming&amp;quot; and MVC architecture (i think Rails when i hear MVC) as reasons to go to Node, and not Ruby, is nuts.&lt;p&gt;If they were worried about dependencies, they&amp;#x27;d use Rust or Go as they mentioned.</text></comment>
<story><title>From Ruby to Node: Overhauling Shopify’s CLI for a better developer experience</title><url>https://shopify.engineering/overhauling-shopify-cli-for-a-better-developer-experience</url></story><parent_chain><item><author>eatwater123</author><text>Cool. But god, the Shopify CLI &amp;#x2F; developer experience has degraded so much in the past few years. With the newest iteration, they want a full app re-structure just to work with the CLI properly. It is absolutely brutal.&lt;p&gt;Sure, before they had basically no tooling, but then they had some basic ones that everyone was basically happy with, and then they just decided to iterate too much.&lt;p&gt;(saying this as a ~ 8 year long Partner &amp;#x2F; Expert &amp;#x2F; App Developer)&lt;p&gt;I&amp;#x27;ve spoken to some Shopify employees and they all agreed that the developer teams are a bit of a mess. It seems like nobody managing the developer products are actually using the end results, otherwise they&amp;#x27;d realize the hoops needed to work through (unless you are starting a brand new project right now --- and hoping that they don&amp;#x27;t decide to change it all, like they have 5 times in the past 3 years)</text></item></parent_chain><comment><author>btown</author><text>One of the things I find fascinating is that in the days where it was Liquid templates, and Vercel etc. were barely a twinkle in people&amp;#x27;s eyes, Shopify had a huge value add - that you or an app development consultancy could iterate on customizing interfaces here and there, and deploy changes from the CLI or directly on the Shopify platform, without needing to worry about deployment, payment processing, etc.&lt;p&gt;But so much has changed now. Deploying a customized frontend has a negligible cost, and the API surface that Shopify powers could be powered by a myriad of tools, with Stripe etc. doing large amounts of heavy lifting on the administrative side.&lt;p&gt;Were contractual obligations, and not wanting to bite the hand that feeds, the only thing preventing longstanding Shopify app developers from joining together and creating an industry-standard alternative API surface that could be deployed in different ways?</text></comment>