[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-LM3ENlWgx4OVWojwpVoIghVpIDOpa5bOEbLdpwOEZqM":3,"sanity-550J0-bPuCp4CWwDIqiDBUJm9ZCG6m8d0hFRcAr895k":258},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":233},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"f83eb5f0-1237-487f-84d8-f7abf2318c39","2026-06-25T07:40:00.000Z",{"_type":10,"current":11},"slug","code-isnt-causing-your-production-failures",null,"Code isn’t the only thing causing your production failures",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":64,"comments":206,"dateUrl":207,"excerpt":208,"image":209,"legacyBody":212,"product":12,"publishedAt":215,"slug":216,"sponsored":12,"tags":218,"title":232,"visible":206},"2023-05-24T12:51:04Z","wp-post-21303","XzVcPPDfPNmxxXS3zvEksc","blogPost","2025-10-31T17:27:06Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_system":50,"_type":53,"_updatedAt":54,"avatar":55,"employee":60,"name":61,"slug":62},"2023-05-23T16:27:18Z","wp-author-213","nRfzWrvFg3DIXOd15U9uv8",{"base":51},{"id":48,"rev":52},"9xJoPFf2DISyAMMJXP7Ct6","blogAuthor","2025-07-29T19:37:47Z",{"_type":56,"asset":57},"image",{"_ref":58,"_type":59},"image-e81c84dcaeb58be1002795a6544b595bd6fc8071-1024x1024-jpg","reference","former","Ben Popper",{"current":63},"benpopper",[65,69,80,89,97,105,114,122,130,142,195],{"_key":66,"_type":67,"markDefs":12,"url":68},"c84406324fa3","embed","https://art19.com/shows/2355b740-4531-4071-a3ab-5907a95a36d3/episodes/6548f52b-9dda-40de-bf0e-aec81d3965ea",{"_key":70,"_type":71,"children":72,"markDefs":78,"style":79},"d1255cf8b713","block",[73],{"_key":74,"_type":75,"marks":76,"text":77},"d1255cf8b7130","span",[],"On today’s episode, we’re airing a conversation recorded at the Next.JS conference. We chat with Lee Robinson, VP of Developer Experience at Vercel about the company’s vision for evolving from Webpack to Turbopack, helping customers who are cautious about migrating to a new tool, changes happening with React server components, and much more.",[],"normal",{"_key":81,"_type":71,"children":82,"markDefs":88,"style":79},"1dd2e95c0f5b",[83],{"_key":84,"_type":75,"marks":85,"text":87},"1dd2e95c0f5b0",[86],"strong","EPISODE NOTES",[],{"_key":90,"_type":71,"children":91,"markDefs":96,"style":79},"ab38afa8d485",[92],{"_key":93,"_type":75,"marks":94,"text":95},"ab38afa8d4850",[],"Webpack has been king for several years. Vercel wants folks to embrace Turbopack, but their claims about speed raised a lot of backlash after it was first announced. Lee explains why he thinks the Rust-based approach will ultimately be a big benefit to developers and how organizations who are deeply ingrained with existing tools can safely and incrementally migrate to what is, for now, a very Alpha and experimental release.",[],{"_key":98,"_type":71,"children":99,"markDefs":104,"style":79},"50cf4f4fa7cf",[100],{"_key":101,"_type":75,"marks":102,"text":103},"50cf4f4fa7cf0",[],"We go over the routing and rendering updates in Next.JS 13, exploring where it might offer developers more flexibility and the ability to use React server components to ship less, maybe a lot less, JavaScript. As Lee says in the episode:",[],{"_key":106,"_type":71,"children":107,"markDefs":113,"style":79},"dc2ab4798c49",[108],{"_key":109,"_type":75,"marks":110,"text":112},"dc2ab4798c490",[111],"em","“So to your point about wanting to ship less JavaScript, that was a kinda fundamental architectural decision of where we headed with the app directory. And the core of this is because it's built on React server components.",[],{"_key":115,"_type":71,"children":116,"markDefs":121,"style":79},"9f5b8f9a3ddf",[117],{"_key":118,"_type":75,"marks":119,"text":120},"9f5b8f9a3ddf0",[111],"The key thing with React server components is that as your application grows in size from one component to a hundred thousand components, the amount of client-side JavaScript you send can be exactly the same. It can be constant because you can render every single component on the server.",[],{"_key":123,"_type":71,"children":124,"markDefs":129,"style":79},"74278ac4c578",[125],{"_key":126,"_type":75,"marks":127,"text":128},"74278ac4c5780",[111],"And that's a lot different from the world of React applications today, where every new component you add for data fetching or just putting some HTML on the screen also adds additional client-side JavaScript.",[],{"_key":131,"_type":71,"children":132,"markDefs":141,"style":79},"c87de7f4eed5",[133,137],{"_key":134,"_type":75,"marks":135,"text":136},"c87de7f4eed50",[86,111],"So this is kind of inverting the default, back from the client to be server first",{"_key":138,"_type":75,"marks":139,"text":140},"c87de7f4eed51",[111],". Now, of course, we still love client-side interactivity that React provides making really interactive and rich UI experiences, but the default for data fetching or just getting HTML to the browser happens from the server, and that's gonna help us reduce the amount of JavaScript.”",[],{"_key":143,"_type":71,"children":144,"markDefs":185,"style":79},"512b8c4546ed",[145,149,154,158,163,167,172,176,181],{"_key":146,"_type":75,"marks":147,"text":148},"512b8c4546ed0",[],"You can learn more about Lee on his ",{"_key":150,"_type":75,"marks":151,"text":153},"512b8c4546ed1",[152],"4601bb559351","website",{"_key":155,"_type":75,"marks":156,"text":157},"512b8c4546ed2",[],", ",{"_key":159,"_type":75,"marks":160,"text":162},"512b8c4546ed3",[161],"170a0195f7ee","LinkedIn",{"_key":164,"_type":75,"marks":165,"text":166},"512b8c4546ed4",[],", and ",{"_key":168,"_type":75,"marks":169,"text":171},"512b8c4546ed5",[170],"f22523979972","Twitter",{"_key":173,"_type":75,"marks":174,"text":175},"512b8c4546ed6",[],". To diver deeper into his take on how Rust will impact the future of Javascript, check out a post he wrote ",{"_key":177,"_type":75,"marks":178,"text":180},"512b8c4546ed7",[179],"4f09e72ef8f3","here",{"_key":182,"_type":75,"marks":183,"text":184},"512b8c4546ed8",[],".",[186,189,191,193],{"_key":152,"_type":187,"href":188,"reference":12},"link","https://docs.google.com/document/d/1mPWX3lpxiLvRRbgoGJFDqyHc1OVBvwc_3uWDIAEjko8/edit?usp=sharing",{"_key":161,"_type":187,"href":190,"reference":12},"https://www.linkedin.com/in/leeerob/",{"_key":170,"_type":187,"href":192,"reference":12},"https://twitter.com/leeerob?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor",{"_key":179,"_type":187,"href":194,"reference":12},"https://leerob.io/blog/rust",{"_key":196,"_type":71,"children":197,"markDefs":203,"style":79},"ace4c39e5f42",[198],{"_key":199,"_type":75,"marks":200,"text":202},"ace4c39e5f420",[201],"1b7b804c00a9","TRANSCRIPT",[204],{"_key":201,"_type":187,"href":205,"reference":12},"https://the-stack-overflow-podcast.simplecast.com/episodes/lee-robinson-vercel-next-js-13-rust-turbopack/transcript/",true,"2022/12/09","Building websites should be well oiled machine",{"_type":56,"asset":210},{"_ref":211,"_type":59},"image-472725c034235a56301dc8caf0ed41b3d298c57a-1200x630-png",{"code":213,"language":214},"\u003C!-- wp:html -->\n\u003Ciframe height=\"200px\" width=\"100%\" frameborder=\"no\" scrolling=\"no\" seamless=\"\" src=\"https://player.simplecast.com/eb9346b7-d32d-456e-b6ea-f90036ffa0c7?dark=false\">\u003C/iframe>\n\u003C!-- /wp:html -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>On today’s episode, we’re airing a conversation recorded at the Next.JS conference. We chat with Lee Robinson, VP of Developer Experience at Vercel about the company’s vision for evolving from Webpack to Turbopack, helping customers who are cautious about migrating to a new tool, changes happening with React server components, and much more.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cstrong>EPISODE NOTES\u003C/strong>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Webpack has been king for several years. Vercel wants folks to embrace Turbopack, but their claims about speed raised a lot of backlash after it was first announced. Lee explains why he thinks the Rust-based approach will ultimately be a big benefit to developers and how organizations who are deeply ingrained with existing tools can safely and incrementally migrate to what is, for now, a very Alpha and experimental release.&nbsp;\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>We go over the routing and rendering updates in Next.JS 13, exploring where it might offer developers more flexibility and the ability to use React server components to ship less, maybe a lot less, JavaScript. As Lee says in the episode:&nbsp;\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cem>“So to your point about wanting to ship less JavaScript, that was a kinda fundamental architectural decision of where we headed with the app directory. And the core of this is because it's built on React server components.&nbsp;\u003C/em>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cem>The key thing with React server components is that as your application grows in size from one component to a hundred thousand components, the amount of client-side JavaScript you send can be exactly the same. It can be constant because you can render every single component on the server.&nbsp;\u003C/em>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cem>And that's a lot different from the world of React applications today, where every new component you add for data fetching or just putting some HTML on the screen also adds additional client-side JavaScript.\u003C/em>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cstrong>\u003Cem>So this is kind of inverting the default, back from the client to be server first\u003C/em>\u003C/strong>\u003Cem>. Now, of course, we still love client-side interactivity that React provides making really interactive and rich UI experiences, but the default for data fetching or just getting HTML to the browser happens from the server, and that's gonna help us reduce the amount of JavaScript.”\u003C/em>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>You can learn more about Lee on his \u003Ca href=\"https://docs.google.com/document/d/1mPWX3lpxiLvRRbgoGJFDqyHc1OVBvwc_3uWDIAEjko8/edit?usp=sharing\">website\u003C/a>, \u003Ca href=\"https://www.linkedin.com/in/leeerob/\">LinkedIn\u003C/a>, and \u003Ca href=\"https://twitter.com/leeerob?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor\">Twitter\u003C/a>. To diver deeper into his take on how Rust will impact the future of Javascript, check out a post he wrote \u003Ca href=\"https://leerob.io/blog/rust\">here\u003C/a>.\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Ca href=\"https://the-stack-overflow-podcast.simplecast.com/episodes/lee-robinson-vercel-next-js-13-rust-turbopack/transcript/\">TRANSCRIPT\u003C/a>\u003C/p>\n\u003C!-- /wp:paragraph -->","html","2022-12-09T05:40:00.000Z",{"current":217},"ready-to-optimize-your-javascript-with-rust",[219,227],{"_createdAt":220,"_id":221,"_rev":222,"_type":223,"_updatedAt":220,"slug":224,"title":226},"2023-05-23T16:43:21Z","wp-tagcat-podcast","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":225},"podcast","The Stack Overflow Podcast",{"_createdAt":220,"_id":228,"_rev":222,"_type":223,"_updatedAt":220,"slug":229,"title":231},"wp-tagcat-the-stack-overflow-podcast",{"current":230},"the-stack-overflow-podcast","the stack overflow podcast","Ready to optimize your JavaScript with Rust? (Ep. 517)",[234,240,246,252],{"_id":235,"publishedAt":236,"slug":237,"sponsored":12,"title":239},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":238},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":241,"publishedAt":242,"slug":243,"sponsored":12,"title":245},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":244},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":247,"publishedAt":248,"slug":249,"sponsored":12,"title":251},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":250},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"_id":253,"publishedAt":254,"slug":255,"sponsored":12,"title":257},"30b995f7-7cb9-4dd8-bf71-d0685940a32b","2026-06-19T14:00:00.000Z",{"_type":10,"current":256},"dispatches-from-o-reilly-from-capabilities-to-responsibilities","Dispatches from O'Reilly: From capabilities to responsibilities",{"data":259,"sourceMap":-1},{"count":260,"lastTimestamp":261},5,"2023-05-25T09:47:55Z"]