CINXE.COM

React Universe Blog | {callstack}

<!DOCTYPE html><!-- Last Published: Mon Apr 07 2025 15:00:02 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.callstack.com" data-wf-page="64f0a6368c77adba2ad5771d" data-wf-site="64d0b1ecf0fc228ea4057bb5" lang="en"><head><meta charset="utf-8"/><title>React Universe Blog | {callstack}</title><meta content="Find discussions on the latest industry trends, technical guides, and other important articles" name="description"/><meta content="React Universe Blog | {callstack}" property="og:title"/><meta content="Find discussions on the latest industry trends, technical guides, and other important articles" property="og:description"/><meta content="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/65fc52d35675147ff2b3996d_BLOG%20page.jpg" property="og:image"/><meta content="React Universe Blog | {callstack}" property="twitter:title"/><meta content="Find discussions on the latest industry trends, technical guides, and other important articles" property="twitter:description"/><meta content="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/65fc52d35675147ff2b3996d_BLOG%20page.jpg" property="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="VHgHGPUMku0sZqnDDE6iEYDpXfl0K0tdKCao3BcvW7A" name="google-site-verification"/><link href="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/css/callstack.webflow.09b93edd9.min.css" rel="stylesheet" type="text/css"/><style>@media (min-width:992px) {html.w-mod-js:not(.w-mod-ix) [data-w-id="bc87c5bc-5acd-64d7-99d6-056665d4edda"] {opacity:1;}html.w-mod-js:not(.w-mod-ix) [data-w-id="bc87c5bc-5acd-64d7-99d6-056665d4eddb"] {-webkit-transform:translate3d(0%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}html.w-mod-js:not(.w-mod-ix) [data-w-id="bc87c5bc-5acd-64d7-99d6-056665d4eddd"] {opacity:1;}html.w-mod-js:not(.w-mod-ix) [data-w-id="bc87c5bc-5acd-64d7-99d6-056665d4edde"] {-webkit-transform:translate3d(0%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0%, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);}}</style><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><script type="text/javascript">WebFont.load({ google: { families: ["Inter:300,regular,500,600"] }});</script><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/654bba74092d5681b3b5b2a4_Fav%20Icon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/654bba7476f1aa5c4b40a0cf_FavIcon.png" rel="apple-touch-icon"/><link href="https://www.callstack.com/blog" rel="canonical"/><!-- Matomo Tag Manager --> <script> var _mtm = window._mtm = window._mtm || []; _mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'}); (function() { var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src='https://cdn.matomo.cloud/reactuniverseconference.matomo.cloud/container_dTpa3Dfc.js'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Matomo Tag Manager --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WZCRVKX'); </script> <!-- End Google Tag Manager --> <!-- new Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s);j.async=true;j.src="https://load.tgm.callstack.com/8yrrihsujoyrt.js?"+i;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','9e=aWQ9R1RNLUtRUzJDRjM3&apiKey=3dfa31fa');</script> <!-- End new Google Tag Manager --> <!-- Project Global CSS Styles --> <style> /* Fixing Font Weight for Browsers */ body{ overflow-x: hidden !important; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .swiper-button{ -webkit-mask-image: -webkit-radial-gradient(white, black); } </style> <style> /* Style the custom checkbox */ .hs-input[type="checkbox"] { box-sizing: border-box; display: none; /* Hide the default checkbox */ } /* Hide the marker for list items with the class 'hs-form-booleancheckbox' */ li.hs-form-booleancheckbox::marker { display: none; content: none; } div.hbspt-form ul.inputs-list { padding-left: 0; } /* Style the custom checkbox container */ .hs-form-booleancheckbox-display { position: relative; padding-left: 24px; /* Adjust as needed */ cursor: pointer; margin-top: 8px; /* Add margin top */ margin-left: 0; /* Adjust margin to remove space taken by the marker */ } /* Create the custom checkbox design */ .hs-form-booleancheckbox-display::before { box-sizing: border-box; content: ""; position: absolute; left: 0; top: 50%; transform: translate(0%,-50%); width: 16px; /* Adjust the size as needed */ height: 16px; /* Adjust the size as needed */ border: 2px solid #19E632; /* Green border for the checkbox */ background-color: transparent !important; border-radius: 100%; /* Make it fully rounded */ } /* Style the checkmark when the checkbox is checked */ .checkbox-checked{ background-color: #19E632; /* Fill color when checked */ border: 1px solid #19E632; /* Ensure the border stays the same */ border-radius: 50%; /* Make it fully rounded */ box-sizing: border-box; content: ""; position: absolute; left: 0; top: 50%; transform: translate(0%,-50%); width: 16px; /* Adjust the size as needed */ height: 16px; /* Adjust the size as needed */ } </style> <style> /* ----------- GENERAL RULES HubSpot ----------- */ .get-in-touch-form label { color: #fff; } .footer-newsletter-embed label { color: #FF1E73 !important; } .footer-newsletter-embed input[type="email"] { color: #000 !important; /* Set text color to black */ } .hs-input.invalid.error { border: 2px solid #FF1E73 !important; } label.hs-error-msg.hs-main-font-element { color: #FF1E73 !important; /* Set text color to red */ } .hs-input{ margin-bottom: 0.25rem !important; } .hs-input.invalid.error{ margin-bottom: 0.25rem !important; } .hs-error-msgs li::marker { content: none; display: none; } ul.no-list.hs-error-msgs.inputs-list{ padding-left: 0px !important; } .hs-input{ width: 100% !important; background: #F9F8FD !important; } ul.hs-error-msgs li{ padding: 0px !important; } ul.hs-error-msgs li:before { display: none !important; width: 0px !important; height:0px !important; color:transparent !important; background-color: transparent !important; } fieldset{ width: 100% !important; max-width: none !important; } .input{ margin-right: 0px !important; } select + .nice-select.hs-input::before { content: ''; /* Required for pseudo-elements */ position: absolute; top: 50%; /* Adjust as needed */ right: 10px; /* Adjust as needed */ transform: translateY(-50%); /* Center vertically */ width: 15px; /* Adjust the arrow image width */ height: 8px; /* Adjust the arrow image height */ background-image: url('https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/64da1f704323314c87979275_Down%20Arrow%201.svg'); /* Replace with your image path */ background-size: cover; /* Adjust the image display */ transition: transform 0.3s ease; } select + .nice-select.hs-input.open::before { transform: rotate(180deg); } .get-in-touch-form input[type="submit"] { display: none; } .form-columns-2 .hs-form-field{ width: 100% !important; } textarea { height: 138px !important; } .hs-input{ outline: none; } .hs_error_rollup { display: none !important; } .nice-select .list { max-height: none !important; } .submitted-message{ color: #19E632 !important; font-weight: 600 !important; } .flip-card-list li::marker{ height: 0.5rem; width: 0.5rem; color: #19E632; } .legal-consent-container a { color: white !important; } </style> <style> .get-in-touch-form input[type="submit"] { display: block !important; } .actions { display: block !important; margin-top: 1.5rem; } .hs-button { background-color: var(--colours-main--green); color: var(--colours-main--navy); cursor: pointer; border-radius: 1.9375rem; flex: 0 auto; justify-content: center; align-items: center; padding: 1rem 1.5rem; font-family: Inter, sans-serif; font-size: 1rem; font-weight: 600; text-decoration: none; transition-property: none; display: inline-block; border: none !important; width: 100%; } .footer-newsletter-embed .hs-button { width: auto; padding: .75rem 1.5rem; } .hs-button:hover { background-image: linear-gradient(180deg, var(--colours-secondary--warning), var(--colours-main--green)); } } </style> <style> .dropdown-list-backgroud { pointer-events: none; } .secondary-button-dark-small{ -webkit-mask-image: -webkit-radial-gradient(white, black); } .secondary-button-dark-big{ -webkit-mask-image: -webkit-radial-gradient(white, black); } .primary-button-big{ -webkit-mask-image: -webkit-radial-gradient(white, black); } .primary-button-small{ -webkit-mask-image: -webkit-radial-gradient(white, black); } .services-item { -webkit-mask-image: -webkit-radial-gradient(white, black); } </style> <style> /* Set default opacity to 0 for elements with the data-opacity attribute */ [data-opacity] { opacity: 0; transition: opacity 0.5s; /* Add a transition for a smooth effect */ } </style> <style> /* Rich text element style for Bold in Quote*/ .rich-text-element blockquote strong { font-weight: 400 !important; font-size: 0.875rem !important; height: 160% !important; } </style> <style> /* fix flash of unwanted content */ body { opacity: 0; transition: opacity 0.1s ease-in-out; } body.loaded { opacity: 1; } </style> <style> .legal-consent-container p { font-family: Inter, sans-serif; font-size: .625rem; font-weight: 400; line-height: 1.5em; color: var(--colours-secondary--neutral-white); margin-top: 1.5rem; } </style> <style> .nice-select span{ position: absolute; max-width: 90%; overflow: auto; } @media (max-width: 991px) { .nice-select span{ max-width: 88%; } } @media (max-width: 585px) { .nice-select span{ max-width: 82%; } } .nice-select span::-webkit-scrollbar { display: none; } .nice-select span { -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* Firefox */ } </style><script async src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script> <style> body { overflow-x: hidden; } </style></head><body><div data-animation="default" class="navigation w-nav" data-easing2="ease" data-wf--navigation-redesign--variant="base" data-easing="ease" data-collapse="medium" data-w-id="6491e0d8-fc91-68ee-1706-332d22f88a18" role="banner" data-duration="400"><div class="nav-opacity"></div><div class="nav-bg-fix"></div><div class="nav-container"><a href="/" class="nav-brand w-nav-brand"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/64d1ffc562b0e865fabcda52_Vector%20(1)-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/64d1ffc562b0e865fabcda52_Vector%20(1).webp 1738w" alt="Callstack Logo" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/64d1ffc562b0e865fabcda52_Vector%20(1).webp" loading="lazy" class="nav-logo"/></a><nav role="navigation" class="nav-menu nav-menu-rebrand w-nav-menu"><div class="nav-menu-mask-rebrand"><div data-delay="0" data-hover="true" data-w-id="6491e0d8-fc91-68ee-1706-332d22f88a20" class="nav-dropdown nav-about-dropdown w-dropdown"><div data-w-id="6491e0d8-fc91-68ee-1706-332d22f88a21" class="nav-dropdown-toggle nav-dropdown-rebrand w-dropdown-toggle"><a href="/about-us" class="nav-dropdown-link w-inline-block"><div class="hide">.</div></a><div class="is-txt-small is-txt-medium">About us</div><div class="nav-dropdown-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div><nav class="nav-dropdown-list nav-about-dropdown-list w-dropdown-list"><div class="nav-dropdown-list-wrapper"><div class="is-container is-grid nav-container"><div id="w-node-_9dcf6c75-67a1-faf9-392f-2f4057f55063-22f88a18" class="is-column navigation-left-column-link"><a id="w-node-_9dcf6c75-67a1-faf9-392f-2f4057f55064-22f88a18" href="/about-us" class="is-nav-link is-t-hidden is-txt-offwhite">About us</a><a href="/about-us" class="btn-sec--stroke is-full-width-mobile is-d-hidden is-t-visible w-button">Explore all about us</a><div class="navigation-left-column-hl"></div><div class="navigation-left-column-link-about-us"><div id="w-node-_64e14513-eefa-8003-5684-bcdb193971f0-22f88a18" class="navigation-left-column-link-wrapper"><a id="w-node-_64e14513-eefa-8003-5684-bcdb193971f1-22f88a18" href="/careers" class="is-nav-link is-txt-offwhite">Careers</a><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/66559c352bf2085d630df714_Down%20Arrow%202.svg" loading="lazy" alt="" class="navigation-left-column-arrow"/></div><div id="w-node-_9dcf6c75-67a1-faf9-392f-2f4057f55072-22f88a18" class="navigation-left-column-link-wrapper"><a id="w-node-_9dcf6c75-67a1-faf9-392f-2f4057f55073-22f88a18" href="/referral-program" class="is-nav-link is-txt-offwhite">Referral program</a><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/66559c352bf2085d630df714_Down%20Arrow%202.svg" loading="lazy" alt="" class="navigation-left-column-arrow"/></div><div class="navigation-left-column-link-wrapper"><a id="w-node-_9dcf6c75-67a1-faf9-392f-2f4057f5506b-22f88a18" href="/team" class="is-nav-link is-txt-offwhite">Team</a><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/66559c352bf2085d630df714_Down%20Arrow%202.svg" loading="lazy" alt="" class="navigation-left-column-arrow"/></div></div></div><div id="w-node-_9dcf6c75-67a1-faf9-392f-2f4057f55082-22f88a18" class="is-column is-txt-offwhite is-t-hidden"><p class="is-sub-small is-margin-b-24">&quot; Joining Callstack, I was excited, mostly because of one thing - I was going to work with experts who built open-source tools that I&#x27;ve been using in my projects...”</p><div class="is-row-l-h-b-12"><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/665849b5fba88ae33874f088_personimage.png" loading="lazy" alt="" class="nav-about-image"/><div class="is-column"><p class="is-txt-small">Jakub Urban</p><p class="is-txt-small">Senior Software Engineer</p></div></div></div></div></div></nav></div><a href="/technology" class="nav-case-link nav-dropdown-rebrand is-txt-small is-txt-medium">Technology</a><div data-delay="0" data-hover="true" class="nav-dropdown nav-services-dropdown w-dropdown"><div id="service-dropdown" class="nav-dropdown-toggle nav-dropdown-rebrand w-dropdown-toggle"><a href="/services" class="nav-dropdown-link w-inline-block"><div class="hide">.</div></a><div class="is-txt-small is-txt-medium">Services</div><div class="nav-dropdown-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div><nav class="nav-dropdown-list nav-services-dropdown-list-redesign w-dropdown-list"><div class="nav-dropdown-list-wrapper"><div class="is-container is-grid"><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adec5-22f88a18" class="is-column nav-services-main"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adec6-22f88a18" href="/services" class="is-nav-link is-t-hidden is-txt-offwhite">Explore all services</a><a href="/services" class="btn-sec--stroke is-full-width-mobile is-d-hidden is-t-visible is-margin-b-16 w-button">Explore all services</a><div class="navigation-left-column-hl"></div></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adecb-22f88a18" data-current="Product Development and Growth" data-easing="ease" data-duration-in="300" data-duration-out="100" class="is-container is-grid nav-container-services w-tabs"><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adecc-22f88a18" class="nav-tabs-wrapper-main w-tab-menu"><a data-w-tab="Product Development and Growth" data-w-id="ebb65425-2f49-ac9a-8614-8cc17f7adecd" class="nav-tab-link services-new w-inline-block w-tab-link w--current"><div class="nav-arrow-wrapper-bg"><div class="is-nav-link-services-tab">Product Development and Growth</div><div class="nav-dropdown-holder-arrow services w-embed"><svg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div></a><a data-w-tab="Optimization of Products and Processes" data-w-id="ebb65425-2f49-ac9a-8614-8cc17f7aded2" class="nav-tab-link services-new w-inline-block w-tab-link"><div class="nav-arrow-wrapper services"><div class="is-nav-link-services-tab">Optimization of Products and Processes</div><div class="nav-dropdown-holder-arrow services w-embed"><svg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div></a><a data-w-tab="Tech Stack Upgrade" data-w-id="ebb65425-2f49-ac9a-8614-8cc17f7aded7" class="nav-tab-link services-new w-inline-block w-tab-link"><div class="nav-arrow-wrapper services"><div class="is-nav-link-services-tab">Tech Stack Upgrade</div><div class="nav-dropdown-holder-arrow services w-embed"><svg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div></a><a data-w-tab="Team Upskilling" data-w-id="ebb65425-2f49-ac9a-8614-8cc17f7adedc" class="nav-tab-link services-new w-inline-block w-tab-link"><div class="nav-arrow-wrapper services"><div class="is-nav-link-services-tab">Team Upskilling</div><div class="nav-dropdown-holder-arrow services w-embed"><svg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div></a><a data-w-tab="Business Transformation" data-w-id="ebb65425-2f49-ac9a-8614-8cc17f7adee1" class="nav-tab-link services-new w-inline-block w-tab-link"><div class="nav-arrow-wrapper services"><div class="is-nav-link-services-tab">Business Transformation</div><div class="nav-dropdown-holder-arrow services w-embed"><svg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div></a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adee6-22f88a18" class="nav-tabs-content commynity-nav services-tab-content-redesign w-tab-content"><div data-w-tab="Product Development and Growth" class="nav-services-rebrand-tab-pane w-tab-pane w--tab-active"><div class="tab-dropdown-trigger services first"><div class="nav-arrow-wrapper services"><div class="nav-dropdown-holder-item-text">Product Development and Growth</div><div class="nav-dropdown-holder-arrow services rotate-90-tablet w-embed"><svg width="100%" height="100%" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div><a href="https://www.callstack.com/services/product-development-and-growth" class="nav-mobile-link-block w-inline-block"><div class="hide">.</div></a></div><div class="nav-services-content"><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adef1-22f88a18" class="nav-main-product-div"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adef2-22f88a18" href="https://www.callstack.com/services/product-development-and-growth" class="is-nav-link">Explore all in Product Development and Growth</a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adef4-22f88a18" class="w-layout-vflex nav-link-flex"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adef5-22f88a18" href="https://www.callstack.com/products/product-architecture" class="is-nav-link">Product Architecture</a><a href="https://www.callstack.com/products/web-app-development" class="is-nav-link">Web App Development</a><a href="https://www.callstack.com/products/app-maintenance" class="is-nav-link">App Maintenance</a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adefb-22f88a18" class="w-layout-vflex nav-link-flex"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adefc-22f88a18" href="https://www.callstack.com/products/app-testing-and-quality-assurance" class="is-nav-link">App Testing and Quality Assurance</a><a title="Full stack app development" href="/product/full-stack-app-development-services" class="is-nav-link">Full Stack App Development</a><a href="/product/mobile-app-development" class="is-nav-link">Mobile App Development</a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf02-22f88a18" class="w-layout-vflex nav-link-flex"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf03-22f88a18" href="https://www.callstack.com/products/integration-support-for-wearables-tv-consoles" class="is-nav-link">Integration Support For Wearables, TV, Consoles</a><a href="https://www.callstack.com/products/integration-of-new-features-into-existing-apps" class="is-nav-link">Integration Of New Features Into Existing Apps</a></div></div></div><div data-w-tab="Optimization of Products and Processes" class="nav-services-rebrand-tab-pane w-tab-pane"><div class="tab-dropdown-trigger services"><div class="nav-arrow-wrapper services"><div class="nav-dropdown-holder-item-text">Optimization of Products and Processes</div><div class="nav-dropdown-holder-arrow services rotate-90-tablet w-embed"><svg width="100%" height="100%" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div><a href="https://www.callstack.com/services/optimization-of-products-and-processes" class="nav-mobile-link-block w-inline-block"><div class="hide">.</div></a></div><div class="nav-services-content"><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf11-22f88a18" class="nav-main-product-div"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf12-22f88a18" href="https://www.callstack.com/services/optimization-of-products-and-processes" class="is-nav-link">Explore all in Optimization of Products and Processes</a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf14-22f88a18" class="w-layout-vflex nav-link-flex"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf15-22f88a18" href="https://www.callstack.com/products/technical-debt-reduction-and-prevention" class="is-nav-link">Technical Debt Reduction And Prevention</a><a href="https://www.callstack.com/products/development-efficiency-boost" class="is-nav-link">Development Efficiency Boost</a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf19-22f88a18" class="w-layout-vflex nav-link-flex"><a href="https://www.callstack.com/products/react-compiler-guided-implementation" class="is-nav-link">React Compiler Guided Implementation<br/></a><a href="https://www.callstack.com/product/app-performance-optimization" class="is-nav-link">App Performance Optimization</a></div></div></div><div data-w-tab="Tech Stack Upgrade" class="nav-services-rebrand-tab-pane w-tab-pane"><div class="tab-dropdown-trigger services"><div class="nav-arrow-wrapper services"><div class="nav-dropdown-holder-item-text">Tech Stack Upgrade</div><div class="nav-dropdown-holder-arrow services rotate-90-tablet w-embed"><svg width="100%" height="100%" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div><a href="https://www.callstack.com/services/tech-stack-upgrade" class="nav-mobile-link-block w-inline-block"><div class="hide">.</div></a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf28-22f88a18" class="nav-services-content"><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf29-22f88a18" class="nav-main-product-div"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf2a-22f88a18" href="https://www.callstack.com/services/tech-stack-upgrade" class="is-nav-link">Explore all in Tech Stack Upgrade</a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf2c-22f88a18" class="w-layout-vflex nav-link-flex"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf2d-22f88a18" href="https://www.callstack.com/products/architecture-redesign" class="is-nav-link">Architecture Redesign</a><a href="https://www.callstack.com/products/adoption-of-a-cross-platform-approach" class="is-nav-link">Adoption Of A Cross-Platform Approach</a><a href="/product/migration-to-react-native" class="is-nav-link">Migration To React Native</a><a href="/product/the-bridge-module" class="is-nav-link">The Bridge Module</a></div></div></div><div data-w-tab="Team Upskilling" class="nav-services-rebrand-tab-pane w-tab-pane"><div class="tab-dropdown-trigger services"><div class="nav-arrow-wrapper services"><div class="nav-dropdown-holder-item-text">Team Upskilling</div><div class="nav-dropdown-holder-arrow services rotate-90-tablet w-embed"><svg width="100%" height="100%" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div><a href="https://www.callstack.com/services/team-upskilling" class="nav-mobile-link-block w-inline-block"><div class="hide">.</div></a></div><div class="nav-services-content"><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf3d-22f88a18" class="nav-main-product-div"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf3e-22f88a18" href="https://www.callstack.com/services/team-upskilling" class="is-nav-link">Explore all in Team Upskilling</a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf40-22f88a18" class="w-layout-vflex nav-link-flex"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf41-22f88a18" href="https://www.callstack.com/products/rapid-team-expansion" class="is-nav-link">Rapid Team Expansion</a><a href="https://www.callstack.com/products/developer-training" class="is-nav-link">Developer Training</a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf45-22f88a18" class="w-layout-vflex nav-link-flex"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf46-22f88a18" href="https://www.callstack.com/products/consulting" class="is-nav-link">Consulting</a><a href="https://www.callstack.com/products/mentoring-program" class="is-nav-link">Mentoring Program</a></div></div></div><div data-w-tab="Business Transformation" class="nav-services-rebrand-tab-pane w-tab-pane"><div class="tab-dropdown-trigger services"><div class="nav-arrow-wrapper services"><div class="nav-dropdown-holder-item-text">Business Transformation</div><div class="nav-dropdown-holder-arrow services rotate-90-tablet w-embed"><svg width="100%" height="100%" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div><a href="https://www.callstack.com/services/business-transformation" class="nav-mobile-link-block w-inline-block"><div class="hide">.</div></a></div><div class="nav-services-content"><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf54-22f88a18" class="nav-main-product-div"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf55-22f88a18" href="https://www.callstack.com/services/business-transformation" class="is-nav-link">Explore all in Business Transformation</a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf57-22f88a18" class="w-layout-vflex nav-link-flex"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf58-22f88a18" href="https://www.callstack.com/products/learning-and-development-strategies" class="is-nav-link">Learning And Development Strategies</a><a href="https://www.callstack.com/products/workstreams-optimization" class="is-nav-link">Workstreams’ Optimization</a><a href="https://www.callstack.com/products/product-shipment-acceleration" class="is-nav-link">Product Shipment Acceleration</a></div><div id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf5e-22f88a18" class="w-layout-vflex nav-link-flex"><a id="w-node-ebb65425-2f49-ac9a-8614-8cc17f7adf5f-22f88a18" href="https://www.callstack.com/products/work-efficiency" class="is-nav-link">Work Efficiency</a><a href="https://www.callstack.com/products/tech-scalability" class="is-nav-link">Tech Scalability</a></div></div></div></div></div></div></div></nav></div><a href="/case-studies" class="nav-case-link nav-dropdown-rebrand is-txt-small is-txt-medium">Case studies</a><div data-delay="0" data-hover="true" class="nav-dropdown nav-community-dropdown w-dropdown"><div id="community-dropdown" class="nav-dropdown-toggle nav-dropdown-rebrand w-dropdown-toggle"><a href="/community" class="nav-dropdown-link w-inline-block"><div class="hide">.</div></a><div class="is-txt-small is-txt-medium">Community</div><div class="nav-dropdown-arrow w-embed"><svg width="100%" height="100%" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M9.99992 1.44922L5.84163 5.77457L1.68335 1.44922" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg></div></div><nav class="nav-dropdown-list nav-community-dropdown-list w-dropdown-list"><div class="nav-dropdown-list-wrapper"><div class="is-container is-grid nav-container"><div id="w-node-_94d078a0-d19d-230c-2b62-99bff7f71e09-22f88a18" class="is-column navigation-left-column-link"><a id="w-node-e1a9b6ed-5954-6c89-a1b8-793b8faff5c0-22f88a18" href="/community" class="is-nav-link is-t-hidden is-txt-offwhite">Our Community</a><a href="/community" class="btn-sec--stroke is-full-width-mobile is-d-hidden is-t-visible w-button">Explore our community</a><div class="navigation-left-column-hl"></div><div class="navigation-left-column-link-grid"><div class="navigation-left-column-link-wrapper"><a id="w-node-_051b9bdc-ab45-28e2-bb9f-04e71c389da9-22f88a18" href="/blog" aria-current="page" class="is-nav-link is-txt-offwhite w--current">Blog</a><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/66559c352bf2085d630df714_Down%20Arrow%202.svg" loading="lazy" alt="" class="navigation-left-column-arrow"/></div><div id="w-node-_10fea679-60d7-3c74-fa02-8f6b5d46430e-22f88a18" class="navigation-left-column-link-wrapper"><a id="w-node-a006eadf-2839-c454-d3b5-530f03142fd6-22f88a18" href="/event" class="is-nav-link is-txt-offwhite">Events</a><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/66559c352bf2085d630df714_Down%20Arrow%202.svg" loading="lazy" alt="" class="navigation-left-column-arrow"/></div><div id="w-node-_53e825e7-9978-41c8-2b75-14f7841ef6f3-22f88a18" class="navigation-left-column-link-wrapper"><a id="w-node-_53e825e7-9978-41c8-2b75-14f7841ef6f4-22f88a18" href="/podcast" class="is-nav-link is-txt-offwhite">Podcast</a><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/66559c352bf2085d630df714_Down%20Arrow%202.svg" loading="lazy" alt="" class="navigation-left-column-arrow"/></div><div class="navigation-left-column-link-wrapper"><a id="w-node-fe6abfea-f196-fb04-ce79-241917016825-22f88a18" href="https://www.callstack.com/ebook/the-ultimate-guide-to-react-native-optimization" class="is-nav-link is-txt-offwhite">Ebook</a><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/66559c352bf2085d630df714_Down%20Arrow%202.svg" loading="lazy" alt="" class="navigation-left-column-arrow"/></div><div class="navigation-left-column-link-wrapper"><a id="w-node-e78f1138-0127-0c6c-488f-d3be8460d6d1-22f88a18" href="/webinar" class="is-nav-link is-txt-offwhite">Webinar</a><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/66559c352bf2085d630df714_Down%20Arrow%202.svg" loading="lazy" alt="" class="navigation-left-column-arrow"/></div><div class="navigation-left-column-link-wrapper"><a id="w-node-b4dea9ef-fd7c-e7f3-bc0e-d065c82c6b69-22f88a18" href="/newsletter" class="is-nav-link is-txt-offwhite">Newsletter</a><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/66559c352bf2085d630df714_Down%20Arrow%202.svg" loading="lazy" alt="" class="navigation-left-column-arrow"/></div><div id="w-node-_67bc1faf-b6a4-c5b9-3d9a-fd8234387a24-22f88a18" class="navigation-left-column-link-wrapper"><a id="w-node-_67bc1faf-b6a4-c5b9-3d9a-fd8234387a25-22f88a18" href="/open-source" class="is-nav-link is-txt-offwhite">Open Source</a><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/66559c352bf2085d630df714_Down%20Arrow%202.svg" loading="lazy" alt="" class="navigation-left-column-arrow"/></div></div></div><div id="w-node-e89a2c03-77f4-e4c5-2353-be709b7bb74a-22f88a18" class="is-row-l-h-c-16 is-t-hidden"><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/67daf26cde119d9b9070ab71_react_native_ebook.webp" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/67daf26cde119d9b9070ab71_react_native_ebook-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/67daf26cde119d9b9070ab71_react_native_ebook-p-800.webp 800w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/67daf26cde119d9b9070ab71_react_native_ebook-p-1080.webp 1080w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/67daf26cde119d9b9070ab71_react_native_ebook.webp 1200w" alt="" class="nav-community-image"/><div class="is-column is-txt-offwhite"><p class="is-h6 is-margin-b-16">react native performance optimization ebook</p><p class="is-txt-small is-margin-b-16">Your complete compendium for peak performance from React Native experts.</p><a href="https://www.callstack.com/ebook/the-ultimate-guide-to-react-native-optimization" class="btn-sec--stroke w-button">Download</a></div></div></div></div></nav></div><a href="/contact" class="btn-prm nav-hire-us-btn w-button">Hire us</a></div></nav><div class="nav-responsive-holder-rebrand"><a href="/contact" class="btn-prm is-d-hidden is-t-visible w-button">Hire us</a><div scroll="both" class="nav-menu-button w-nav-button"><div class="nav-menu-button-wrap"><div class="nav-lines nav-line-1"></div><div class="nav-lines nav-line-2"></div><div class="nav-lines nav-line-3"></div></div></div></div></div><div class="display-none w-embed"><style> @media (max-width: 991px) { .nav-services-rebrand-tab-pane { display: block !important; } } .nav-dropdown-list{ pointer-events: none; transition: all 300ms ease; } .nav-dropdown-list.w--open{ pointer-events: auto; } @media (min-width: 992px) and (max-width: 1200px) { .nav-community-item-wrapper{ grid-row-gap: 0.5rem; padding-left: 1rem; padding-right: 1rem; } .nav-dropdown-toggle, .nav-case-link{ padding-left: 1rem; padding-right: 1rem; } } .nav-dropdown-toggle.w--open .nav-dropdown-arrow { transform: rotate(180deg); transition: transform 0.3s ease; /* Optional: Add a smooth transition effect */ } .nav-dropdown-toggle .nav-dropdown-arrow { transform: rotate(0deg); transition: transform 0.3s ease; /* Optional: Add a smooth transition effect */ margin-top: 0rem; } </style></div><div class="dropdown-list-background"></div><div class="display-none w-embed"><style> .dropdown-list-background{ pointer-events:none; } .nav-opacity { pointer-events:none; } </style></div></div><div class="main-wrapper"><section class="is-section-8rem bg-purple-100"><div class="container grid"><div data-opacity="" id="w-node-a90c2d4a-dd50-c45d-d996-4ab5d7c9cfe6-2ad5771d" class="column"><div class="blog-breadcrumbs"><a href="/" class="is-breadcrumbs-link">HOME</a><div class="text-off-white">|</div><a href="/community" class="is-breadcrumbs-link">COMMUNITY</a><div class="text-off-white">|</div><div class="text-neutral-400">BLOG</div></div><h1 class="heading-2xl margin-s text-off-white">blog</h1><p class="text-l text-off-white">Find discussions on the latest industry trends, technical guides, and other important articles all in one place. Read our blog to expand your knowledge and stay on top of the game.</p></div><div id="w-node-_95d18aa6-bab9-d9d6-2567-2790c8aa9249-2ad5771d" class="blog-hero-form bg-gradient-200 drop-shadow"><div class="column z1"><div class="heading-m margin-s text-center text-navy">Get our newsletter</div><div id="blog-hero-form" class="form-section-embed w-embed w-script"><script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script> <script> hbspt.forms.create({ region: "na1", portalId: "5711799", formId: "b4b75a9e-30a2-4a48-a794-838011276c96", }); </script></div><p class="text-inter-2xs text-neutral-white">By subscribing to the newsletter, you give us consent to use your email address to deliver curated content. We will process your email address until you unsubscribe or otherwise object to the processing of your personal data for marketing purposes. You can unsubscribe or exercise other privacy rights at any time. For details, visit our <a href="/privacy-policy" class="privacy-policy-inline-link">Privacy Policy</a>.</p></div></div></div></section><section class="is-section-8rem overflow-hidden"><div class="container grid"><h2 id="w-node-_719c29f9-99ce-6f24-00bf-bb16fab16544-2ad5771d" class="heading-xl text-center">Latest posts</h2><div id="w-node-bc87c5bc-5acd-64d7-99d6-056665d4edc2-2ad5771d" class="blog-cards-swiper-holder"><div id="blog-swiper" class="case-studies-wrapper w-dyn-list"><div role="list" class="swiper-wrapper w-dyn-items"><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/knowing-your-apps-bundle-contents-native-performance" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-03-20</div><div data-limit="8" class="heading-s margin-s">Why Knowing Your App’s Bundle Contents Matters for React Native Performance</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/were-building-a-new-react-native-framework" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-03-14</div><div data-limit="8" class="heading-s margin-s">We’re Building a New React Native Framework</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/local-llms-on-mobile-are-a-gimmick" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-03-11</div><div data-limit="8" class="heading-s margin-s">Local LLMs on Mobile Are a Gimmick—For Now</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/exposing-swiftui-views-to-react-native-an-integration-guide" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-02-27</div><div data-limit="8" class="heading-s margin-s">Exposing SwiftUI Views to React Native: An Integration Guide</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/how-to-build-a-chrome-extension" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-02-20</div><div data-limit="8" class="heading-s margin-s">How to Build a Chrome Extension: A Step-by-Step Guide </div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/bridgeless-native-development" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-02-12</div><div data-limit="8" class="heading-s margin-s">How to Easily Create Native Libraries With Nitro and Turbo Modules</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/how-to-profile-native-code-react-native-with-tracy" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-02-11</div><div data-limit="8" class="heading-s margin-s">How to Profile Native Code in React Native Using Tracy</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/bringing-webassembly-to-react-native-with-polygen" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-02-07</div><div data-limit="8" class="heading-s margin-s">Bringing WebAssembly to React Native With Polygen</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/giving-ai-the-keys-to-your-app-agents-controlling-ui-state" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-02-04</div><div data-limit="8" class="heading-s margin-s">Giving AI The Keys to Your App: Agents Controlling UI State</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/flows-ai-your-library-for-building-ai-workflows-on-top-of-vercel-ai-sdk" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-01-22</div><div data-limit="8" class="heading-s margin-s">Flows AI: Your Library for Building AI Workflows on Top of Vercel AI SDK</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/building-ai-agent-workflows-with-vercels-ai-sdk-a-practical-guide" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-01-17</div><div data-limit="8" class="heading-s margin-s">Building AI Agent Workflows With Vercel’s AI SDK: A Practical Guide</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/solving-swift-modular-header-issues-in-react-native-for-good" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2025-01-16</div><div data-limit="8" class="heading-s margin-s">Solving Swift Modular Header Issues in React Native for Good</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/from-native-to-multiplatform-development-unpacking-kotlin-and-compose" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-12-20</div><div data-limit="8" class="heading-s margin-s">From Native to Multiplatform Development: Unpacking Kotlin and Compose</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/developing-a-react-native-tv-app" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-12-06</div><div data-limit="8" class="heading-s margin-s">Developing a React Native TV App</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/aiming-for-success-in-the-tv-app-development-space-with-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-12-03</div><div data-limit="8" class="heading-s margin-s">Aiming for Success in the TV App Development Space With React Native</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/how-to-upgrade-react-native-in-a-brownfield-application" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-11-28</div><div data-limit="8" class="heading-s margin-s">How to Upgrade React Native in a Brownfield Application</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/how-to-integrate-react-native-with-an-existing-app" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-11-25</div><div data-limit="8" class="heading-s margin-s">How to Integrate React Native With an Existing App</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/brownfield-development-with-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-11-18</div><div data-limit="8" class="heading-s margin-s">Why Brownfield Development With React Native Is Worth Your Attention</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/setting-up-notifications-with-aws-amplify-gen-1" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-11-04</div><div data-limit="8" class="heading-s margin-s">Setting Up Notifications With AWS Amplify Gen 1</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/enhance-app-performance-and-business-with-real-user-monitoring-rum" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-10-28</div><div data-limit="8" class="heading-s margin-s">Enhance App Performance and Business Growth With Real User Monitoring (RUM)</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/introducing-the-omh-cloud-storage-module" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-10-14</div><div data-limit="8" class="heading-s margin-s">Introducing the OMH Cloud Storage Module</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/simplify-your-ios-brownfield-integration-with-rootviewfactory" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-10-01</div><div data-limit="8" class="heading-s margin-s">Simplify Your iOS Brownfield Integration With RootViewFactory</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/shaping-the-future-of-super-apps-in-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-09-12</div><div data-limit="8" class="heading-s margin-s">Shaping the Future of Super Apps in React Native</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/the-complete-developer-guide-to-react-19-part-3-upgraded-support" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-09-09</div><div data-limit="8" class="heading-s margin-s">The Complete Developer Guide to React 19, Part 3: Upgraded Support</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/the-complete-developer-guide-to-react-19-part-2-new-enhancements" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-09-03</div><div data-limit="8" class="heading-s margin-s">The Complete Developer Guide to React 19, Part 2: New Enhancements</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/the-complete-developer-guide-to-react-19-part-1-async-handling" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-09-02</div><div data-limit="8" class="heading-s margin-s">The Complete Developer Guide to React 19, Part 1: Async Handling</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/optimizing-performance-with-the-react-compiler" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-08-29</div><div data-limit="8" class="heading-s margin-s">Optimizing Performance With The React Compiler</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/adding-react-native-to-an-existing-flutter-app" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-07-24</div><div data-limit="8" class="heading-s margin-s">Adding React Native to an Existing Flutter App</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/introduction-to-the-react-native-omh-maps-library" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-07-12</div><div data-limit="8" class="heading-s margin-s">Introduction to the React Native OMH Maps Library</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/testing-expo-web3-apps-with-wagmi-and-anvil" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-06-12</div><div data-limit="8" class="heading-s margin-s">Testing Expo Web3 Apps With Wagmi and Anvil</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/apple-vision-pro-insights-from-conferences-and-beyond" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-06-10</div><div data-limit="8" class="heading-s margin-s">Apple Vision Pro: Insights From Conferences and Beyond</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/the-inner-workings-of-gpu-rendering-for-2d-and-3d-graphics" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-06-07</div><div data-limit="8" class="heading-s margin-s">The Inner Workings of GPU Rendering for 2D and 3D Graphics</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/profiling-react-native-apps-with-ios-and-android-tools" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-04-17</div><div data-limit="8" class="heading-s margin-s">Profiling React Native Apps With iOS and Android Tools</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/run-tests-for-key-pieces-of-your-app" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-04-12</div><div data-limit="8" class="heading-s margin-s">Run Tests for Key Pieces of Your App</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/lottie-vs-rive-optimizing-mobile-app-animation" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-04-11</div><div data-limit="8" class="heading-s margin-s">Lottie vs. Rive: Optimizing Mobile App Animation</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/shipping-fast-with-continuous-deployment" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-04-10</div><div data-limit="8" class="heading-s margin-s">Shipping Fast With Continuous Deployment</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/optimize-android-application-size-with-gradle-settings" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-04-05</div><div data-limit="8" class="heading-s margin-s">Optimize Your Android Application’s Size With Gradle Settings</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/experiment-with-new-architecture-of-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-04-04</div><div data-limit="8" class="heading-s margin-s">Experiment With the New Architecture of React Native</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/debugging-with-flipper" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-30</div><div data-limit="8" class="heading-s margin-s">How to Debug Faster and Better with Flipper</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/streamline-native-dependencies-for-faster-time-to-interactive" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-29</div><div data-limit="8" class="heading-s margin-s">Streamline Native Dependencies for Faster Time-to-Interactive</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/optimize-android-app-startup-time-with-hermes" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-28</div><div data-limit="8" class="heading-s margin-s">How to Optimize Your Android App Startup Time With Hermes</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/always-run-the-latest-version-of-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-27</div><div data-limit="8" class="heading-s margin-s">Why Is It Important to Always Run The Latest Version of React Native?</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/improve-react-native-performance-with-higher-ordered-components" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-26</div><div data-limit="8" class="heading-s margin-s">How Can Higher-Order Components Improve Performance of React Native Apps?</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/external-javascript-libraries-for-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-25</div><div data-limit="8" class="heading-s margin-s">How to Pick the Right External JavaScript Libraries for Your React Native App</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/optimize-battery-drain-in-react-native-apps" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-21</div><div data-limit="8" class="heading-s margin-s">Optimize React Native Apps&#x27; Battery Drain With Mobile-Dedicated Libraries</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/ship-over-the-air-when-in-an-emergency" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-14</div><div data-limit="8" class="heading-s margin-s">Ship OTA (Over-The-Air) When in an Emergency</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/the-mini-guide-to-react-native-optimization-for-web3" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-13</div><div data-limit="8" class="heading-s margin-s">The Mini Guide to React Native Optimization for Web3</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/consistently-improve-app-performance-with-dmaic-and-reassure" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-11</div><div data-limit="8" class="heading-s margin-s">Consistently Improve App Performance With DMAIC and Reassure</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/learn-once-hack-everywhere" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-08</div><div data-limit="8" class="heading-s margin-s">Learn Once, Hack Everywhere</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/increase-speed-and-security-with-native-crypto-libraries" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-03-06</div><div data-limit="8" class="heading-s margin-s">Increase Speed and Security With Native Crypto Libraries</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/image-optimization-on-ci-and-local" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-02-16</div><div data-limit="8" class="heading-s margin-s">How to Optimize SVG for Size and Rendering Speed</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/announcing-react-native-for-apple-vision-pro" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-02-02</div><div data-limit="8" class="heading-s margin-s">Announcing React Native for Apple Vision Pro</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/how-to-build-universal-lens-protocol-social-apps-with-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2024-01-12</div><div data-limit="8" class="heading-s margin-s">How to Build Universal Lens Protocol Social Apps With React Native</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/cross-platform-web3-dapps-with-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-12-28</div><div data-limit="8" class="heading-s margin-s">Cross-Platform Web3 dApps With React Native</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/creating-a-video-transcription-app-lessons-learned" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-12-01</div><div data-limit="8" class="heading-s margin-s">Creating a Video Transcription App: Lessons Learned</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/best-dx-for-react-native-web3-dapps-with-web3modal-and-wagmi" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-11-13</div><div data-limit="8" class="heading-s margin-s">Best DX for React Native Web3 dApps With Web3Modal and Wagmi</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/build-modern-web3-dapps-on-ethereum-with-react-native-and-viem" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-10-25</div><div data-limit="8" class="heading-s margin-s">Build Modern Web3 dApps on Ethereum With React Native and Viem</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/receiving-live-stream-with-amazon-ivs-in-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-10-06</div><div data-limit="8" class="heading-s margin-s">Receiving a Live Stream With Amazon IVS in React Native</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/introducing-e2e-tests-to-react-native-core" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-09-12</div><div data-limit="8" class="heading-s margin-s">Introducing E2E Tests to React Native Core</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/passing-build-properties-to-native-layers-with-fastlane" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-08-04</div><div data-limit="8" class="heading-s margin-s">Mastering Fastlane: Overcoming Challenges in Passing Build Properties to Native Layers</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/testing-with-react-native-accessibility-snapshot" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-06-23</div><div data-limit="8" class="heading-s margin-s">Testing With React Native Accessibility Snapshot</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/how-react-can-be-used-for-web-browser-add-on-development" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-05-15</div><div data-limit="8" class="heading-s margin-s">Add-Ons for Web Browsers With React</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/understanding-react-server-components" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-05-02</div><div data-limit="8" class="heading-s margin-s">Understanding React Server Components</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/using-ai-to-write-tests-for-react-components" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-04-25</div><div data-limit="8" class="heading-s margin-s">Using AI to Write Tests for React Components</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/super-app-business-faq" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-04-12</div><div data-limit="8" class="heading-s margin-s">Business Landscape of Super Apps: Frequently Asked Questions</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/step-by-step-guide-to-super-app-development" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-04-12</div><div data-limit="8" class="heading-s margin-s">A Step-By-Step Guide to Super App Development</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/optimize-development-efficiency-when-building-super-app" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-04-12</div><div data-limit="8" class="heading-s margin-s">How to Optimize Development Efficiency When You’re Building a Super App</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/case-study-super-app-template" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-04-12</div><div data-limit="8" class="heading-s margin-s">Working With the Super-App-Showcase Repository</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/why-have-a-super-app" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-04-11</div><div data-limit="8" class="heading-s margin-s">Why Your Business Needs a Super App</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/super-app-development" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-04-10</div><div data-limit="8" class="heading-s margin-s">Super App Development</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/make-open-source-project-repository-contributor-friendly" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-03-15</div><div data-limit="8" class="heading-s margin-s">How to Make Your Open Source Project Repository Contributor Friendly</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/react-native-eu-glimpse-into-conference-history" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-03-01</div><div data-limit="8" class="heading-s margin-s">React Native EU 2023 and a Glimpse Into Conference History</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/ssl-pinning-in-react-native-apps" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-02-21</div><div data-limit="8" class="heading-s margin-s">SSL Pinning in React Native Apps</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/how-continuous-integration-can-improve-react-native-apps" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-02-13</div><div data-limit="8" class="heading-s margin-s">How Can Continuous Integration (CI) Improve Your React Native Apps?</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/performance-regression-testing-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-02-02</div><div data-limit="8" class="heading-s margin-s">Performance Regression Testing for React Native</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/automate-dependency-management-with-autolinking" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2023-01-27</div><div data-limit="8" class="heading-s margin-s">Why Is It Worth to Automate Your Dependency Management with `Autolinking`?</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/react-native-paper-5-0" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-12-06</div><div data-limit="8" class="heading-s margin-s">React Native Paper 5.0 – What’s New?</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/migrating-a-react-native-library-to-the-new-architecture" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-11-03</div><div data-limit="8" class="heading-s margin-s">Migrating a React Native Library to the New Architecture</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/setting-up-react-native-monorepo-with-yarn-workspaces" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-10-11</div><div data-limit="8" class="heading-s margin-s">Setting up React Native Monorepo With Yarn Workspaces</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/module-federation-with-re-pack-3" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-10-04</div><div data-limit="8" class="heading-s margin-s">How to Use Module Federation With Re.Pack 3</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/guide-to-mock-service-worker-msw" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-09-27</div><div data-limit="8" class="heading-s margin-s">A Comprehensive Guide to Mock Service Worker (MSW)</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/app-performance-monitoring" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-09-21</div><div data-limit="8" class="heading-s margin-s">Continuous App Performance Monitoring Made Simple With Reassure</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/mobile-payment-in-react-native-with-stripe-and-expo" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-06-17</div><div data-limit="8" class="heading-s margin-s">How to Make Mobile Payment in a React Native App With Stripe and Expo in 15 Minutes</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/migration-to-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-04-19</div><div data-limit="8" class="heading-s margin-s">Migrating React and Native Apps To React Native - Everything You Need To Know</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/supporting-ukraine-with-tech-to-the-rescue-team" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-03-30</div><div data-limit="8" class="heading-s margin-s">Supporting Ukraine Through the &quot;Tech to The Rescue&quot; Project: UA SOS App</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/women-who-make-waves-in-the-react-native-community" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-03-08</div><div data-limit="8" class="heading-s margin-s">Women Who Make Waves in the React Native Community</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/stripe-react-native-the-most-common-questions" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-02-08</div><div data-limit="8" class="heading-s margin-s">Stripe React Native: The Most Common Questions - Tipsi Migration Guide, Part 5</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/how-to-not-break-your-app-after-migrating-to-stripe-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-02-07</div><div data-limit="8" class="heading-s margin-s">How to Not Break Your App After Migrating From Tipsi Stripe to Stripe React Native - Migration Guide, Part 4</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/stripe-react-native-migration-function-by-function" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2022-02-06</div><div data-limit="8" class="heading-s margin-s">Stripe React Native Migration Function by Function - Tipsi Migration Guide, Part 3</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/stripe-react-native-library-configuration" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2021-12-06</div><div data-limit="8" class="heading-s margin-s">Stripe React Native Configuration - Tipsi Migration Guide, Part 2</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/how-to-migrate-from-tipsi-stripe-to-stripe-react-native-sdk" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2021-11-08</div><div data-limit="8" class="heading-s margin-s">How to Migrate From Tipsi Stripe to the Stripe React Native SDK - Migration Guide, Part 1</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/events-powered-by-callstack" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2021-11-05</div><div data-limit="8" class="heading-s margin-s">Events We Hold for You - Culture Powered by Callstack</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/how-you-can-develop-as-a-callstack-developer" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2021-11-03</div><div data-limit="8" class="heading-s margin-s">How You Can Develop as a Callstack Developer</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/react-native-reanimated-v1" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2021-10-11</div><div data-limit="8" class="heading-s margin-s">A Deep Dive Into React Native Reanimated v1</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/how-to-build-a-desktop-app-with-react-native-for-windows" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2021-09-15</div><div data-limit="8" class="heading-s margin-s">How to Build a Desktop App With React Native for Windows</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/business-benefits-of-react-native-windows" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2021-09-13</div><div data-limit="8" class="heading-s margin-s">Business Benefits of React Native Windows</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/why-use-react-native-for-windows" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2021-09-08</div><div data-limit="8" class="heading-s margin-s">Why Use React Native for Windows?</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/implementing-code-splitting-in-react-native-with-re-pack" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2021-08-30</div><div data-limit="8" class="heading-s margin-s">Implementing Code Splitting in React Native with Re.Pack</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/code-splitting-in-react-native-applications" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2021-07-01</div><div data-limit="8" class="heading-s margin-s">Code Splitting in React Native Applications</div></div><div class="open-source-cards-more">More</div></div></a></div><div role="listitem" class="swiper-slide blog-swiper-slide cursor-pointer w-dyn-item"><a href="/blog/technical-guide-integrating-hermes-with-react-native" class="blog-card-wrapper w-inline-block"><img alt="Callstack astronaut" loading="lazy" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" class="blog-card-image"/><div class="blog-card-text-wrapper"><div class="column"><div class="label-manuka-l margin-s">Blog</div><div class="text-off-white label-light-xs margin-4xs">2021-06-14</div><div data-limit="8" class="heading-s margin-s">Technical Guide, Part 2: Integrating Hermes With React Native</div></div><div class="open-source-cards-more">More</div></div></a></div></div></div><div class="swiper-button-wrapper"><a id="case-study-prev" data-w-id="bc87c5bc-5acd-64d7-99d6-056665d4edd9" href="#" class="arrow-big swiper-button w-inline-block"><div data-w-id="bc87c5bc-5acd-64d7-99d6-056665d4edda" class="apsolute-cover bg-gradient-300"></div><div data-w-id="bc87c5bc-5acd-64d7-99d6-056665d4eddb" class="arrow-big-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 24L13.575 22.3875L4.3125 13.125H24V10.875H4.3125L13.575 1.6125L12 0L0 12L12 24Z" fill="currentColor"/> </svg></div><div class="hide">This is some text inside of a div block.</div></a><a id="case-study-next" data-w-id="bc87c5bc-5acd-64d7-99d6-056665d4eddc" href="#" class="arrow-big swiper-button right w-inline-block"><div data-w-id="bc87c5bc-5acd-64d7-99d6-056665d4eddd" class="apsolute-cover bg-gradient-300"></div><div data-w-id="bc87c5bc-5acd-64d7-99d6-056665d4edde" class="arrow-big-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 24L10.425 22.3875L19.6875 13.125H0V10.875H19.6875L10.425 1.6125L12 0L24 12L12 24Z" fill="currentColor"/> </svg></div><div class="hide">This is some text inside of a div block.</div></a></div></div></div><div class="hide w-embed w-script"><script> document.addEventListener('DOMContentLoaded', function() { setTimeout(() => { var blogSwiper = new Swiper ('#blog-swiper', { slidesPerView: 1, slidesPerGroup: 1, spaceBetween: 20, loop: true, loopedSlides: 3, grabCursor:true, allowTouchMove: true, navigation: { nextEl: '#case-study-next', prevEl: '#case-study-prev', }, breakpoints: { 0: { /* when window >=0px - webflow mobile landscape/portriat */ slidesPerView: 1.1, slidesPerGroup:1, spaceBetween: 12, }, 480: { /* when window >=0px - webflow mobile landscape/portriat */ slidesPerView: 1.2, slidesPerGroup:1, spaceBetween: 16, }, 767: { /* when window >= 767px - webflow tablet */ slidesPerView: 1.2, slidesPerGroup:1, spaceBetween: 16, }, 992: { /* when window >= 988px - webflow desktop */ slidesPerView: 1, slidesPerGroup:1, spaceBetween: 20, } }, }); }, 1000); }); </script></div></section><section fs-cmsload-element="scroll-anchor" filters-section="" class="is-section-8rem bg-navy text-off-white"><div class="container grid"><h2 id="w-node-_3cb9c965-e5ad-f4da-1dca-e0db469527e8-2ad5771d" class="heading-xl text-center margin-xs">Explore all resources</h2><div fs-cmsfilter-element="filters" id="w-node-_3cb9c965-e5ad-f4da-1dca-e0db469527ea-2ad5771d" class="resources-filters w-form"><form id="email-form" name="email-form" data-name="Email Form" method="get" class="resources-filters-form-block" data-wf-page-id="64f0a6368c77adba2ad5771d" data-wf-element-id="3cb9c965-e5ad-f4da-1dca-e0db469527eb"><input class="resources-search-input w-input" maxlength="256" name="Search" fs-cmsfilter-field="*" data-name="Search" placeholder="Search" type="text" id="Search"/></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div><div id="w-node-_3cb9c965-e5ad-f4da-1dca-e0db46952826-2ad5771d" class="resources-list-overall-wrapper"><div class="featured-list-wrapper"><div class="resources-collesction-list-wrapper w-dyn-list"><div fs-cmsfilter-showquery="true" fs-cmsload-mode="pagination" fs-cmsload-element="list" fs-cmsfilter-element="list" role="list" class="resources-collection-list w-dyn-items"><div id="w-node-_40efad85-1907-6583-f540-99364f6de3ef-2ad5771d" role="listitem" class="resources-collection-item w-dyn-item"><img class="resources-collection-big-featured-image" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" alt="Why Knowing Your App’s Bundle Contents Matters for React Native Performance" featured="big" sizes="(max-width: 479px) 105.9140625px, (max-width: 767px) 107.1953125px, (max-width: 991px) 94.8046875px, (max-width: 1439px) 76.5390625px, 6vw" loading="lazy" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp 594w"/><div featured="medium" class="resources-collection-medium-featured w-condition-invisible"><div class="resources-collection-item-category-wrapepr"><div class="label-manuka-l">Blog</div></div></div><a href="/blog/knowing-your-apps-bundle-contents-native-performance" class="resources-collection-item-link w-inline-block"><div class="resources-collection-item-category-wrapepr"><div fs-cmsfilter-field="content-type" class="label-manuka-l">Blog</div></div><div class="resources-collection-item-content-wrapper"><div><div class="text-inter-s margin-4xs">March 20, 2025</div><h3 fs-cmsfilter-field="name" class="heading-s margin-m">Why Knowing Your App’s Bundle Contents Matters for React Native Performance</h3></div><div class="text-link-dark">More</div></div></a><div class="display-none"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Performance optimization</div></div></div></div></div></div><div id="w-node-_40efad85-1907-6583-f540-99364f6de3ef-2ad5771d" role="listitem" class="resources-collection-item w-dyn-item"><img class="resources-collection-big-featured-image w-condition-invisible" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" alt="We’re Building a New React Native Framework" featured="big" sizes="(max-width: 479px) 105.9140625px, (max-width: 767px) 107.1953125px, (max-width: 991px) 94.8046875px, (max-width: 1439px) 76.5390625px, 6vw" loading="lazy" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp 594w"/><div featured="medium" class="resources-collection-medium-featured"><div class="resources-collection-item-category-wrapepr"><div class="label-manuka-l">Blog</div></div></div><a href="/blog/were-building-a-new-react-native-framework" class="resources-collection-item-link w-inline-block"><div class="resources-collection-item-category-wrapepr"><div fs-cmsfilter-field="content-type" class="label-manuka-l">Blog</div></div><div class="resources-collection-item-content-wrapper"><div><div class="text-inter-s margin-4xs">March 14, 2025</div><h3 fs-cmsfilter-field="name" class="heading-s margin-m">We’re Building a New React Native Framework</h3></div><div class="text-link-dark">More</div></div></a><div class="display-none"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">OSS library</div></div><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">React Native</div></div></div></div></div></div><div id="w-node-_40efad85-1907-6583-f540-99364f6de3ef-2ad5771d" role="listitem" class="resources-collection-item w-dyn-item"><img class="resources-collection-big-featured-image w-condition-invisible" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" alt="Local LLMs on Mobile Are a Gimmick—For Now" featured="big" sizes="(max-width: 479px) 105.9140625px, (max-width: 767px) 107.1953125px, (max-width: 991px) 94.8046875px, (max-width: 1439px) 76.5390625px, 6vw" loading="lazy" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp 594w"/><div featured="medium" class="resources-collection-medium-featured w-condition-invisible"><div class="resources-collection-item-category-wrapepr"><div class="label-manuka-l">Blog</div></div></div><a href="/blog/local-llms-on-mobile-are-a-gimmick" class="resources-collection-item-link w-inline-block"><div class="resources-collection-item-category-wrapepr"><div fs-cmsfilter-field="content-type" class="label-manuka-l">Blog</div></div><div class="resources-collection-item-content-wrapper"><div><div class="text-inter-s margin-4xs">March 11, 2025</div><h3 fs-cmsfilter-field="name" class="heading-s margin-m">Local LLMs on Mobile Are a Gimmick—For Now</h3></div><div class="text-link-dark">More</div></div></a><div class="display-none"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Mobile &amp; Tablet</div></div></div></div></div></div><div id="w-node-_40efad85-1907-6583-f540-99364f6de3ef-2ad5771d" role="listitem" class="resources-collection-item w-dyn-item"><img class="resources-collection-big-featured-image w-condition-invisible" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" alt="Exposing SwiftUI Views to React Native: An Integration Guide" featured="big" sizes="(max-width: 479px) 105.9140625px, (max-width: 767px) 107.1953125px, (max-width: 991px) 94.8046875px, (max-width: 1439px) 76.5390625px, 6vw" loading="lazy" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp 594w"/><div featured="medium" class="resources-collection-medium-featured w-condition-invisible"><div class="resources-collection-item-category-wrapepr"><div class="label-manuka-l">Blog</div></div></div><a href="/blog/exposing-swiftui-views-to-react-native-an-integration-guide" class="resources-collection-item-link w-inline-block"><div class="resources-collection-item-category-wrapepr"><div fs-cmsfilter-field="content-type" class="label-manuka-l">Blog</div></div><div class="resources-collection-item-content-wrapper"><div><div class="text-inter-s margin-4xs">February 27, 2025</div><h3 fs-cmsfilter-field="name" class="heading-s margin-m">Exposing SwiftUI Views to React Native: An Integration Guide</h3></div><div class="text-link-dark">More</div></div></a><div class="display-none"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">React Native</div></div><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Swift</div></div></div></div></div></div><div id="w-node-_40efad85-1907-6583-f540-99364f6de3ef-2ad5771d" role="listitem" class="resources-collection-item w-dyn-item"><img class="resources-collection-big-featured-image w-condition-invisible" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" alt="How to Build a Chrome Extension: A Step-by-Step Guide " featured="big" sizes="(max-width: 479px) 105.9140625px, (max-width: 767px) 107.1953125px, (max-width: 991px) 94.8046875px, (max-width: 1439px) 76.5390625px, 6vw" loading="lazy" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp 594w"/><div featured="medium" class="resources-collection-medium-featured w-condition-invisible"><div class="resources-collection-item-category-wrapepr"><div class="label-manuka-l">Blog</div></div></div><a href="/blog/how-to-build-a-chrome-extension" class="resources-collection-item-link w-inline-block"><div class="resources-collection-item-category-wrapepr"><div fs-cmsfilter-field="content-type" class="label-manuka-l">Blog</div></div><div class="resources-collection-item-content-wrapper"><div><div class="text-inter-s margin-4xs">February 20, 2025</div><h3 fs-cmsfilter-field="name" class="heading-s margin-m">How to Build a Chrome Extension: A Step-by-Step Guide </h3></div><div class="text-link-dark">More</div></div></a><div class="display-none"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Blog</div></div><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Desktop</div></div><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Other</div></div></div></div></div></div><div id="w-node-_40efad85-1907-6583-f540-99364f6de3ef-2ad5771d" role="listitem" class="resources-collection-item w-dyn-item"><img class="resources-collection-big-featured-image w-condition-invisible" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" alt="How to Easily Create Native Libraries With Nitro and Turbo Modules" featured="big" sizes="(max-width: 479px) 105.9140625px, (max-width: 767px) 107.1953125px, (max-width: 991px) 94.8046875px, (max-width: 1439px) 76.5390625px, 6vw" loading="lazy" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp 594w"/><div featured="medium" class="resources-collection-medium-featured w-condition-invisible"><div class="resources-collection-item-category-wrapepr"><div class="label-manuka-l">Blog</div></div></div><a href="/blog/bridgeless-native-development" class="resources-collection-item-link w-inline-block"><div class="resources-collection-item-category-wrapepr"><div fs-cmsfilter-field="content-type" class="label-manuka-l">Blog</div></div><div class="resources-collection-item-content-wrapper"><div><div class="text-inter-s margin-4xs">February 12, 2025</div><h3 fs-cmsfilter-field="name" class="heading-s margin-m">How to Easily Create Native Libraries With Nitro and Turbo Modules</h3></div><div class="text-link-dark">More</div></div></a><div class="display-none"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Blog</div></div><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Performance optimization</div></div></div></div></div></div><div id="w-node-_40efad85-1907-6583-f540-99364f6de3ef-2ad5771d" role="listitem" class="resources-collection-item w-dyn-item"><img class="resources-collection-big-featured-image w-condition-invisible" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" alt="How to Profile Native Code in React Native Using Tracy" featured="big" sizes="(max-width: 479px) 105.9140625px, (max-width: 767px) 107.1953125px, (max-width: 991px) 94.8046875px, (max-width: 1439px) 76.5390625px, 6vw" loading="lazy" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp 594w"/><div featured="medium" class="resources-collection-medium-featured w-condition-invisible"><div class="resources-collection-item-category-wrapepr"><div class="label-manuka-l">Blog</div></div></div><a href="/blog/how-to-profile-native-code-react-native-with-tracy" class="resources-collection-item-link w-inline-block"><div class="resources-collection-item-category-wrapepr"><div fs-cmsfilter-field="content-type" class="label-manuka-l">Blog</div></div><div class="resources-collection-item-content-wrapper"><div><div class="text-inter-s margin-4xs">February 11, 2025</div><h3 fs-cmsfilter-field="name" class="heading-s margin-m">How to Profile Native Code in React Native Using Tracy</h3></div><div class="text-link-dark">More</div></div></a><div class="display-none"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Blog</div></div><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Performance optimization</div></div></div></div></div></div><div id="w-node-_40efad85-1907-6583-f540-99364f6de3ef-2ad5771d" role="listitem" class="resources-collection-item w-dyn-item"><img class="resources-collection-big-featured-image w-condition-invisible" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" alt="Bringing WebAssembly to React Native With Polygen" featured="big" sizes="(max-width: 479px) 105.9140625px, (max-width: 767px) 107.1953125px, (max-width: 991px) 94.8046875px, (max-width: 1439px) 76.5390625px, 6vw" loading="lazy" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp 594w"/><div featured="medium" class="resources-collection-medium-featured w-condition-invisible"><div class="resources-collection-item-category-wrapepr"><div class="label-manuka-l">Blog</div></div></div><a href="/blog/bringing-webassembly-to-react-native-with-polygen" class="resources-collection-item-link w-inline-block"><div class="resources-collection-item-category-wrapepr"><div fs-cmsfilter-field="content-type" class="label-manuka-l">Blog</div></div><div class="resources-collection-item-content-wrapper"><div><div class="text-inter-s margin-4xs">February 7, 2025</div><h3 fs-cmsfilter-field="name" class="heading-s margin-m">Bringing WebAssembly to React Native With Polygen</h3></div><div class="text-link-dark">More</div></div></a><div class="display-none"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Blog</div></div><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Performance optimization</div></div><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">OSS library</div></div></div></div></div></div><div id="w-node-_40efad85-1907-6583-f540-99364f6de3ef-2ad5771d" role="listitem" class="resources-collection-item w-dyn-item"><img class="resources-collection-big-featured-image w-condition-invisible" src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp" alt="Giving AI The Keys to Your App: Agents Controlling UI State" featured="big" sizes="(max-width: 479px) 105.9140625px, (max-width: 767px) 107.1953125px, (max-width: 991px) 94.8046875px, (max-width: 1439px) 76.5390625px, 6vw" loading="lazy" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/650c04beb9f561f1e028ad3f_Community.webp 594w"/><div featured="medium" class="resources-collection-medium-featured w-condition-invisible"><div class="resources-collection-item-category-wrapepr"><div class="label-manuka-l">Blog</div></div></div><a href="/blog/giving-ai-the-keys-to-your-app-agents-controlling-ui-state" class="resources-collection-item-link w-inline-block"><div class="resources-collection-item-category-wrapepr"><div fs-cmsfilter-field="content-type" class="label-manuka-l">Blog</div></div><div class="resources-collection-item-content-wrapper"><div><div class="text-inter-s margin-4xs">February 4, 2025</div><h3 fs-cmsfilter-field="name" class="heading-s margin-m">Giving AI The Keys to Your App: Agents Controlling UI State</h3></div><div class="text-link-dark">More</div></div></a><div class="display-none"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><div fs-cmsfilter-field="category">Blog</div></div></div></div></div></div></div><div filter-pagination="" role="navigation" aria-label="List" class="w-pagination-wrapper pagination"><div class="arrow-small pagination-button swiper-button-disabled"><div class="apsolute-cover bg-gradient-300"></div><div class="arrow-small-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 24L13.575 22.3875L4.3125 13.125H24V10.875H4.3125L13.575 1.6125L12 0L0 12L12 24Z" fill="#141450"/> </svg></div></div><div class="pagination-button-wrapper"><a fs-cmsload-element="page-button" href="#" class="pagination-number-template w-inline-block"><div>1</div></a><div fs-cmsload-element="page-dots" class="pagination-dots">...</div></div><a href="?4f6de3ed_page=2" aria-label="Next Page" class="w-pagination-next arrow-small pagination-button"><div class="apsolute-cover bg-gradient-300"></div><div class="arrow-small-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 24L10.425 22.3875L19.6875 13.125H0V10.875H19.6875L10.425 1.6125L12 0L24 12L12 24Z" fill="#141450"/> </svg></div></a><link rel="prerender" href="?4f6de3ed_page=2"/><div class="arrow-small pagination-button swiper-button-disabled"><div class="apsolute-cover bg-gradient-300"></div><div class="arrow-small-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 24L10.425 22.3875L19.6875 13.125H0V10.875H19.6875L10.425 1.6125L12 0L24 12L12 24Z" fill="#141450"/> </svg></div></div><div aria-label="Page 1 of 24" role="heading" class="w-page-count display-none">1 / 24</div></div></div></div><div fs-cmsfilter-element="empty" class="empty-state"><div class="heading-xl">No results found<strong><br/></strong></div></div></div><div class="display-none w-embed w-script"><script> const mainList = document.querySelector('.resources-collection-list.w-dyn-items') const bigFeaturedList = [...document.querySelectorAll("[featured=big]")] const medFeaturedList = [...document.querySelectorAll("[featured=medium]")] var bigCard var medCard if(bigFeaturedList.filter((item)=>{ return !item.classList.contains("w-condition-invisible") } ).length > 0){ bigCard = bigFeaturedList.filter((item)=>{ return !item.classList.contains("w-condition-invisible") } )[0].parentElement } if(medFeaturedList.filter((item)=>{ return !item.classList.contains("w-condition-invisible") } ).length > 0){ medCard = medFeaturedList.filter((item)=>{ return !item.classList.contains("w-condition-invisible") } )[0].parentElement } if(bigCard)mainList.prepend(bigCard) if(medCard)mainList.prepend(medCard) </script> <!-- [Attributes by Finsweet] CMS Load --> <script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsload@1/cmsload.js"></script> <!-- [Attributes by Finsweet] CMS Filter --> <script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsfilter@1/cmsfilter.js"></script> <!-- Custom Code --> <script async src="https://flow-ninja-assets.s3.amazonaws.com/callstack/callstack-resources-filter.js"></script></div></div></section><section class="is-section-8rem bg-purple-100"><div class="container grid"><div id="w-node-e04c392a-60a2-7343-dcbd-32bd3abb366c-3abb366b" class="column download-ebook-form-left"><div class="heading-2xl margin-s text-off-white">ebook</div><p class="text-l text-off-white">Download your copy of the Ultimate Guide to React Native Optimization.</p><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/64f0c0385744afc12e4960f3_ipad.webp" loading="lazy" alt="" class="blog-ebook-image"/></div><div id="w-node-e04c392a-60a2-7343-dcbd-32bd3abb3672-3abb366b" class="blog-hero-form bg-gradient-200 drop-shadow"><div class="column z1"><div class="heading-m margin-s text-center text-navy">Download our ebook</div><div id="ebook-form-section" class="form-section-embed w-embed w-script"><script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script> <script> hbspt.forms.create({ region: "na1", portalId: "5711799", formId: "6edb4f39-dc8b-421f-95e0-bc6d4c721a61", }); </script> <style> .submitted-message { color: #141450 !important; } input[type="checkbox"], input[type="radio"]{ width: 1rem !important; height: 1rem !important; } li.hs-form-booleancheckbox { list-style: none; } .inputs-list{ padding: 0rem !important; } .hs-form-booleancheckbox-display{ display: flex; column-gap: 0.75rem; } .hs_callstack_newsletter_consent{ margin-top: 1.5rem; } @media (min-width: 768px) { .form-columns-2 { display: flex !important; column-gap: 8px !important; } }</div><p class="text-inter-2xs text-neutral-white margin-4xs">I agree to receive electronic communications By checking any of the boxes, you give us consent to use your email address for our direct marketing purposes, including the latest tech &amp; biz updates. We will process your email address and names (if you have entered them into the above form) until you withdraw your consent to the processing of your names, or unsubscribe, or otherwise object to the processing of your personal data for marketing purposes. You can unsubscribe or exercise other privacy rights at any time. For details, visit our Privacy Policy.</p><p class="text-inter-2xs text-neutral-white">By pressing the “Download” button, you give us consent to use your email address to send you a copy of the Ultimate Guide to React Native Optimization.</p><div class="select-styles w-embed"><link href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.12/css/intlTelInput.min.css" rel="stylesheet"/> <style> .iti.iti--allow-dropdown { display: block; } </style> <style> :root { /* ----------- Colors ----------- */ --list-bg-color: #fff; --list-text-color: #6B6B6B; --border-color-active: #19E632; /* Active State */ --border-color-hover: #19E632; /* Select Field could be the same as your form field border color */ --list-item-bg-color: #F3F3F4; /* ----------- Spacing ----------- */ --list-padding: 0px; /* This is the top and bottom padding for the dropdown list */ --list-item-padding: 8px 16px; } .input-select-field { background-position: right 10px center !important; } .nice-select { -webkit-tap-highlight-color: transparent; box-sizing: border-box; clear: both; position: relative; text-align: left !important; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; white-space: nowrap; } .nice-select:hover { border-color: var(--border-color-hover); background-color: #EEEBFA; } .nice-select:active, .nice-select.open, .nice-select:focus { border-color: var(--border-color-active); } .nice-select:active span.current, .nice-select.open span.current, .nice-select:focus span.current { color: #040410; } .nice-select.open .list { opacity: 1; pointer-events: auto; -webkit-transform: scale(1) translateY(0); -ms-transform: scale(1) translateY(0); transform: scale(1) translateY(0); } .nice-select .list { min-width: 100%; max-height: 201px; overflow: scroll; background-color: var(--list-bg-color); color: var(--list-text-color); border-radius: 5px; box-shadow: 0px 9px 24px rgba(15, 15, 15, 0.2), 0px 3px 6px rgba(15, 15, 15, 0.1); border: 1px solid rgba(15, 15, 15, 0.05); box-sizing: border-box; margin-top: 2px; opacity: 0; overflow: hidden; padding: var(--list-padding); pointer-events: none; position: absolute; top: 100%; left: 0; overflow-y: scroll; overflow-x: hidden; -webkit-transform-origin: 50% 0; -ms-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scale(0.75) translateY(-21px); -ms-transform: scale(0.75) translateY(-21px); transform: scale(0.75) translateY(-21px); -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out; transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out; z-index: 9; } .nice-select .list:hover .option:not(:hover) { background-color: transparent !important; } .nice-select .option { border-radius: 5px; cursor: pointer; font-weight: 400; list-style: none; min-height: var(--list-item-min-height); outline: none; padding: var(--list-item-padding); text-align: left; -webkit-transition: all 0.2s; transition: all 0.2s; margin-bottom: 1px; } .nice-select .option:last-child { margin-bottom: 0px; } .nice-select .option:first-child { display: none; } span.current { color: #040410; } .nice-select .option:hover{ background-color: #EEEBFA; } .nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus { color: #040410; } </style> <style> .iti__country-list { border-radius: 5px; padding: 5px; box-shadow: 0px 9px 24px rgba(15, 15, 15, 0.2), 0px 3px 6px rgba(15, 15, 15, 0.1); } .iti__country { border-radius: 5px; color: #6B6B6B; font-size: 13px; } .iti__dial-code { color: #6B6B6B; } .iti__flag { border-radius: 3px; overflow: hidden; } .iti__country:hover { background: #3A86FF; color: #fff; } .iti__country:hover .iti__dial-code { color: #fff; } .iti__flag-container { padding: 0px; } .iti__selected-flag { padding: 10px 10px 10px 14px; /* background: rgba(255,255,255,0) !important; */ border-top-left-radius: 5px; border-bottom-left-radius: 5px; border-top: 1px solid rgba(255, 255, 255, 0); border-bottom: 1px solid rgba(255, 255, 255, 0); border-left: 1px solid rgba(255, 255, 255, 0); border-right: 1px solid #E9E9E9; width: 66px; margin-top: 1px; margin-left: 1px; } .input-field.phone-input-padding { padding-left: 80px !important; } .iti__arrow { border: none; width: 16px; height: 16px; margin-left: 5px; transition: transform .3s ease-in-out; transform: rotate(0deg); background-image: url('https://cdn.prod.website-files.com/60c1fb51c4706f216cc5b134/60f5d57b6f893e395915652f_select%20arrow.svg'); } .iti__arrow.iti__arrow--up { transform: rotate(-180deg); background-image: url('https://cdn.prod.website-files.com/60c1fb51c4706f216cc5b134/610a91f254862fb9576f21dd_16x16%20input%20arrow%20blue.svg'); } .iti.iti--allow-dropdown:focus .input-field, .iti.iti--allow-dropdown:hover .input-field { border: 1px solid #3A86FF; color: #040410; background: #fff; } .iti.iti--allow-dropdown { width: 100%; } #Phone { padding-left: 80px !important; width: 100% !important; } .form-columns-2 .hs-form-field{ width: 100% !important; } textarea { height: 138px !important; } .hs-input{ outline: none; } </style></div></div></div></div></section></div><footer class="footer-section is-txt-offwhite"><div class="is-container is-grid footer-grid"><div id="w-node-_39080841-288c-cb83-b147-f510135c963a-654d2164" class="is-column"><a href="/" class="footer-brand w-nav-brand"><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/64d1ffc562b0e865fabcda52_Vector%20(1).webp" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/64d1ffc562b0e865fabcda52_Vector%20(1)-p-500.webp 500w, https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/64d1ffc562b0e865fabcda52_Vector%20(1).webp 1738w" alt="Callstack Logo" class="footer-logo"/></a><div class="is-h3 is-txt-cyan is-margin-b-32">Get our newsletter</div><div class="footer-newsletter-embed w-embed w-script"><script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script> <script> hbspt.forms.create({ region: "na1", portalId: "5711799", formId: "b4b75a9e-30a2-4a48-a794-838011276c96", }); </script></div><p class="is-txt-xsmall">By subscribing to the newsletter, you give us consent to use your email address to deliver curated content. We will process your email address until you unsubscribe or otherwise object to the processing of your personal data for marketing purposes. You can unsubscribe or exercise other privacy rights at any time. For details, visit our <a href="/privacy-policy" class="privacy-policy-inline-link">Privacy Policy</a>.</p><div class="footer-social-wrapper"><div class="is-txt-xsmall">Follow us on</div><div class="footer-social-wrapper-nested"><a href="https://www.facebook.com/callstack.dev/" target="_blank" class="footer-social-embed w-inline-block"><div class="footer-social-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_9585_22738)"> <circle cx="16" cy="16" r="16" fill="transparent"/> <path d="M32 16.0401C32 7.18596 24.832 0 16 0C7.168 0 0 7.18596 0 16.0401C0 23.8035 5.504 30.2677 12.8 31.7594V20.8521H9.6V16.0401H12.8V12.0301C12.8 8.93434 15.312 6.41604 18.4 6.41604H22.4V11.2281H19.2C18.32 11.2281 17.6 11.9499 17.6 12.8321V16.0401H22.4V20.8521H17.6V32C25.68 31.198 32 24.3649 32 16.0401Z" fill="currentColor"/> </g> <defs> <clipPath id="clip0_9585_22738"> <rect width="100%" height="100%" fill="currentColor"/> </clipPath> </defs> </svg></div><div class="hide">This is some text inside of a div block.</div></a><a href="https://github.com/callstack" target="_blank" class="footer-social-embed w-inline-block"><div class="footer-social-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_9585_22741)"> <circle cx="16" cy="16" r="16" fill="transparent"/> <path d="M16 0C13.8989 0 11.8183 0.413852 9.87706 1.21793C7.93586 2.022 6.17203 3.20055 4.68629 4.68629C1.68571 7.68687 0 11.7565 0 16C0 23.072 4.592 29.072 10.944 31.2C11.744 31.328 12 30.832 12 30.4V27.696C7.568 28.656 6.624 25.552 6.624 25.552C5.888 23.696 4.848 23.2 4.848 23.2C3.392 22.208 4.96 22.24 4.96 22.24C6.56 22.352 7.408 23.888 7.408 23.888C8.8 26.32 11.152 25.6 12.064 25.216C12.208 24.176 12.624 23.472 13.072 23.072C9.52 22.672 5.792 21.296 5.792 15.2C5.792 13.424 6.4 12 7.44 10.864C7.28 10.464 6.72 8.8 7.6 6.64C7.6 6.64 8.944 6.208 12 8.272C13.264 7.92 14.64 7.744 16 7.744C17.36 7.744 18.736 7.92 20 8.272C23.056 6.208 24.4 6.64 24.4 6.64C25.28 8.8 24.72 10.464 24.56 10.864C25.6 12 26.208 13.424 26.208 15.2C26.208 21.312 22.464 22.656 18.896 23.056C19.472 23.552 20 24.528 20 26.016V30.4C20 30.832 20.256 31.344 21.072 31.2C27.424 29.056 32 23.072 32 16C32 13.8989 31.5861 11.8183 30.7821 9.87706C29.978 7.93586 28.7994 6.17203 27.3137 4.68629C25.828 3.20055 24.0641 2.022 22.1229 1.21793C20.1817 0.413852 18.1012 0 16 0Z" fill="currentColor"/> </g> <defs> <clipPath id="clip0_9585_22741"> <rect width="32" height="32" fill="white"/> </clipPath> </defs> </svg></div><div class="hide">This is some text inside of a div block.</div></a><a href="https://www.linkedin.com/company/callstack/" target="_blank" class="footer-social-embed w-inline-block"><div class="footer-social-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_9822_5182)"> <circle cx="12" cy="12" r="12" fill="transparent"/> <path d="M12 0C5.3725 0 0 5.3725 0 12C0 18.6275 5.3725 24 12 24C18.6275 24 24 18.6275 24 12C24 5.3725 18.6275 0 12 0ZM9.0625 16.9738H6.6325V9.15375H9.0625V16.9738ZM7.8325 8.19375C7.065 8.19375 6.56875 7.65 6.56875 6.9775C6.56875 6.29125 7.08 5.76375 7.86375 5.76375C8.6475 5.76375 9.1275 6.29125 9.1425 6.9775C9.1425 7.65 8.6475 8.19375 7.8325 8.19375ZM17.9375 16.9738H15.5075V12.64C15.5075 11.6313 15.155 10.9462 14.2763 10.9462C13.605 10.9462 13.2063 11.41 13.03 11.8563C12.965 12.015 12.9488 12.24 12.9488 12.4638V16.9725H10.5175V11.6475C10.5175 10.6713 10.4862 9.855 10.4537 9.1525H12.565L12.6763 10.2388H12.725C13.045 9.72875 13.8288 8.97625 15.14 8.97625C16.7388 8.97625 17.9375 10.0475 17.9375 12.35V16.9738Z" fill="currentColor"/> </g> <defs> <clipPath id="clip0_9822_5182"> <rect width="24" height="24" fill="white"/> </clipPath> </defs> </svg></div><div class="hide">This is some text inside of a div block.</div></a><a href="https://www.youtube.com/c/CallstackEngineers" target="_blank" class="footer-social-embed w-inline-block"><div class="footer-social-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_9822_5185)"> <circle cx="12" cy="12" r="12" fill="transparent"/> <path d="M14.0037 11.7913L11.1963 10.4813C10.9513 10.3675 10.75 10.495 10.75 10.7662V13.2338C10.75 13.505 10.9513 13.6325 11.1963 13.5188L14.0025 12.2087C14.2488 12.0938 14.2487 11.9063 14.0037 11.7913ZM12 0C5.3725 0 0 5.3725 0 12C0 18.6275 5.3725 24 12 24C18.6275 24 24 18.6275 24 12C24 5.3725 18.6275 0 12 0ZM12 16.875C5.8575 16.875 5.75 16.3213 5.75 12C5.75 7.67875 5.8575 7.125 12 7.125C18.1425 7.125 18.25 7.67875 18.25 12C18.25 16.3213 18.1425 16.875 12 16.875Z" fill="currentColor"/> </g> <defs> <clipPath id="clip0_9822_5185"> <rect width="24" height="24" fill="white"/> </clipPath> </defs> </svg></div><div class="hide">This is some text inside of a div block.</div></a><a href="https://twitter.com/callstackio?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor" target="_blank" class="footer-social-embed w-inline-block"><div class="footer-social-embed w-embed"><svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_13621_156336)"> <path fill-rule="evenodd" clip-rule="evenodd" d="M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24ZM5.59998 6.40039H9.71521L12.7511 10.4486L16.2702 6.40039H17.8281L13.473 11.4104L18.5336 18.1582H14.4183L11.1779 13.8378L7.42244 18.1582H5.86453L10.456 12.8754L5.59998 6.40039ZM7.95154 7.57617L15.0062 16.9824H16.182L9.12732 7.57617H7.95154Z" fill="currentColor"/> </g> <defs> <clipPath id="clip0_13621_156336"> <rect width="24" height="24" fill="currentColor"/> </clipPath> </defs> </svg></div><div class="hide">This is some text inside of a div block.</div></a></div></div></div><div id="w-node-_39080841-288c-cb83-b147-f510135c9646-654d2164" class="column footer-column"><a href="/services" class="btn-link--white w-button">Services</a><div class="is-column"><a title="Product Development" href="/services/product-development-and-growth" class="is-footer-link">Product Development</a><a title="Product Process Optimization" href="/services/optimization-of-products-and-processes" class="is-footer-link">Product Process Optimization</a><a title="Tech Stack Upgrade" href="/services/tech-stack-upgrade" class="is-footer-link">Tech Stack Upgrade</a><a title="Team Upskilling" href="/services/team-upskilling" class="is-footer-link">Team Upskilling</a><a title="Business Transformation" href="/services/business-transformation" class="is-footer-link no-margin">Business Transformation</a></div></div><div id="w-node-_39080841-288c-cb83-b147-f510135c9653-654d2164" class="column footer-column"><a href="/technology" class="btn-link--white w-button">Technology</a><div class="is-column"><a title="Full stack" href="/product/full-stack-app-development-services" class="is-footer-link">Full stack</a><a title="Cross-platform" href="/technology?main-category=cross-platform#full-spectrum" class="is-footer-link">Cross-platform</a><a title="React Native" href="https://www.callstack.com/technologies/react-native" class="is-footer-link no-margin">React Native</a></div></div><div id="w-node-_39080841-288c-cb83-b147-f510135c965c-654d2164" class="column footer-column"><a href="/community" class="btn-link--white w-button">Community</a><div class="is-column"><a title="Blog" href="/blog" aria-current="page" class="is-footer-link w--current">Blog</a><a title="Podcast" href="/podcast" class="is-footer-link">Podcast</a><a href="https://www.callstack.com/ebook/the-ultimate-guide-to-react-native-optimization" title="Ebooks" class="is-footer-link">Ebooks</a><a title="Events" href="/event" class="is-footer-link">Events</a><a title="Newsletter" href="/newsletter" class="is-footer-link">Newsletter</a></div></div><div id="w-node-_39080841-288c-cb83-b147-f510135c9667-654d2164" class="column footer-column"><a href="/about-us" class="btn-link--white w-button">About us</a><div class="is-column"><a title="Open Source" href="/open-source" class="is-footer-link">Open Source</a><a title="Our Team" href="/team" class="is-footer-link">Our Team</a><a title="Case studies" href="/case-studies" class="is-footer-link">Case Studies</a><a title="Careers" href="/careers" class="is-footer-link">Careers</a><a title="Media kit" href="/media-kit" class="is-footer-link">Media Kit</a><a title="Contact" href="/contact" class="is-footer-link no-margin">Contact</a></div></div><div id="w-node-_39080841-288c-cb83-b147-f510135c9674-654d2164" class="column footer-column"><a href="https://www.callstack.com/products/developer-training" class="btn-link--white w-button">Training</a><div class="is-column"><a title="Mentoring program" href="https://www.callstack.com/products/mentoring-program" class="is-footer-link">Mentoring program</a><a title="All Training" href="https://www.callstack.com/products/developer-training" class="is-footer-link">All Training</a><a title="Guidebook" href="https://www.callstack.com/ebook/mastering-the-big-screen-react-native-for-tv-guidebook" class="is-footer-link">Guidebook - Mastering the Big Screen: React Native for TV</a></div></div><div id="w-node-_39080841-288c-cb83-b147-f510135c967d-654d2164" class="column footer-column"><div class="is-txt-light is-txt-semibold is-txt-neutrals-200">Policies</div><div class="is-column"><a title="Standards of Business Conduct" href="/standards-of-business-conduct" class="is-footer-link">Standards of Business Conduct</a><a title="Code of Conduct" href="/code-of-conduct" class="is-footer-link">Code of Conduct</a><a title="Privacy Policy" href="/privacy-policy" class="is-footer-link">Privacy Policy</a><a title="Cookie Policy" href="/cookie-policy" class="is-footer-link">Cookie Policy</a><a title="Terms of use - webinar" href="/terms-of-use-webinar" class="is-footer-link no-margin">Terms of use - webinar</a></div></div><div id="w-node-_39080841-288c-cb83-b147-f510135c9688-654d2164" class="column footer-social-column"><div id="w-node-_39080841-288c-cb83-b147-f510135c9689-654d2164" class="footer-social-holder"><div class="footer-vertical-line"></div><div class="footer-information-wrapper"><div class="text-inter-xs text-neutral-300">Information Security Certified</div><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/65157bcd7e1be3315b470ce4_image%20123.svg" loading="lazy" alt="" class="footer-information-image"/></div><div class="footer-vertical-line"></div><div class="footer-partners-wrapper"><div class="text-inter-xs text-neutral-300">Partners</div><div class="footer-partners-wrapper-nested"><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/6673e88cb4623dcdf791028c_meta.svg" loading="lazy" alt="Meta" class="footer-partner-logo"/><img src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/6673e8b9c66c737899f84c1d_stripe.svg" loading="lazy" alt="Stripe" class="footer-partner-logo"/></div></div></div><p class="is-txt-xsmall is-txt-neutrals-500">2025 Callstack. All rights reserved. Callstack.io Sp. z o.o. seated in Wrocław, Poland, at Prosta 36, 53-508 Wrocław, entered in the Register of Entrepreneurs of the National Court Register, kept by the District Court of Wrocław-Fabryczna in Wrocław, VI Commercial Division of the National Court Register under the number 0000606530, with share capital of PLN 8,000.00, with tax identification number (NIP) PL8992785616, and statistical number (REGON) 363921820.</p></div></div><div class="custom-style w-embed"><style> @media (min-width: 992px) and (max-width: 1200px) { .footer-partners-wrapper-nested{ grid-column-gap: 0.5rem !important; } .footer-social-holder { grid-column-gap: 0.5rem !important; } .footer-partners-wrapper{ grid-column-gap: 0.5rem !important; } } </style></div><div class="hide w-embed"><style> @media (min-width: 992px) and (max-width: 1680px) { html{ font-size: 12px; } } </style></div></footer><div class="w-embed"><style> .get-in-touch-form input[type="submit"] { display: block !important; } .actions { display: block !important; margin-top: 1.5rem; } .hs-button { background-color: var(--colours-main--green); color: var(--colours-main--navy); cursor: pointer; border-radius: 1.9375rem; flex: 0 auto; justify-content: center; align-items: center; padding: 1rem 1.5rem; font-family: Inter, sans-serif; font-size: 1rem; font-weight: 600; text-decoration: none; transition-property: none; display: inline-block; border: none !important; width: 100%; } .footer-newsletter-embed .hs-button { width: auto; padding: .75rem 1.5rem; } .hs-button:hover { background-image: linear-gradient(180deg, var(--colours-secondary--warning), var(--colours-main--green)); } } </style></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=64d0b1ecf0fc228ea4057bb5" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/js/webflow.schunk.4a394eb5af8156f2.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/js/webflow.schunk.cc6d20927f2817c1.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/64d0b1ecf0fc228ea4057bb5/js/webflow.3d88cc4f.77ae67654ffe8f20.js" type="text/javascript"></script><!-- Solarwinds TEST script) --> <script src="https://rum-agent.eu-01.cloud.solarwinds.com/ra-e-1800626757211615232.js" async></script> <!-- new Google Tag Manager (noscript) --> <noscript><iframe src="https://load.tgm.callstack.com/ns.html?id=GTM-KQS2CF37" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- new End Google Tag Manager (noscript) --> <!-- Project Navigation Fix --> <script> var Webflow = Webflow || []; Webflow.push(function () { var $body = $(document.body); var scrollPosition = 0; $('[scroll="both"]').on('click', function () { if ($body.css('overflow') !== 'hidden') { var oldWidth = $body.innerWidth(); scrollPosition = window.pageYOffset; $body.css('overflow', 'hidden'); $body.css('position', 'fixed'); $body.css('top', `-${scrollPosition}px`); $body.width(oldWidth); } else { $body.css('overflow', ''); $body.css('position', ''); $body.css('top', ''); $body.width(''); $(window).scrollTop(scrollPosition); } }); }); </script> <script> // Stars // Check if elements with the class "star" exist on the page const starsElements = document.getElementsByClassName('stars'); if (starsElements.length > 0) { // Loop through each star and set a random delay between 0 and 2 seconds for (let i = 0; i < starsElements.length; i++) { const randomDelays = Math.random() * 2; // Random delay between 0 and 10 seconds starsElements[i].style.animationDelay = `${randomDelays}s`; } } else { } </script> <script> setTimeout(() => { // Select all elements with class 'hs-form-booleancheckbox-display' var checkboxContainers = document.querySelectorAll('.hs-form-booleancheckbox-display'); // Iterate through each checkbox container checkboxContainers.forEach(function(container) { var spanElement = container.querySelector('span'); // Check if a 'span' element exists inside the container if (spanElement) { // Add the '.text-inter-xs' and '.text-neutral' classes to the 'span' element spanElement.classList.add('text-inter-xs', 'text-neutral'); } // Create a new 'div' element var newDiv = document.createElement('div'); // Add the 'checkbox-checked' class to the new div newDiv.classList.add('checkbox-checked'); // Initially hide the new div newDiv.style.display = 'none'; // Append the new div inside the checkbox container container.appendChild(newDiv); // Select the associated checkbox element var checkbox = container.querySelector('.hs-input[type="checkbox"]'); // Add an event listener to the checkbox to toggle the new div checkbox.addEventListener('change', function() { if (checkbox.checked) { newDiv.style.display = 'block'; } else { newDiv.style.display = 'none'; } }); }); }, "500"); </script> <script> var elementsWithLimit = document.querySelectorAll('[data-limit]'); // Iterate through the selected elements elementsWithLimit.forEach(function(element) { // Get the value of the data-limit attribute and convert it to a number var limit = parseInt(element.getAttribute('data-limit')); if (!isNaN(limit)) { // Check if the limit is a valid number var words = element.textContent.trim().split(' '); if (words.length > limit) { var truncatedText = words.slice(0, limit).join(' ') + '...'; element.textContent = truncatedText; } } }); </script> <script> setTimeout(() => { if (document.querySelector('.post-rich-text')) { var rich = document.querySelector('.post-rich-text'); rich.lastChild.lastChild.style.marginBottom = '0px' } }, 500); </script> <script> document.addEventListener('DOMContentLoaded', function () { // On page load, set the opacity of elements with data-opacity attribute to 1 var elements = document.querySelectorAll('[data-opacity]'); elements.forEach(function (element) { element.style.opacity = 1; }); }); </script> <script> /* fix flash of unwanted content */ setTimeout(function () { document.body.classList.add("loaded"); }, 200); // Adjust the time as needed </script><script src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/jquery.validation/1.15.0/jquery.validate.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-nice-select/1.1.0/js/jquery.nice-select.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.12/js/intlTelInput.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.12/js/utils.min.js"></script> <script src="//js.hsforms.net/forms/v2.js"></script> <script> function nice() { $(document).ready(function() { $('select').niceSelect(); }); } setTimeout(nice, 500); // Execute the greet function after a 2000ms (2 seconds) delay </script> </body></html>

Pages: 1 2 3 4 5 6 7 8 9 10