{"id":276,"date":"2019-06-03T09:21:59","date_gmt":"2019-06-03T09:21:59","guid":{"rendered":"https:\/\/itsolution24x7.com\/blog\/?p=276"},"modified":"2019-06-03T09:21:59","modified_gmt":"2019-06-03T09:21:59","slug":"how-react-native-is-the-best","status":"publish","type":"post","link":"https:\/\/itsolution24x7.com\/blog\/how-react-native-is-the-best\/","title":{"rendered":"How React Native Became the Secret Sauce for a Successful Mobile App"},"content":{"rendered":"\n<p>It\u2019s been quite a shaky year for React Native framework.\nLast year, Udacity and Airbnb decided to move away from the platform, while Discord\nis sticking with React Native. However, some of them still publicized a wide\nnumber of issues they experienced, and their Android app does not use React\nNative at all. Facebook is now fully committed to supporting the React Native platform\nand published an open source roadmap, but several developers remain skeptical\nof React Native\u2019s future.<\/p>\n\n\n\n<p>Besides the fear of failure, it is essential to keep a balanced perspective. Every native framework has its drawbacks, however React Native is still a big improvement upon any hybrid mobile framework that came before it. For some companies, React Native was the perfect framework to build and release mobile applications for both iOS and Android. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Truly Feels Native<\/h3>\n\n\n\n<p>It might be easier to overlook this, however, React Native is the first ever framework that seems to deliver the promise of hybrid apps that actually feel native to each platform. React Native code is rendered to native UI components which is implemented with Objective-C and Java. This amazing benefit can make it easy to use device-centric design language and follow the iOS or Android interface guidelines while also delivering native-quality application performance. We found some problems common among hybrid mobile frameworks, interactions, and animations are very smooth, and the app is snappy and just plain satisfying to use.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Two Apps from a Single Codebase<\/h3>\n\n\n\n<p>React Native finally delivers a major benefit that was previously promised never fully realized by past hybrid frameworks. You can write the code once in JavaScript, and seamlessly use it to multiple platforms. Only a few handful of components in the codebase are specific to a single platform and that\u2019s only in areas where we truly wanted a different experience with iOS and Android-specific logic. For other components, the developers find it simple to change details of the user interface for each platform using conditional styling like different icons to match the common design language of both environments or centering the navigation on iOS while left-aligning it on Android.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Leverage Existing Developer Knowledge<\/h3>\n\n\n\n<p>We did not provide a mobile app for the first five years of the product\u2019s existence. Some mobile development teams don\u2019t have any dedicated mobile engineers on the team, while some do. The development teams have adequate React Native experience after using React for several years to create rich, client-side user experiences for the web application. React Native allowed the developers to seamlessly leverage the existing knowledge to create a mobile app that our entire team could quickly understand and contribute to as needed. The code patterns might look very similar to React on the web if the developers use redux with sagas for data storage and mutation, and jest\/enzyme for testing. The only real differences are the parts that are very specific to mobile like navigation and device-specific styling. This can be a splendid boom for the developers because it reduces the barrier to entry. They can build and launch mobile applications without having to hire a mobile-specific engineering team.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Build and Ship Faster<\/h3>\n\n\n\n<p>Along with React Native, the team used Expo to streamline the development process even further. Expo smooths over a number of pain points in the mobile development process. It allows you to run your app on your device by starting up Expo on your computer and then opening the Expo client app. Let that sink in: we developed an entire production application for iOS without once opening Xcode! Expo also offers a build service which abstracts away the complexity of certificate management and other nuances of building a mobile app for the store. Finally, Expo provides over-the-air app updates out of the box. We are able to implement and push out changes to our JavaScript code without having to submit a full build to the app stores for each change, which is normally an excruciating process. This has been particularly helpful for quickly turning around bug fixes, which we can ship to our users in a matter of minutes rather than days.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Secret to Success<\/h3>\n\n\n\n<p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nThe\nsecret sauce to create a cross-platform app can be React Native. The framework can\ngive an incredible amount of leverage to create and maintain mobile\napplications with knowledge that we already had from working with React on the\nweb. React Native framework delivers on the promises by making the mobile apps run\nfaster, smoother, and indistinguishable from fully native apps. The development\nteam was able to seamlessly build for both iOS and Android from a single\ncodebase, changing the details of the user interface to match the design\nlanguage and patterns of each platform\n\n\n\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It\u2019s been quite a shaky year for React Native framework. Last year, Udacity and Airbnb decided to move away from the platform, while Discord is sticking<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>\n","protected":false},"author":1,"featured_media":277,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,17],"tags":[],"class_list":["post-276","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile-apps","category-react-native"],"_links":{"self":[{"href":"https:\/\/itsolution24x7.com\/blog\/wp-json\/wp\/v2\/posts\/276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itsolution24x7.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itsolution24x7.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itsolution24x7.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itsolution24x7.com\/blog\/wp-json\/wp\/v2\/comments?post=276"}],"version-history":[{"count":0,"href":"https:\/\/itsolution24x7.com\/blog\/wp-json\/wp\/v2\/posts\/276\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itsolution24x7.com\/blog\/wp-json\/wp\/v2\/media\/277"}],"wp:attachment":[{"href":"https:\/\/itsolution24x7.com\/blog\/wp-json\/wp\/v2\/media?parent=276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itsolution24x7.com\/blog\/wp-json\/wp\/v2\/categories?post=276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itsolution24x7.com\/blog\/wp-json\/wp\/v2\/tags?post=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}