avatar
Published on

Mimetic tech stacks

I recently read an article from Airbnb on how they migrated from Webpack to Metro. The subtitle of the article is as follows:

How Airbnb migrated from Webpack to Metro and made the development feedback loop nearly instantaneous, the largest production build 50% faster, with marginal end-user runtime improvements.

Now, you might be saying that this sounds absolutely great. Why is not everyone switching their builds to Metro instead? Mainly because it took them multiple years to get Metro, a bundler for React Native, on feature parity with Webpack. If Vite (which internally uses esbuild) or Parcel V2 would have existed in 2018, I am sure that Airbnb would have instead leveraged these tools instead of going forward with Metro.

That said, in 2018 if you asked me if you should follow in Airbnb’s footsteps and also leverage Metro, i’d have said - “well… it depends”. Does your company have a dedicated team to work on this with expertise in bundlers? If your answer is no, then no, you shouldn't even think about it. If your company is not atleast a midsized enterprise, then you probably dont have the time to work on this. At Airbnb’s scale, they can dedicate a whole team to adopt Metro on the web and make their codebase work with it.

Problems on the enterprise level are unique and you are highly unlikely to face the build time problems Airbnb faces with their large codebase.

The point being, use what fits your usecase and not what is popular on the internet.

Subscribe to the newsletter