{"id":517,"date":"2019-04-03T13:44:26","date_gmt":"2019-04-03T10:44:26","guid":{"rendered":"https:\/\/flatlogic.com\/blog\/?p=517"},"modified":"2025-02-09T18:49:50","modified_gmt":"2025-02-09T15:49:50","slug":"the-biggest-react-native-starter-update-so-far","status":"publish","type":"post","link":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/","title":{"rendered":"The Biggest React Native Starter Update So Far"},"content":{"rendered":"\n<p>We made a number of significant changes in <a href=\"https:\/\/reactnativestarter.com\">React Native Starter<\/a>. In fact, we made a completely new React Native Starter from scratch. It is possible that a few years from now we will look at our work and develop new ideas and make core changes in our product. We believe this is the only way to follow best practices and changes in <a href=\"https:\/\/flatlogic.com\/templates\/react-native\">React Native <\/a>itself. Revisions of architecture and functionality helped us drastically cut development time of future mobile apps. We believe that speed is the most important criteria in this case. Almost every change that we made was either making the process of customization faster or reducing the number of bugs in your future mobile apps.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/reactnativestarter.com\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"683\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/04\/mailing-2-1-1024x683.png\" alt=\"React Native Starter\" class=\"wp-image-518 lazyload\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/04\/mailing-2-1-1024x683.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/04\/mailing-2-1-600x400.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/04\/mailing-2-1-768x512.png 768w\" data-sizes=\"auto\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/683;\" data-original-sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>In this article, we want to share some thoughts about the decisions we made creating the second version of <a href=\"https:\/\/reactnativestarter.com\">React Native Starter<\/a>. And of course, we appreciate your comments, emails and commits on <a href=\"https:\/\/github.com\/flatlogic\/react-native-starter\/releases\">GitHub<\/a>. We want to thank all of you who sent any kind of feedback on the first version of React Native Starter. It was very meaningful and informative, and what is more important thought-provoking.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Removed Expo and transitioned to native projects<\/strong><\/h3>\n\n\n\n<p>This decision was made because of lots of restrictions that expo adds to your projects. One of our primary goals with RNS is to provide as much scalable solution as possible. The previous version of our starter kit has been built using Expo framework and it was creating some restrictions for our users. Just a few examples: application builds were large (25+ MB with a plain project), lack of native modules, poor support of offline-features and much more. Also, we believe that our starter kit can be used in a complex application where you might need to adjust the native code (Objective-C or Java) and you wouldn&#8217;t be able to do it using Expo. We received a lot of feedback from you, our users, and decided to get rid of Expo in the new release. And because of this change, 2.0 version doesn&#8217;t have the backward capability with the first one. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Added Plop generator for easy development<\/strong><\/h3>\n\n\n\n<p>Another important goal for us is to speed up the development process as much as possible without affecting quality. And Plop is one of our main improvements in this area. First of all, you probably already know that our starter kit has a modular architecture (if you don&#8217;t, please read more in our <a href=\"http:\/\/docs.reactnativestarter.com\">documentation<\/a>). And after you downloaded our kit, you want to add your custom modules and components. With our Plop config, you&#8217;re able to generate all the required files and imports simply by running a single command. Just type plop in your command line, answer a few questions and you&#8217;ll have a new module or component ready to go! Magic, huh?\n <a href=\"https:\/\/flatlogic.com\/generator\"><img decoding=\"async\" data-src=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding.png\" alt=\"Professional Vibe Coding\" class=\"banner-img lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 2560px; --smush-placeholder-aspect-ratio: 2560\/640;\" data-srcset=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding.png 2560w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-600x150.png 600w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-1024x256.png 1024w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-768x192.png 768w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-1536x384.png 1536w, https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/Introducing-professional-vibe-coding-2048x512.png 2048w\" data-sizes=\"auto\" data-original-sizes=\"(max-width: 2560px) 100vw, 2560px\"> <\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Added support for unit testing with Jest and Enzyme<\/strong><\/h3>\n\n\n\n<p>Everybody loves tests! Well, you should \ud83d\ude42 With our starter kit, we want to help you to deliver as stable code as possible. We&#8217;ve added 2 options to write tests: unit testing with Jest\/Enzyme toolbox and e2e tests with detox. Let&#8217;s talks a little bit about the first one. Jest and Enzyme are the libraries that can make unit testing of a mobile app possible. These libraries can help you test your components and functions by writing simple and elegant unit tests. Enzyme adds support for snapshot testing (read more <a href=\"https:\/\/airbnb.io\/enzyme\/\" rel=\"nofollow\">here<\/a>).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Added support for e2e testing with Detox<\/strong><\/h3>\n\n\n\n<p>E2e refers to end to end testing which means that application is tested by checking all the layers, interfaces, etc. separately to make sure that these tests show a comprehensive UX image. You can write tests for user stories. For example, you write a test for the login process, it contains the following steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Open an app.<\/li><li>Enter email.<\/li><li>Enter password.<\/li><li>Click the login button.<\/li><li>Verify that the main screen is visible.<\/li><\/ul>\n\n\n\n<p>You write these tests using detox jest-wrapper, your app is opened in any simulator and tested against all your stories. It helps to catch a lot of user-interface issues during development!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>New modular architecture that will help you speed up the applications development<\/strong><\/h3>\n\n\n\n<p>The Starter Kit architecture is designed to support scalable, modular applications. Built around Redux, it makes it simple to reason about your application&#8217;s state, and as a result to write maintainable error-free programs.<br><\/p>\n\n\n\n<p>Please, check our docs for more insights on our <a href=\"https:\/\/docs.reactnativestarter.com\/arhitecture\">documentation<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>In conclusion<\/strong><\/h3>\n\n\n\n<p>So what is next? First of all, we will study the feedback of the community on the matter. We understand that there is going to be more changes in the future and we want to make up our mind and process all data. Second, we want to collect some examples of mobile apps that were made on top of our product. We really interested, what mobile applications you managed to create with our <a href=\"https:\/\/reactnativestarter.com\">React Native Starter<\/a> v.2. So keep up with our news, because there is going to be several compelling case studies. We believe that this case studies can be truly instructive in several respects. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>We made a number of significant changes in React Native Starter. In fact, we made a completely new React Native Starter from scratch. It is possible that a few years&#8230;<\/p>\n","protected":false},"author":3,"featured_media":518,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"flatlogic_tldr":"","flatlogic_facts":[],"footnotes":""},"categories":[1],"tags":[24,275,22,38],"class_list":["post-517","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-mobile-app","tag-product-updates","tag-react-native","tag-react-native-starter"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Biggest React Native Starter Update So Far - Flatlogic Blog<\/title>\n<meta name=\"description\" content=\"React Native Starter mobile template is a usefull tool for any mobile developer. It kickstarts both iOS and Android application in no time.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Biggest React Native Starter Update So Far\" \/>\n<meta property=\"og:description\" content=\"React Native Starter mobile template is a usefull tool for any mobile developer. It kickstarts both iOS and Android application in no time.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/\" \/>\n<meta property=\"og:site_name\" content=\"Flatlogic Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/flatlogic\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-03T10:44:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-09T15:49:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/04\/mailing-2-1-1024x683.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nastassia Ovchinnikova\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@flatlogic\" \/>\n<meta name=\"twitter:site\" content=\"@flatlogic\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nastassia Ovchinnikova\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"The Biggest React Native Starter Update So Far - Flatlogic Blog","description":"React Native Starter mobile template is a usefull tool for any mobile developer. It kickstarts both iOS and Android application in no time.","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:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/","og_locale":"en_US","og_type":"article","og_title":"The Biggest React Native Starter Update So Far","og_description":"React Native Starter mobile template is a usefull tool for any mobile developer. It kickstarts both iOS and Android application in no time.","og_url":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/","og_site_name":"Flatlogic Blog","article_publisher":"https:\/\/www.facebook.com\/flatlogic","article_published_time":"2019-04-03T10:44:26+00:00","article_modified_time":"2025-02-09T15:49:50+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/04\/mailing-2-1-1024x683.png","type":"image\/png"}],"author":"Nastassia Ovchinnikova","twitter_card":"summary_large_image","twitter_creator":"@flatlogic","twitter_site":"@flatlogic","twitter_misc":{"Written by":"Nastassia Ovchinnikova","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/#article","isPartOf":{"@id":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/"},"author":{"name":"Nastassia Ovchinnikova","@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/person\/bed36c984b2f920a7fc450877f425eed"},"headline":"The Biggest React Native Starter Update So Far","datePublished":"2019-04-03T10:44:26+00:00","dateModified":"2025-02-09T15:49:50+00:00","mainEntityOfPage":{"@id":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/"},"wordCount":850,"publisher":{"@id":"https:\/\/flatlogic.com\/blog\/#organization"},"image":{"@id":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/#primaryimage"},"thumbnailUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/04\/mailing-2-1.png","keywords":["Mobile App","Product Updates","React Native","React Native Starter"],"articleSection":["News"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/","url":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/","name":"The Biggest React Native Starter Update So Far - Flatlogic Blog","isPartOf":{"@id":"https:\/\/flatlogic.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/#primaryimage"},"image":{"@id":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/#primaryimage"},"thumbnailUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/04\/mailing-2-1.png","datePublished":"2019-04-03T10:44:26+00:00","dateModified":"2025-02-09T15:49:50+00:00","description":"React Native Starter mobile template is a usefull tool for any mobile developer. It kickstarts both iOS and Android application in no time.","breadcrumb":{"@id":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/#primaryimage","url":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/04\/mailing-2-1.png","contentUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2019\/04\/mailing-2-1.png","width":2400,"height":1600,"caption":"react native starter"},{"@type":"BreadcrumbList","@id":"https:\/\/flatlogic.com\/blog\/the-biggest-react-native-starter-update-so-far\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/flatlogic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The Biggest React Native Starter Update So Far"}]},{"@type":"WebSite","@id":"https:\/\/flatlogic.com\/blog\/#website","url":"https:\/\/flatlogic.com\/blog\/","name":"Flatlogic Blog","description":"Vibe-coding, AI Agents, Professional Software Development Services, Case Studies and More","publisher":{"@id":"https:\/\/flatlogic.com\/blog\/#organization"},"alternateName":"Flatlogic Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/flatlogic.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/flatlogic.com\/blog\/#organization","name":"Flatlogic","url":"https:\/\/flatlogic.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/62ea6de0b3469aa3d6ebb528-1.png","contentUrl":"https:\/\/flatlogic.com\/blog\/wp-content\/uploads\/2025\/10\/62ea6de0b3469aa3d6ebb528-1.png","width":970,"height":257,"caption":"Flatlogic"},"image":{"@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/flatlogic","https:\/\/x.com\/flatlogic","https:\/\/www.instagram.com\/flatlogiccom\/","https:\/\/www.linkedin.com\/company\/flatlogic\/"]},{"@type":"Person","@id":"https:\/\/flatlogic.com\/blog\/#\/schema\/person\/bed36c984b2f920a7fc450877f425eed","name":"Nastassia Ovchinnikova","url":"https:\/\/flatlogic.com\/blog\/author\/nastassia\/"}]}},"_links":{"self":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts\/517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/comments?post=517"}],"version-history":[{"count":2,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts\/517\/revisions"}],"predecessor-version":[{"id":6112,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/posts\/517\/revisions\/6112"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/media\/518"}],"wp:attachment":[{"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/media?parent=517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/categories?post=517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flatlogic.com\/blog\/wp-json\/wp\/v2\/tags?post=517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}