{"id":7543,"date":"2021-05-28T18:16:44","date_gmt":"2021-05-28T18:16:44","guid":{"rendered":"https:\/\/cheesecakelabs.com\/blog\/?p=7543\/"},"modified":"2022-07-01T17:02:03","modified_gmt":"2022-07-01T17:02:03","slug":"flutter-vs-react-native-development","status":"publish","type":"post","link":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/","title":{"rendered":"Getting you up to speed on Flutter versus React Native versus native development"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">The Cheesecake Labs team\u2019s goal is to provide you with the best version of your digital product. And there\u2019s no <\/span><i><span style=\"font-weight: 400;\">one<\/span><\/i><span style=\"font-weight: 400;\"> way of getting that right.<\/span><\/p>\n<p>The good news is we now have plenty of options to choose from. And, at CKL, we\u2019re fully trained and ready to go using a range of different programming languages and frameworks \u2014 whichever is the best approach for your project. All that remains to resolve is which is better for your app when it comes to Flutter versus React Native versus native development.<br \/>\n<!--more--><\/p>\n<h2><span style=\"font-weight: 400;\">Flutter versus React Native versus native apps \u2014 what\u2019s the difference?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">You have two main options when developing mobile apps: cross-platform and native development.&nbsp;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In native development, you take advantage of the tools provided by the device&#8217;s operating system:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">For <\/span><b>Android<\/b><span style=\"font-weight: 400;\"> devices, you use <\/span><b>Kotlin<\/b><span style=\"font-weight: 400;\"> programming language with the<\/span><b> Android SDK.<\/b><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">For <\/span><b>iOS<\/b><span style=\"font-weight: 400;\"> devices, you use <\/span><b>Swift alongside the iOS SDK<\/b><span style=\"font-weight: 400;\">.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Things are a little different with <a href=\"https:\/\/cheesecakelabs.com\/blog\/blog\/apps-built-flutter-6-great-examples\/\">Flutter <\/a>and <a href=\"https:\/\/cheesecakelabs.com\/blog\/blog\/react-native-examples-innovative-brands\/\">React Native<\/a>. Instead of using the native tools provided by the device&#8217;s operating system, you use cross-platform tools to create one codebase for your whole app.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In simple terms&#8230;<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><b>React Native<\/b><span style=\"font-weight: 400;\"> is a framework for building native iOS and Android applications using JavaScript. It&#8217;s based on the same concepts as React, but uses native components to render a user interface (UI).<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Flutter<\/b><span style=\"font-weight: 400;\">, on the other hand, uses the <\/span><b>Dart<\/b><span style=\"font-weight: 400;\"> programming language to compile the native application, re-implementing native components with identical UI and experience.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">While React Native and Flutter can be used to create the same result \u2014 a delightful digital experience \u2014 there are quite a few differences in how they work. So let\u2019s unpack each in a bit more detail.<\/span><\/p>\n<blockquote><p><strong>You may also like:<br \/>\n<\/strong><a href=\"https:\/\/cheesecakelabs.com\/blog\/blog\/react-native-examples-innovative-brands\/\">Here&#8217;s how the world&#8217;s most innovative brands use React Native (+5 great examples)<\/a><\/p>\n<p><a href=\"https:\/\/cheesecakelabs.com\/blog\/blog\/apps-built-flutter-6-great-examples\/\">Apps built with Flutter \u2014 6 great examples<\/a><strong><br \/>\n<\/strong><\/p><\/blockquote>\n<h2><span style=\"font-weight: 400;\">React Native versus Flutter: a visual overview<\/span><\/h2>\n<p><strong>React Native:<\/strong><\/p>\n<ul>\n<li>A cross-platform framework using native components to render a user interface (UI)<\/li>\n<li>Released on March 2015<\/li>\n<li>Created by&nbsp;Facebook<\/li>\n<li>JavaScript (a very popular programming language)<\/li>\n<\/ul>\n<p><strong>Flutter:<\/strong><\/p>\n<ul>\n<li>A cross-platform framework that compiles to native code, using identical replicas of native components on the UI<\/li>\n<li>Released on December 2018<\/li>\n<li>Created by&nbsp;Google<\/li>\n<li>Dart (a type safe programming language, benefiting from fewer runtime errors)<\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400;\">What is React Native?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">React Native is a development framework created by Facebook in 2015. It was conceived as an extension to Facebook&#8217;s original React framework, extending its capability to mobile.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">React Native developers rely on the JavaScript language to build their apps. It provides a set of building blocks that let developers quickly and easily build mobile apps. These building blocks wrap a mobile device\u2019s native code, meaning developers can easily create cross-platform apps that match a phone\u2019s native user interface.<\/span><\/p>\n<h3><b>Pros of React Native<\/b><\/h3>\n<h4><b><br \/>\nTons of talent<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">React Native uses JavaScript \u2014 <\/span><a href=\"https:\/\/insights.stackoverflow.com\/survey\/2020#technology-programming-scripting-and-markup-languages\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400;\">the most popular programming language<\/span><\/a><span style=\"font-weight: 400;\"> for the eighth year in a row! That means you\u2019ll have your pick of great developers to help build your React Native app (particularly versus Flutter, which uses Dart \u2014 a language that isn\u2019t half as popular in 2021). And while you <\/span><i><span style=\"font-weight: 400;\">can<\/span><\/i><span style=\"font-weight: 400;\"> find great people with other frameworks, it\u2019s hard to find the same abundance of talent as you would with a popular programming language like JavaScript.<\/span><\/p>\n<h4><b><br \/>\nA vast and growing community<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">React is also one of the most popular JavaScript frameworks out there. There\u2019s a large community and plenty of training for React Native developers to take advantage of.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Better still, React is also <\/span><a href=\"https:\/\/insights.stackoverflow.com\/survey\/2020#technology-most-loved-dreaded-and-wanted-web-frameworks-wanted2\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400;\">the most \u201cwanted\u201d framework<\/span><\/a><span style=\"font-weight: 400;\"> according to the Stack Overflow Developer Survey 2020, meaning we should see even greater adoption and talent development in the future.<\/span><\/p>\n<h3><b>Cons of React Native<\/b><\/h3>\n<h4><b><br \/>\nFewer native components<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">React Native provides a lot of power to its developers. It lets them create custom UI components and apply them across their application. However, this also means you need to make all those components from scratch.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">React Native comes with fewer off-the-shelf components versus Flutter and its alternatives. If you want to get up and running quickly, working with a framework that contains more components might be a better option. <\/span><i><span style=\"font-weight: 400;\">Or<\/span><\/i><span style=\"font-weight: 400;\"> you could use React Native + a UI framework like <\/span><a href=\"https:\/\/github.com\/xotahal\/react-native-material-ui\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400;\">Material UI<\/span><\/a><span style=\"font-weight: 400;\"> or <\/span><a href=\"https:\/\/wix.github.io\/react-native-ui-lib\/\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400;\">RNUI<\/span><\/a><span style=\"font-weight: 400;\">. The final result won\u2019t be <\/span><i><span style=\"font-weight: 400;\">super<\/span><\/i><span style=\"font-weight: 400;\"> customized, but it\u2019ll help you achieve a sweet spot between bespoke builds and speedy time-to-market.<\/span><\/p>\n<h4><b><br \/>\nMore likely to break with new OS versions<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Your React Native app uses the phone\u2019s native styling when rendering your UI. On one hand, this means your app will look great on devices where you know how the styling works. But on the other, every now and then you\u2019ll be met with problems as operating systems update and change their styling.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You&#8217;ll need to test your app\u2019s user interface every time a new OS version is released. Google and Apple also change how their phone&#8217;s UI works at times, so you&#8217;ll need to adapt quickly to those changes too.<\/span><\/p>\n<h4><b><br \/>\nAbandoned packages<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Versus Flutter, the React Native ecosystem is enormous and provides a lot of pre-built packages for developers. While this lets them produce apps more quickly, it becomes a problem when a package developer stops updating their software.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">React Native has many abandoned packages in the wild. Your developers will need to make sure they&#8217;re using software that&#8217;s likely to stay updated in the future (if there is such a thing!) and make sure everything they currently use still gets updates.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">What is Flutter?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Flutter is newer to the cross-platform development scene versus React Native. Google released the framework in 2018 and it\u2019s grown<\/span><i><span style=\"font-weight: 400;\"> a lot<\/span><\/i><span style=\"font-weight: 400;\"> in recent years.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Google\u2019s Flutter makes use of the Dart programming language to build mobile apps. Unlike React Native and other popular cross-platform tools, Flutter compiles down to the same native app code that native apps use to run.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">So what do you stand to gain \u2014 and what can hold you back \u2014 when choosing Flutter versus React Native?<\/span><\/p>\n<h3><b>Pros of Flutter<\/b><\/h3>\n<h4><b>Apps with better performance<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Speed is a common concern with frameworks based on JavaScript. These applications need to jump through hoops to run code native to mobile devices. Lower performance isn&#8217;t an issue in most cases, but can cause problems if you have a performance-intensive app idea.&nbsp;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Flutter frees you from such limitations.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Since Flutter compiles to native code, there\u2019s less friction when running these applications. This means Flutter apps that are built right see better performance than other development frameworks, assuming your app will have a single view for both Android and iOS devices.<\/span><\/p>\n<h4><b><br \/>\nThe same UI on all platforms<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">It\u2019s tough to manage varying UIs on different platforms. You need to always be on your guard against new updates to make sure nothing in your UI breaks. But since the Flutter UI appears the same on every device, this simply isn\u2019t an issue.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The Flutter UI you build will work the same on every mobile OS and every version of those systems. This conformity means less testing and fewer bugs for your developers to deal with.<\/span><\/p>\n<h4><b><br \/>\nOut of the box components<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">If speed is vital for launching your app, Flutter is a great cross-platform choice. It provides more out-of-the-box native components than other competing frameworks.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">These components will help your developers prototype and <\/span><a href=\"https:\/\/cheesecakelabs.com\/blog\/blog\/screw-the-mvp\/\"><span style=\"font-weight: 400;\">get to an MVP<\/span><\/a><span style=\"font-weight: 400;\">. You won\u2019t need to wait on your team to create the custom React Native components you need.<\/span><\/p>\n<h3><b>Cons of Flutter<\/b><\/h3>\n<h4><b><br \/>\nFewer developers (as it stands today)<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Having the features of Flutter isn\u2019t worth much if you can\u2019t find people to build your app or help maintain it. Flutter\u2019s developer community is modest <\/span><a href=\"https:\/\/medium.com\/flutterdevs\/the-growth-of-flutter-development-3years-after-the-birth-of-alpha-78baee809dff\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400;\">but growing<\/span><\/a><span style=\"font-weight: 400;\">, so as it stands today you may encounter a talent shortage when developing your app with Flutter versus React Native and other frameworks (although not at Cheesecake Labs).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Before starting a Flutter app, you&#8217;ll need to ensure you have the people available to deliver your vision. You could also face challenges onboarding new talent since there aren&#8217;t as many resources available to learn the programming language.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You simply need to <\/span><a href=\"https:\/\/cheesecakelabs.com\/blog\/contact\/\"><span style=\"font-weight: 400;\">pick your partners wisely<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h4><b><br \/>\nFewer third-party libraries<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">An abundance of third-party libraries awaits when working with popular programming languages, like JavaScript. These libraries help you get apps up and running quicker than creating everything from scratch.&nbsp;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Flutter and the Dart programming language aren\u2019t <\/span><i><span style=\"font-weight: 400;\">quite<\/span><\/i><span style=\"font-weight: 400;\"> there yet.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The Flutter community is still small, so there aren\u2019t as many resources available to build more complex app functionality. If your app needs more done than native components can provide, this can increase your development time.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Cross-platform vs. Native: what should you choose for your app?<\/span><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-7546\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/choose.png\" alt=\"Cross-platform vs. Native Mobile app development\" width=\"599\" height=\"389\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/choose.png 818w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/choose-768x500.png 768w\" sizes=\"(max-width: 599px) 100vw, 599px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Now that you know what React Native and Flutter can do, the question is: should you pick one of these cross-platform development frameworks over native applications?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A native app requires you to use the programming language native to your phone. For Android phones, that programming language is Kotlin. For iOS devices, you\u2019ll use Swift. If you want an app that runs on every phone type, you\u2019ll need to write your code from scratch for each one \u2014&nbsp;and maintain each codebase separately.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Things work differently with cross-platform apps. A cross-platform development framework lets you use one codebase for both Android and Apple devices. And therein lies the benefit, if you ask us.<\/span><\/p>\n<h3><b>Working with one, cross-platform codebase&#8230;<\/b><\/h3>\n<h4><b><br \/>\nReduces time to market<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Speed is a crucial component in the development of some apps. If you&#8217;re in a competitive market, launching your app quickly is vital to stay one step ahead of your rivals. If you need to create two codebases for your app, it&#8217;s harder to make this a reality.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A single codebase lets you launch your app on every device at the same time. Cross app frameworks are optimized for both devices, so you&#8217;ll spend less time coding and fighting device-specific software bugs, too.<\/span><\/p>\n<h4><b><br \/>\nIs easier to maintain<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">As we discussed in our post about the <\/span><a href=\"https:\/\/cheesecakelabs.com\/blog\/blog\/building-app-phase-4-product-optimization\/\"><span style=\"font-weight: 400;\">Product Optimization phase<\/span><\/a><span style=\"font-weight: 400;\">, the app development process of a successful product never ends. There\u2019s always updates to adapt to, bugs to squash, and evolving user demands your app needs to meet.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A single codebase is easier to maintain since the Android and iOS versions will share much of the same code. You can make changes quickly and launch updates on every phone at the same time.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Four examples that show you what\u2019s possible with cross-platform development<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">These four apps \u2014 one that we built, and three that we love \u2014 are a great indication of what cross-platform development can do.<\/span><\/p>\n<h3><b>Power Play Rewards by exMox<\/b><\/h3>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-7310\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/03\/powerplayrewards-exmox-app-react-native-example.png\" alt=\"\" width=\"981\" height=\"600\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/03\/powerplayrewards-exmox-app-react-native-example.png 1310w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/03\/powerplayrewards-exmox-app-react-native-example-768x470.png 768w\" sizes=\"(max-width: 981px) 100vw, 981px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Cheesecake Labs created the <\/span><a href=\"https:\/\/cheesecakelabs.com\/blog\/portfolio\/exmox\/\"><span style=\"font-weight: 400;\">exMox app<\/span><\/a><span style=\"font-weight: 400;\"> to provide a performance marketing network dedicated to gaming. <\/span><b>React Native<\/b><span style=\"font-weight: 400;\"> was chosen to offer a seamless experience across <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.powerplayrewardsapp\" target=\"_blank\" rel=\"noopener noreferrer\">Android<\/a> and iOS devices.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The exMox software provides game publishers with a way to keep players engaged. It gives personalized incentives and rewards, the latter of which can be used on in-app purchases, and dencourages players to invite their friends.<\/span><\/p>\n<h3><b>Instagram<\/b><\/h3>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-7558\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/instagram-mobile-app-ux-design.png\" alt=\"\" width=\"1343\" height=\"600\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/instagram-mobile-app-ux-design.png 2010w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/instagram-mobile-app-ux-design-768x343.png 768w\" sizes=\"(max-width: 1343px) 100vw, 1343px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">What better example of a cross-platform app than one of the largest one in the world? Instagram makes use of<\/span><b> React Native<\/b><span style=\"font-weight: 400;\"> to provide a great experience for users on any device.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Instagram\u2019s developers use React Native to push updates to all devices at the same time. It simplified their codebase, allowing them to expand Instagram\u2019s features and protect their stake in the competitive landscape.<\/span><\/p>\n<h3><b>Grab<\/b><\/h3>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-7559\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/grab-mobile-app-screens.png\" alt=\"\" width=\"1221\" height=\"600\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/grab-mobile-app-screens.png 2862w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/grab-mobile-app-screens-768x377.png 768w\" sizes=\"(max-width: 1221px) 100vw, 1221px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">The Grab app was created for <\/span><a href=\"https:\/\/apps.apple.com\/ph\/app\/grabmerchant\/id1282271764\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400;\">Android<\/span><\/a><span style=\"font-weight: 400;\"> and <\/span><a href=\"https:\/\/apps.apple.com\/ph\/app\/grabmerchant\/id1282271764\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400;\">iOS<\/span><\/a><span style=\"font-weight: 400;\"> devices to give food delivery businesses an easy-to-use mobile app to manage their business. Grab used <\/span><b>Flutter<\/b><span style=\"font-weight: 400;\"> to provide a consistent experience across every device the app runs on.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This app allows merchants to view the data about their store in one place. They can see sales, view refunds, manage employees, and manage menus.<\/span><\/p>\n<h3><b>BMW<\/b><\/h3>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-7561\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/my-bmw-app-ux-design2.jpg\" alt=\"\" width=\"1062\" height=\"600\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/my-bmw-app-ux-design2.jpg 1280w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/my-bmw-app-ux-design2-768x434.jpg 768w\" sizes=\"(max-width: 1062px) 100vw, 1062px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">BMW <\/span><a href=\"https:\/\/www.press.bmwgroup.com\/global\/article\/detail\/T0328610EN\/the-my-bmw-app-new-features-and-tech-insights-for-march-2021\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-weight: 400;\">took advantage of <\/span><b>Flutter<\/b><\/a><span style=\"font-weight: 400;\"> to build their mobile app for car management. The app connects to BMW vehicles through bluetooth to give their drivers a dashboard to manage their vehicles.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A driver can check on their vehicle\u2019s health, locate their vehicle, find fueling stations, and much more. Flutter allowed BMW to do all this from one codebase instead of creating a separate version for Android and iOS devices.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Cross-platform development sounds great\u2026. So why does <\/span><i><span style=\"font-weight: 400;\">anyone<\/span><\/i><span style=\"font-weight: 400;\"> go native?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Cross-platform development offers a lot of benefits compared to native development. <\/span><i><span style=\"font-weight: 400;\">However<\/span><\/i><span style=\"font-weight: 400;\">, that doesn&#8217;t mean native development isn&#8217;t worth pursuing <\/span><i><span style=\"font-weight: 400;\">if it leads to a better app for you.<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">Some developers are wary of relying on big companies to maintain their frameworks. React Native is maintained by Facebook, while Google keeps up Flutter. If either of those companies decides it doesn&#8217;t make business sense to support those frameworks anymore, anyone using them is out of luck.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">But let\u2019s be honest: Facebook and Google are two of the biggest tech companies out there, so the chance of that happening is minimal. Even if it does, these projects are free and open-source \u2014 there will always be a way for the community to continue its development, the same way it happens with other popular programming languages and frameworks.&nbsp;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">And beyond the cons of cross-platform frameworks covered above, native apps have a few other benefits to consider\u2026<\/span><\/p>\n<h3><b>The benefits of native development<\/b><\/h3>\n<h4><b><br \/>\nNative apps are fast<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">React Native and Flutter both do a great job at giving users a great experience, but neither can measure up to the speed of native apps. While you can make high-performing apps with React Native and Flutter, native apps make it easier.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">While Flutter is faster than React Native in this regard, it still doesn&#8217;t match native speeds. If your app needs as much performance as you can give it \u2014 for a high-demand CPU or a low-latency app like 2D\/3D gaming experiences \u2014&nbsp;then native is likely the best choice.<\/span><\/p>\n<h4><b><br \/>\nEasy access to native phone functions<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Mobile phones come with a lot of cool features these days \u2014&nbsp;with everything from facial recognition to GPS built right in. In the past, it hasn&#8217;t always been easy for cross-platform apps to access these functions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">And while things have improved, cross-platform still has some way to go. You need to add several layers of components to Flutter and React Native if you want your app to use a device\u2019s advanced in-built features, like AR and Machine Learning. With native development, you have easy access to everything a phone can do.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Trust Cheesecake Labs to deliver the solution you need<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">While you can use any of the tools above to deliver you the app you\u2019re looking for, one of them might be a better choice for your specific needs.&nbsp;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It&#8217;s also important not to let the hype get in the way of intelligent decision-making. Sometimes a new technology like Flutter can seem like the next best thing, but it isn&#8217;t always the right choice for your business.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Our 7+ years in mobile development have taught us this fact. That\u2019s why the Cheesecake Labs team will look at the pros and cons of each development methodology, present the information back to you, and help you choose the one that\u2019ll do the job best. Our team knows Flutter, React Native, and native development \u2014 so there\u2019s never any compromise on quality.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you\u2019re ready to sit down with a mobile expert and learn more about your options, then you know <\/span><a href=\"https:\/\/cheesecakelabs.com\/blog\/contact\/\"><span style=\"font-weight: 400;\">where to find us<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Cheesecake Labs team\u2019s goal is to provide you with the best version of your digital product. And there\u2019s no one way of getting that right. The good news is we now have plenty of options to choose from. And, at CKL, we\u2019re fully trained and ready to go using a range of different programming [&hellip;]<\/p>\n","protected":false},"author":65,"featured_media":7544,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,432],"tags":[],"class_list":["post-7543","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business","category-engineering"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Getting you up to speed on Flutter versus React Native versus native development<\/title>\n<meta name=\"description\" content=\"Pros and cons of each development methodology to help you choose the one that\u2019ll do the job best: Flutter versus React Native, or native development?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Getting you up to speed on Flutter vs React Native vs native development\" \/>\n<meta property=\"og:description\" content=\"Pros and cons of each development methodology to help you choose the one that\u2019ll do the job best: Flutter versus React Native, or native development?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/\" \/>\n<meta property=\"og:site_name\" content=\"Cheesecake Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cheesecakelabs\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-28T18:16:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-01T17:02:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/s3.amazonaws.com\/ckl-website-static\/wp-content\/uploads\/2021\/05\/Linkedin-Flutter-vs-react-native.png\" \/>\n<meta name=\"author\" content=\"Cheesecake Labs\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Getting you up to speed on Flutter vs React Native vs native development\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/s3.amazonaws.com\/ckl-website-static\/wp-content\/uploads\/2021\/05\/Linkedin-Flutter-vs-react-native.png\" \/>\n<meta name=\"twitter:creator\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:site\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/\"},\"author\":{\"name\":\"Natam Oliveira\"},\"headline\":\"Getting you up to speed on Flutter versus React Native versus native development\",\"datePublished\":\"2021-05-28T18:16:44+00:00\",\"dateModified\":\"2022-07-01T17:02:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/\"},\"wordCount\":2594,\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/Blog-Hero-Flutter-vs-react-native.png\",\"articleSection\":[\"Business\",\"Engineering\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/\",\"name\":\"Getting you up to speed on Flutter versus React Native versus native development\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/Blog-Hero-Flutter-vs-react-native.png\",\"datePublished\":\"2021-05-28T18:16:44+00:00\",\"dateModified\":\"2022-07-01T17:02:03+00:00\",\"author\":{\"@type\":\"person\",\"name\":\"Natam Oliveira\"},\"description\":\"Pros and cons of each development methodology to help you choose the one that\u2019ll do the job best: Flutter versus React Native, or native development?\",\"breadcrumb\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#primaryimage\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/Blog-Hero-Flutter-vs-react-native.png\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/Blog-Hero-Flutter-vs-react-native.png\",\"width\":2000,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cheesecakelabs.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Getting you up to speed on Flutter versus React Native versus native development\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/\",\"name\":\"Cheesecake Labs\",\"description\":\"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"name\":\"Natam Oliveira\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/1665394374251.jpeg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/1665394374251.jpeg\",\"caption\":\"Natam Oliveira\"},\"description\":\"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/autor\/natam-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Getting you up to speed on Flutter versus React Native versus native development","description":"Pros and cons of each development methodology to help you choose the one that\u2019ll do the job best: Flutter versus React Native, or native development?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/","og_locale":"en_US","og_type":"article","og_title":"Getting you up to speed on Flutter vs React Native vs native development","og_description":"Pros and cons of each development methodology to help you choose the one that\u2019ll do the job best: Flutter versus React Native, or native development?","og_url":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/","og_site_name":"Cheesecake Labs","article_publisher":"https:\/\/www.facebook.com\/cheesecakelabs","article_published_time":"2021-05-28T18:16:44+00:00","article_modified_time":"2022-07-01T17:02:03+00:00","og_image":[{"url":"https:\/\/s3.amazonaws.com\/ckl-website-static\/wp-content\/uploads\/2021\/05\/Linkedin-Flutter-vs-react-native.png","type":"","width":"","height":""}],"author":"Cheesecake Labs","twitter_card":"summary_large_image","twitter_title":"Getting you up to speed on Flutter vs React Native vs native development","twitter_image":"https:\/\/s3.amazonaws.com\/ckl-website-static\/wp-content\/uploads\/2021\/05\/Linkedin-Flutter-vs-react-native.png","twitter_creator":"@cheesecakelabs","twitter_site":"@cheesecakelabs","twitter_misc":{"Written by":null,"Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#article","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/"},"author":{"name":"Natam Oliveira"},"headline":"Getting you up to speed on Flutter versus React Native versus native development","datePublished":"2021-05-28T18:16:44+00:00","dateModified":"2022-07-01T17:02:03+00:00","mainEntityOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/"},"wordCount":2594,"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/Blog-Hero-Flutter-vs-react-native.png","articleSection":["Business","Engineering"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/","url":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/","name":"Getting you up to speed on Flutter versus React Native versus native development","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#primaryimage"},"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/Blog-Hero-Flutter-vs-react-native.png","datePublished":"2021-05-28T18:16:44+00:00","dateModified":"2022-07-01T17:02:03+00:00","author":{"@type":"person","name":"Natam Oliveira"},"description":"Pros and cons of each development methodology to help you choose the one that\u2019ll do the job best: Flutter versus React Native, or native development?","breadcrumb":{"@id":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#primaryimage","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/Blog-Hero-Flutter-vs-react-native.png","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2021\/05\/Blog-Hero-Flutter-vs-react-native.png","width":2000,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/cheesecakelabs.com\/blog\/flutter-vs-react-native-development\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cheesecakelabs.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Getting you up to speed on Flutter versus React Native versus native development"}]},{"@type":"WebSite","@id":"https:\/\/cheesecakelabs.com\/blog\/#website","url":"https:\/\/cheesecakelabs.com\/blog\/","name":"Cheesecake Labs","description":"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","name":"Natam Oliveira","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/1665394374251.jpeg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/1665394374251.jpeg","caption":"Natam Oliveira"},"description":"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.","url":"https:\/\/cheesecakelabs.com\/blog\/autor\/natam-2\/"}]}},"_links":{"self":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/7543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/comments?post=7543"}],"version-history":[{"count":1,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/7543\/revisions"}],"predecessor-version":[{"id":10137,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/7543\/revisions\/10137"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media\/7544"}],"wp:attachment":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media?parent=7543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/categories?post=7543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/tags?post=7543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}