Issue 188 p{ margin:10px 0; padding:0; } table{ border-collapse:collapse; } h1,h2,h3,h4,h5,h6{ display:block; margin:0; padding:0; } img,a img{ border:0; height:auto; outline:none; text-decoration:none; } body,#bodyTable,#bodyCell{ height:100%; margin:0; padding:0; width:100%; } .mcnPreviewText{ display:none !important; } #outlook a{ padding:0; } img{ -ms-interpolation-mode:bicubic; } table{ mso-table-lspace:0pt; mso-table-rspace:0pt; } .ReadMsgBody{ width:100%; } .ExternalClass{ width:100%; } p,a,li,td,blockquote{ mso-line-height-rule:exactly; } a[href^=tel],a[href^=sms]{ color:inherit; cursor:default; text-decoration:none; } p,a,li,td,body,table,blockquote{ -ms-text-size-adjust:100%; -webkit-text-size-adjust:100%; } .ExternalClass,.ExternalClass p,.ExternalClass td,.ExternalClass div,.ExternalClass span,.ExternalClass font{ line-height:100%; } a[x-apple-data-detectors]{ color:inherit !important; text-decoration:none !important; font-size:inherit !important; font-family:inherit !important; font-weight:inherit !important; line-height:inherit !important; } table[align=left]{ float:left; } table[align=right]{ float:right; } .templateContainer{ max-width:600px !important; } a.mcnButton{ display:block; } .mcnImage,.mcnRetinaImage{ vertical-align:bottom; } .mcnTextContent{ word-break:break-word; } .mcnTextContent img{ height:auto !important; } .mcnDividerBlock{ table-layout:fixed !important; } body,#bodyTable{ background-color:#ffffff; } #bodyCell{ border-top:0; } h1{ color:#202020; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:28px; font-style:normal; font-weight:bold; line-height:125%; letter-spacing:normal; text-align:left; } h2{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:25px; font-style:normal; font-weight:bold; line-height:125%; letter-spacing:normal; text-align:left; } h3{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:18px; font-style:normal; font-weight:normal; line-height:150%; letter-spacing:normal; text-align:left; } h4{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:19px; font-style:normal; font-weight:bold; line-height:125%; letter-spacing:normal; text-align:left; } #templatePreheader{ background-color:#transparent; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:9px; padding-bottom:9px; } #templatePreheader .mcnTextContent,#templatePreheader .mcnTextContent p{ color:#656565; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:16px; line-height:150%; text-align:left; } #templatePreheader .mcnTextContent a,#templatePreheader .mcnTextContent p a{ color:#412951; font-weight:normal; text-decoration:underline; } #templateHeader{ background-color:#transparent; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:20px; padding-bottom:12px; } #templateHeader .mcnTextContent,#templateHeader .mcnTextContent p{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:20px; line-height:100%; text-align:center; } #templateHeader .mcnTextContent a,#templateHeader .mcnTextContent p a{ color:#302c32; font-weight:bold; text-decoration:underline; } #templateBody{ background-color:#ffffff; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:32px; padding-bottom:48px; } #templateBody .mcnTextContent,#templateBody .mcnTextContent p{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:16px; line-height:150%; text-align:left; } #templateBody .mcnTextContent a,#templateBody .mcnTextContent p a{ color:#302c32; font-weight:normal; text-decoration:underline; } #templateFooter{ background-color:#transparent; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:9px; padding-bottom:9px; } #templateFooter .mcnTextContent,#templateFooter .mcnTextContent p{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:14px; line-height:150%; text-align:center; } #templateFooter .mcnTextContent a,#templateFooter .mcnTextContent p a{ color:#302c32; font-weight:normal; text-decoration:underline; } @media only screen and (min-width:768px){ .templateContainer{ width:600px !important; } } @media only screen and (max-width: 480px){ body,table,td,p,a,li,blockquote{ -webkit-text-size-adjust:none !important; } } @media only screen and (max-width: 480px){ body{ width:100% !important; min-width:100% !important; } } @media only screen and (max-width: 480px){ .mcnRetinaImage{ max-width:100% !important; } } @media only screen and (max-width: 480px){ .mcnImage{ width:100% !important; } } @media only screen and (max-width: 480px){ .mcnCartContainer,.mcnCaptionTopContent,.mcnRecContentContainer,.mcnCaptionBottomContent,.mcnTextContentContainer,.mcnBoxedTextContentContainer,.mcnImageGroupContentContainer,.mcnCaptionLeftTextContentContainer,.mcnCaptionRightTextContentContainer,.mcnCaptionLeftImageContentContainer,.mcnCaptionRightImageContentContainer,.mcnImageCardLeftTextContentContainer,.mcnImageCardRightTextContentContainer,.mcnImageCardLeftImageContentContainer,.mcnImageCardRightImageContentContainer{ max-width:100% !important; width:100% !important; } } @media only screen and (max-width: 480px){ .mcnBoxedTextContentContainer{ min-width:100% !important; } } @media only screen and (max-width: 480px){ .mcnImageGroupContent{ padding:9px !important; } } @media only screen and (max-width: 480px){ .mcnCaptionLeftContentOuter .mcnTextContent,.mcnCaptionRightContentOuter .mcnTextContent{ padding-top:9px !important; } } @media only screen and (max-width: 480px){ .mcnImageCardTopImageContent,.mcnCaptionBottomContent:last-child .mcnCaptionBottomImageContent,.mcnCaptionBlockInner .mcnCaptionTopContent:last-child .mcnTextContent{ padding-top:18px !important; } } @media only screen and (max-width: 480px){ .mcnImageCardBottomImageContent{ padding-bottom:9px !important; } } @media only screen and (max-width: 480px){ .mcnImageGroupBlockInner{ padding-top:0 !important; padding-bottom:0 !important; } } @media only screen and (max-width: 480px){ .mcnImageGroupBlockOuter{ padding-top:9px !important; padding-bottom:9px !important; } } @media only screen and (max-width: 480px){ .mcnTextContent,.mcnBoxedTextContentColumn{ padding-right:18px !important; padding-left:18px !important; } } @media only screen and (max-width: 480px){ .mcnImageCardLeftImageContent,.mcnImageCardRightImageContent{ padding-right:18px !important; padding-bottom:0 !important; padding-left:18px !important; } } @media only screen and (max-width: 480px){ .mcpreview-image-uploader{ display:none !important; width:100% !important; } } @media only screen and (max-width: 480px){ h1{ font-size:24px !important; line-height:125% !important; } } @media only screen and (max-width: 480px){ h2{ font-size:22px !important; line-height:125% !important; } } @media only screen and (max-width: 480px){ h3{ font-size:18px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ h4{ font-size:20px !important; line-height:125% !important; } } @media only screen and (max-width: 480px){ .mcnBoxedTextContentContainer .mcnTextContent,.mcnBoxedTextContentContainer .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templatePreheader{ display:block !important; } } @media only screen and (max-width: 480px){ #templatePreheader .mcnTextContent,#templatePreheader .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templateHeader .mcnTextContent,#templateHeader .mcnTextContent p{ font-size:18px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templateBody .mcnTextContent,#templateBody .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templateFooter .mcnTextContent,#templateFooter .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } }
Ignite 11, React Native 0.80, Expo SDK 53, and more!
Issue 188 • Open in browser
React Native Newsletter
It’s been a little while since our last edition, and we’ve got a jam packed issue to get you up to speed on everything happening in the React Native world.
But first… Ignite 11: Bison is here! 🦬
This release includes Expo SDK 53, the New Architecture by default, Android edge to edge support, and the end of our MobX-State-Tree era.
Curious about the name Bison? Mark’s post breaks it down.
Let’s dive in 👇
The latest React Native release is 0.80.1 (2 weeks ago)
react-native
react-native
React Native 0.80 is loaded with changes! This version ships with React 19.1, JavaScript API updates impacting deep imports, and officially freezes support for the legacy architecture. One highlight? React Native 80 will ship with part of React Native iOS as a pre-build to reduce initial build times 🎉
The latest release of Ignite is loaded with community-driven upgrades, including Expo SDK 53, New Architecture by default, full Android edge-to-edge support, and a long-requested move away from MobX-State-Tree. Read the announcement!
Expo’s latest releases are packed full! Expo SDK 53 brings the New Architecture on by default. Expo Router v5 is now stable and faster. And Expo released a Fingerprint + Repack workflow with a 78% reduction in CI build times.
The latest release of ExecuTorch adds support for multiple LLMs, tool calling, and more — making it easier than ever to run powerful on-device AI in your React Native projects.
Built as a drop-in replacement for the Community CLI, Callstack’s RNEF is now open source and ready for your next large scale React Native project.
The new react-native-webgpu-worklets project lets you run WebGPU + ThreeJS on any thread using Reanimated Worklets. It unlocks high-performance, multi-threaded rendering right inside your app!
After a year of development, Unistyles 3.0 has officially shipped its stable release with a ton of useful features.
RNR 337 - Meta Quest for React Native with Markus Leyendecker
Jamon sits down with Markus Leyendecker from Meta to talk about using React Native on Meta Quest. Spoiler alert: Jamon might have purchased a headset after the recording of this episode!
Nahue Alberti from Paisanos joins Mazen to break down how they built the Boca Socios app using React Native, Solito, and a universal architecture—plus thoughts on AI testing, fast iteration, and building for real fans.
State management isn’t one-size-fits-all. Jamon, Robin, and Mazen compare tools they’ve used on real projects, where trade-offs show up, and how their opinions have evolved.
Issue 188 p{ margin:10px 0; padding:0; } table{ border-collapse:collapse; } h1,h2,h3,h4,h5,h6{ display:block; margin:0; padding:0; } img,a img{ border:0; height:auto; outline:none; text-decoration:none; } body,#bodyTable,#bodyCell{ height:100%; margin:0; padding:0; width:100%; } .mcnPreviewText{ display:none !important; } #outlook a{ padding:0; } img{ -ms-interpolation-mode:bicubic; } table{ mso-table-lspace:0pt; mso-table-rspace:0pt; } .ReadMsgBody{ width:100%; } .ExternalClass{ width:100%; } p,a,li,td,blockquote{ mso-line-height-rule:exactly; } a[href^=tel],a[href^=sms]{ color:inherit; cursor:default; text-decoration:none; } p,a,li,td,body,table,blockquote{ -ms-text-size-adjust:100%; -webkit-text-size-adjust:100%; } .ExternalClass,.ExternalClass p,.ExternalClass td,.ExternalClass div,.ExternalClass span,.ExternalClass font{ line-height:100%; } a[x-apple-data-detectors]{ color:inherit !important; text-decoration:none !important; font-size:inherit !important; font-family:inherit !important; font-weight:inherit !important; line-height:inherit !important; } table[align=left]{ float:left; } table[align=right]{ float:right; } .templateContainer{ max-width:600px !important; } a.mcnButton{ display:block; } .mcnImage,.mcnRetinaImage{ vertical-align:bottom; } .mcnTextContent{ word-break:break-word; } .mcnTextContent img{ height:auto !important; } .mcnDividerBlock{ table-layout:fixed !important; } body,#bodyTable{ background-color:#ffffff; } #bodyCell{ border-top:0; } h1{ color:#202020; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:28px; font-style:normal; font-weight:bold; line-height:125%; letter-spacing:normal; text-align:left; } h2{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:25px; font-style:normal; font-weight:bold; line-height:125%; letter-spacing:normal; text-align:left; } h3{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:18px; font-style:normal; font-weight:normal; line-height:150%; letter-spacing:normal; text-align:left; } h4{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:19px; font-style:normal; font-weight:bold; line-height:125%; letter-spacing:normal; text-align:left; } #templatePreheader{ background-color:#transparent; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:9px; padding-bottom:9px; } #templatePreheader .mcnTextContent,#templatePreheader .mcnTextContent p{ color:#656565; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:16px; line-height:150%; text-align:left; } #templatePreheader .mcnTextContent a,#templatePreheader .mcnTextContent p a{ color:#412951; font-weight:normal; text-decoration:underline; } #templateHeader{ background-color:#transparent; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:20px; padding-bottom:12px; } #templateHeader .mcnTextContent,#templateHeader .mcnTextContent p{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:20px; line-height:100%; text-align:center; } #templateHeader .mcnTextContent a,#templateHeader .mcnTextContent p a{ color:#302c32; font-weight:bold; text-decoration:underline; } #templateBody{ background-color:#ffffff; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:32px; padding-bottom:48px; } #templateBody .mcnTextContent,#templateBody .mcnTextContent p{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:16px; line-height:150%; text-align:left; } #templateBody .mcnTextContent a,#templateBody .mcnTextContent p a{ color:#302c32; font-weight:normal; text-decoration:underline; } #templateFooter{ background-color:#transparent; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:9px; padding-bottom:9px; } #templateFooter .mcnTextContent,#templateFooter .mcnTextContent p{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:14px; line-height:150%; text-align:center; } #templateFooter .mcnTextContent a,#templateFooter .mcnTextContent p a{ color:#302c32; font-weight:normal; text-decoration:underline; } @media only screen and (min-width:768px){ .templateContainer{ width:600px !important; } } @media only screen and (max-width: 480px){ body,table,td,p,a,li,blockquote{ -webkit-text-size-adjust:none !important; } } @media only screen and (max-width: 480px){ body{ width:100% !important; min-width:100% !important; } } @media only screen and (max-width: 480px){ .mcnRetinaImage{ max-width:100% !important; } } @media only screen and (max-width: 480px){ .mcnImage{ width:100% !important; } } @media only screen and (max-width: 480px){ .mcnCartContainer,.mcnCaptionTopContent,.mcnRecContentContainer,.mcnCaptionBottomContent,.mcnTextContentContainer,.mcnBoxedTextContentContainer,.mcnImageGroupContentContainer,.mcnCaptionLeftTextContentContainer,.mcnCaptionRightTextContentContainer,.mcnCaptionLeftImageContentContainer,.mcnCaptionRightImageContentContainer,.mcnImageCardLeftTextContentContainer,.mcnImageCardRightTextContentContainer,.mcnImageCardLeftImageContentContainer,.mcnImageCardRightImageContentContainer{ max-width:100% !important; width:100% !important; } } @media only screen and (max-width: 480px){ .mcnBoxedTextContentContainer{ min-width:100% !important; } } @media only screen and (max-width: 480px){ .mcnImageGroupContent{ padding:9px !important; } } @media only screen and (max-width: 480px){ .mcnCaptionLeftContentOuter .mcnTextContent,.mcnCaptionRightContentOuter .mcnTextContent{ padding-top:9px !important; } } @media only screen and (max-width: 480px){ .mcnImageCardTopImageContent,.mcnCaptionBottomContent:last-child .mcnCaptionBottomImageContent,.mcnCaptionBlockInner .mcnCaptionTopContent:last-child .mcnTextContent{ padding-top:18px !important; } } @media only screen and (max-width: 480px){ .mcnImageCardBottomImageContent{ padding-bottom:9px !important; } } @media only screen and (max-width: 480px){ .mcnImageGroupBlockInner{ padding-top:0 !important; padding-bottom:0 !important; } } @media only screen and (max-width: 480px){ .mcnImageGroupBlockOuter{ padding-top:9px !important; padding-bottom:9px !important; } } @media only screen and (max-width: 480px){ .mcnTextContent,.mcnBoxedTextContentColumn{ padding-right:18px !important; padding-left:18px !important; } } @media only screen and (max-width: 480px){ .mcnImageCardLeftImageContent,.mcnImageCardRightImageContent{ padding-right:18px !important; padding-bottom:0 !important; padding-left:18px !important; } } @media only screen and (max-width: 480px){ .mcpreview-image-uploader{ display:none !important; width:100% !important; } } @media only screen and (max-width: 480px){ h1{ font-size:24px !important; line-height:125% !important; } } @media only screen and (max-width: 480px){ h2{ font-size:22px !important; line-height:125% !important; } } @media only screen and (max-width: 480px){ h3{ font-size:18px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ h4{ font-size:20px !important; line-height:125% !important; } } @media only screen and (max-width: 480px){ .mcnBoxedTextContentContainer .mcnTextContent,.mcnBoxedTextContentContainer .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templatePreheader{ display:block !important; } } @media only screen and (max-width: 480px){ #templatePreheader .mcnTextContent,#templatePreheader .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templateHeader .mcnTextContent,#templateHeader .mcnTextContent p{ font-size:18px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templateBody .mcnTextContent,#templateBody .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templateFooter .mcnTextContent,#templateFooter .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } }
Ignite 11, React Native 0.80, Expo SDK 53, and more!
Issue 188 • Open in browser
React Native Newsletter
It’s been a little while since our last edition, and we’ve got a jam packed issue to get you up to speed on everything happening in the React Native world.
But first… Ignite 11: Bison is here! 🦬
This release includes Expo SDK 53, the New Architecture by default, Android edge to edge support, and the end of our MobX-State-Tree era.
Curious about the name Bison? Mark’s post breaks it down.
Let’s dive in 👇
The latest React Native release is 0.80.1 (2 weeks ago)
react-native
react-native
React Native 0.80 is loaded with changes! This version ships with React 19.1, JavaScript API updates impacting deep imports, and officially freezes support for the legacy architecture. One highlight? React Native 80 will ship with part of React Native iOS as a pre-build to reduce initial build times 🎉
The latest release of Ignite is loaded with community-driven upgrades, including Expo SDK 53, New Architecture by default, full Android edge-to-edge support, and a long-requested move away from MobX-State-Tree. Read the announcement!
Expo’s latest releases are packed full! Expo SDK 53 brings the New Architecture on by default. Expo Router v5 is now stable and faster. And Expo released a Fingerprint + Repack workflow with a 78% reduction in CI build times.
The latest release of ExecuTorch adds support for multiple LLMs, tool calling, and more — making it easier than ever to run powerful on-device AI in your React Native projects.
Built as a drop-in replacement for the Community CLI, Callstack’s RNEF is now open source and ready for your next large scale React Native project.
The new react-native-webgpu-worklets project lets you run WebGPU + ThreeJS on any thread using Reanimated Worklets. It unlocks high-performance, multi-threaded rendering right inside your app!
After a year of development, Unistyles 3.0 has officially shipped its stable release with a ton of useful features.
RNR 337 - Meta Quest for React Native with Markus Leyendecker
Jamon sits down with Markus Leyendecker from Meta to talk about using React Native on Meta Quest. Spoiler alert: Jamon might have purchased a headset after the recording of this episode!
Nahue Alberti from Paisanos joins Mazen to break down how they built the Boca Socios app using React Native, Solito, and a universal architecture—plus thoughts on AI testing, fast iteration, and building for real fans.
State management isn’t one-size-fits-all. Jamon, Robin, and Mazen compare tools they’ve used on real projects, where trade-offs show up, and how their opinions have evolved.
发布者