Ionic vs React Native: Which one is better?
Tags: ionic, reactnative, hybrid, comparison
Published: 2020-03-29 20:10:55

<main role="main"><article class=" u-minHeight100vhOffset65 u-overflowHidden postArticle postArticle--full is-withAccentColors" lang="en"><div class="postArticle-content js-postField js-notesSource editable" id="editor_6" g_editable="true" role="textbox" contenteditable="true" data-default-value="Title
Tell your story…" spellcheck="false"><section name="47d8" class="section section--body section--first section--last"><div class="section-divider"><hr class="section-divider"></div><div class="section-content"><div class="section-inner sectionLayout--insetColumn"><p name="d39f" class="graf graf--p graf-after--figure">While looking to develop mobile apps with other than the native toolsets, I found myself evaluating Ionic and React Native as two of the most common alternatives. Both have a large community of passionate developers, are used heavily in large enterprises, and can lay claim to many popular consumer apps.</p><p name="cdc4" class="graf graf--p graf-after--p">In this post, I will try to compare&#8202;—&#8202;Ionic and React Native framework. Both technologies <strong class="markup--strong markup--p-strong">allow you to build mobile apps for iOS as well as Android. </strong>After extensive research, I would say these two are great frameworks because they allow developers to quickly prototype and publish apps on multiple platforms with single source code.</p><p name="5dfa" class="graf graf--p graf-after--p">The reason why I am writing this is that it is often asked&#8202;—&#8202;“What platform should I select for my enterprise app development?”. Though it is for most of the time very specific, we can still layout (or at least try!) some general guidelines to better decide.</p><p name="50d3" class="graf graf--p graf-after--p">The first great thing is&#8202;—&#8202;you can publish apps without the need to learn Swift, Objective-C, Java or Kotlin! Instead, you’ll use JavaScript for React Native and Ionic. Hence you’re able to create native apps for both platforms with one language instead of two&#8202;—&#8202;this obviously reduced a lot of learning effort for me to build my mobile apps.</p><p name="d1ae" class="graf graf--p graf-after--p">Great! So how do these technologies differ, which one is the best choice for your next mobile project? Let’s take a look…</p><h3 name="adda" class="graf graf--h3 graf-after--p">What is Ionic&nbsp;4?</h3><figure tabindex="0" contenteditable="false" name="9c36" class="graf graf--figure graf-after--h3 is-defaultValue"><div class="aspectRatioPlaceholder is-locked" style="max-width: 700px; max-height: 249px;"><div class="aspectRatioPlaceholder-fill" style="padding-bottom: 35.5%;"></div><img class="graf-image" data-image-id="1*J1g22b6Qw0pX0jBY9hGfrw.jpeg" data-width="800" data-height="284" src="https://cdn-images-1.medium.com/max/800/1*J1g22b6Qw0pX0jBY9hGfrw.jpeg"><div class="crosshair u-ignoreBlock"></div></div></figure><p name="d935" class="graf graf--p graf-after--figure"><strong class="markup--strong markup--p-strong">Ionic</strong> is a complete open-source SDK for hybrid mobile app development created by <a href="https://medium.com/u/a76fa51de1ba?source=post_page---------------------------"  class="markup--anchor markup--p-anchor"    target="_blank">Max Lynch</a>, <a href="https://medium.com/u/14b1be5c1354?source=post_page---------------------------"  class="markup--anchor markup--p-anchor"    target="_blank">Ben Sperry</a> and Adam Bradley of Drifty Co. in 2013. Ionic provides tools and services for developing hybrid mobile apps using Web technologies like CSS, HTML5, and Sass. Apps can be built with these Web technologies and then distributed through native app stores to be installed on devices by leveraging Cordova.</p><p name="010c" class="graf graf--p graf-after--p">So, in other words&#8202;—&#8202;If you create Native apps in Android, you code in Java. If you create Native apps in iOS, you code in Obj-C or Swift. Both of these are powerful but complex languages. <strong class="markup--strong markup--p-strong">With Cordova (and Ionic) you can write a single piece of code for your app that can run on both iOS and Android </strong>(and windows!), that too with the simplicity of HTML, CSS, and JS.</p><h3 name="a66b" class="graf graf--h3 graf-after--p">What Is React&nbsp;Native?</h3><figure tabindex="0" contenteditable="false" name="c207" class="graf graf--figure graf-after--h3 is-defaultValue"><div class="aspectRatioPlaceholder is-locked" style="max-width: 700px; max-height: 486px;"><div class="aspectRatioPlaceholder-fill" style="padding-bottom: 69.39999999999999%;"></div><img class="graf-image" data-image-id="1*0lbEBYItH0XwsRYuJEt5fQ.jpeg" data-width="1024" data-height="711" src="https://cdn-images-1.medium.com/max/800/1*0lbEBYItH0XwsRYuJEt5fQ.jpeg"><div class="crosshair u-ignoreBlock"></div></div></figure><p name="8ad0" class="graf graf--p graf-after--figure">React Native is a JavaScript framework for writing real, natively rendering mobile applications for iOS and Android. It’s based on React, Facebook’s JavaScript library for building user interfaces, but instead of targeting the browser, it targets mobile platforms. In other words: web developers can now write mobile applications that look and feel truly “native,” all from the comfort of a JavaScript library that we already know and love. Plus, because most of the code you write can be shared between platforms, React Native makes it easy to simultaneously develop for both Android and iOS.</p><p name="7fee" class="graf graf--p graf-after--p">Similar to React for the Web, React Native applications are written using a mixture of JavaScript and XML markup, known as JSX. Then, under the hood, the React Native “bridge” invokes the native rendering APIs in Objective-C (for iOS) or Java (for Android). Thus, your application will render using real mobile UI components, not webviews, and will look and feel like any other mobile application. React Native also exposes JavaScript interfaces for platform APIs, so your React Native apps can access platform features like the phone camera, or the user’s location.</p><p name="9d66" class="graf graf--p graf-after--p">React Native currently supports both iOS and Android and has the potential to expand to future platforms as well. In this blog, we’ll cover both iOS and Android. The vast majority of the code we write is cross-platform. And yes: you can really use React Native to build production-ready mobile applications! Some example: <a href="http://bit.ly/1YipO7A"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">Facebook</a>, <a href="http://bit.ly/1PPEiZH"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">Palantir</a>, and <a href="http://bit.ly/1PPEjNg"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">TaskRabbit</a> are already using it in production for user-facing applications.</p><h4 name="9b54" class="graf graf--h4 graf-after--p">Hybrid Mobile Apps vs. Native Apps: A Popular&nbsp;Debate</h4><p name="0cc8" class="graf graf--p graf-after--h4">Before we start, here’s something important you should consider. Ionic is a framework for hybrid mobile app development and React Native is a cross-platform framework to build native apps.</p><p name="3d24" class="graf graf--p graf-after--p">Native apps are built in a specific language for a specific platform. For example, when you write code in Objective C for the iOS platform or use Java for Android, then the application is called as a native app. The main advantage of native app development is superior performance. Contradictory to this, hybrid applications are web applications that use web technologies such as HTML, CSS, and JavaScript to develop an application. To provide native experience and access to native features of Android, iOS, or any other platform, it uses PhoneGap/Cordova platforms.</p><h3 name="7e66" class="graf graf--h3 graf-after--p">Parameters</h3><p name="7773" class="graf graf--p graf-after--h3">To decide which one is better for Cross-Platform Mobile App Development, I chose to define some parameters, on the basis of which I will try to make a clear comparison. And, those are:</p><ul class="postList"><li name="5c25" class="graf graf--li graf-after--p">Language Stack</li><li name="fd38" class="graf graf--li graf-after--li">Do not repeat yourself(DRY)</li><li name="0cba" class="graf graf--li graf-after--li">Rich pre-styled Component Library</li><li name="be67" class="graf graf--li graf-after--li">Performance</li><li name="7324" class="graf graf--li graf-after--li">User Interface</li><li name="1f12" class="graf graf--li graf-after--li">Ecosystem / Third-Party Libraries</li><li name="4e2b" class="graf graf--li graf-after--li">Market and Community</li><li name="852c" class="graf graf--li graf-after--li">Accessing Native Device Features</li><li name="773c" class="graf graf--li graf-after--li">Supported Platforms</li><li name="608b" class="graf graf--li graf-after--li">Popular Apps</li><li name="92cd" class="graf graf--li graf-after--li">Pricing</li><li name="6d3d" class="graf graf--li graf-after--li">Maintainability</li></ul><h4 name="13b0" class="graf graf--h4 graf-after--li">1. The Language&nbsp;Stack</h4><p name="62d6" class="graf graf--p graf-after--h4">With this metric, I want to explore which framework utilizes which programming languages and offer what benefits:</p><p name="6bc6" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">React Native:</strong> It utilizes JavaScript which is at present one of the most popular, dynamic and high-level programming language. It combines the advantages of JavaScript and React.JS and is backed by Facebook.</p><p name="ed26" class="graf graf--p graf-after--p">The solid side of React Native that makes it best among the other three frameworks in terms of PL is that it allows writing a few components in Swift, Objective-C or Java when developers require them. Utilizing native modules and libraries in React Native applications, you can manage computationally heavy operations like video handling or image editing.</p><p name="d772" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">Ionic framework:</strong> It uses HTML5, CSS, and JS to develop and run applications, and requires Cordova wrapper to access native platform controllers. Utilizing IONIC, you can also use TypeScript that improves the quality of the code.</p><p name="e294" class="graf graf--p graf-after--p">Here is how you can rank these frameworks based on the advantages offered by their programming languages:</p><ol class="postList"><li name="0be8" class="graf graf--li graf-after--p">React Native (React)</li><li name="f9b3" class="graf graf--li graf-after--li">Ionic Framework (Angular)</li></ol><h4 name="b26e" class="graf graf--h4 graf-after--li">2. Do not repeat yourself&nbsp;(DRY)</h4><p name="3bd5" class="graf graf--p graf-after--h4">With this metric, I want to explore how much of the code we write can be re-used for both platforms.</p><p name="7451" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">Ionic:</strong> Awesome re-usability! The “wrapped web app” concept ensures that you can easily re-use your code&#8202;—&#8202;you’re just building a wrapped web app in the end. The great component library of adaptive components (i.e. automatically styled for the platform the app runs on) also helps.</p><p name="772c" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">React Native:</strong> Also compiles to native defaults but only provides a basic set of components to start with. You have to style most of them on your own, hence more work is required to achieve appropriate styles on both platforms. Generally, code can be re-used though (since you still only use one language and libraries like <a href="http://redux.js.org/"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">Redux</a> need no adjustment).</p><p name="836a" class="graf graf--p graf-after--p">Here is how you can rank these frameworks based on the Code Reusability</p><ol class="postList"><li name="49eb" class="graf graf--li graf-after--p">Ionic Framework</li><li name="67e8" class="graf graf--li graf-after--li">React Native</li></ol><h4 name="a41b" class="graf graf--h4 graf-after--li">3. Rich pre-styled Component Library</h4><p name="24ee" class="graf graf--p graf-after--h4">How easy is it to build beautiful UIs? Do you have to create and style a lot of components (UI elements) on your own or do you have a rich suite of pre-built ones? Are the components adapting to the underlying platform automatically? That’s what this metric is about.</p><p name="ee02" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">Ionic:</strong> Ionic in its core is a big set of pre-built (and pre-styled) components. The compiler/ toolchain which yields a native app is also part of the Ionic package (handled via its CLI) but it utilizes other packages like <a href="https://cordova.apache.org/"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">Cordova</a> or <a href="https://capacitor.ionicframework.com/"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">Capacitor</a>. The components provided by Ionic automatically adapt to the platform the app runs on and therefore, Ionic makes the creation of beautiful, native-looking apps a breeze!</p><p name="b857" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">React Native:</strong> A decent set of built-in components is provided but a lot of them need to be styled by you. And they’re non-adaptive, instead&#8202;—&#8202;just as with Flutter&#8202;—&#8202;you get alternatives for both operating systems. That requires adjustments in your code, where you have to choose, use and style widgets conditionally.</p><p name="ed7e" class="graf graf--p graf-after--p">Here is how you can rank these frameworks based on the pre-styled Component Library</p><ol class="postList"><li name="a622" class="graf graf--li graf-after--p">Ionic Framework</li><li name="e073" class="graf graf--li graf-after--li">React Native</li></ol><h4 name="9585" class="graf graf--h4 graf-after--li">4. Performance</h4><p name="8887" class="graf graf--p graf-after--h4">This metric is the most important one and speaks for itself&#8202;—&#8202;how do the apps made in different frameworks perform from a run-time performance perspective?</p><p name="fbd7" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">React Native:</strong> The performance it provides is very similar to native applications as it renders code elements specifically to the native APIs. React additionally allow developers to use native modules written in native languages to write code for complicated operations. However, they can’t be reused across two platforms; their main purpose is to provide higher performance.</p><p name="86a0" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">Ionic:</strong> In terms of performance, Ionic loses the game. Its performance isn’t as similar to React Native or flutter offers since it utilizes web technologies to render an application. This approach significantly decreases the speed. Also, it doesn’t utilize native components and tries to create a native look and feel by using web technologies.</p><p name="1710" class="graf graf--p graf-after--p">The upside of Ionic is its quick testing process that runs instantly in a browser that streamlines the development process.</p><p name="ee85" class="graf graf--p graf-after--p">Ionic offers a poorer performance among these 3 as it’s a wrapped web app in the end. <strong class="markup--strong markup--p-strong">But this is often misunderstood!</strong> “Worse” sounds extremely bad but “worse” doesn’t actually mean “horrible” or even “bad”. Instead, you got worse performance than with the other approaches. In fact, on the devices we got these days, your app will probably run more than smooth! If you only (imaginary!) got 100fps instead of 105fps&#8202;—&#8202;would you notice a difference? You wouldn’t, so <strong class="markup--strong markup--p-strong">keep Ionic in your mind for your next app!</strong></p><p name="2f8a" class="graf graf--p graf-after--p">Here is how you can rank these frameworks based on the performance they offer:</p><ol class="postList"><li name="fb88" class="graf graf--li graf-after--p">React Native</li><li name="a920" class="graf graf--li graf-after--li">Ionic</li></ol><h4 name="d05d" class="graf graf--h4 graf-after--li">5. User Interface</h4><p name="0850" class="graf graf--p graf-after--h4">Users judge apps within the first few seconds of usage and that’s why GUI of an app must be engaging while being easy&#8202;—&#8202;let’s see what these frameworks offer:</p><p name="c779" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">React Native:</strong> React Native modules associated with native UI controllers, which gives amazing user experience that is very close to native apps. It additionally utilizes the ReactJS library with extensive UI elements and streamlines the UI development.</p><p name="6fe9" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">Ionic:</strong> Ionic UI doesn’t utilize native elements at all and renders everything in HTML and CSS. Then it applies Cordova to give native mobile experience. Angular components that accompany the framework also enable Ionic apps look like the native ones.</p><p name="2226" class="graf graf--p graf-after--p">Here is how you can rank these frameworks based on the UI they offer:</p><ol class="postList"><li name="5d34" class="graf graf--li graf-after--p">React Native</li><li name="379d" class="graf graf--li graf-after--li">Ionic</li></ol><h4 name="3f31" class="graf graf--h4 graf-after--li">6. Ecosystem / Third-Party Libraries</h4><p name="96ce" class="graf graf--p graf-after--h4">What does the ecosystem look like? Is it easy to find help (on <a href="https://stackoverflow.com/"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">Stackoverflow</a> etc) and are there enough third-party libraries available to add that one feature your app needs?</p><p name="fc73" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">Ionic:</strong> Ionic uses JavaScript for its logic&#8202;—&#8202;and whilst you can use it with any (or no) JavaScript framework, it provides especially great support for Angular. Therefore, you benefit from these ecosystems. And the JavaScript, as well as the Angular ecosystem, is huge! Thousands of threads on <a href="https://stackoverflow.com/"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">Stackoverflow</a> and packages on <a href="https://www.npmjs.com/"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">npm</a> help you solve your problems.</p><p name="a58f" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">React Native:</strong> It uses JavaScript and React, hence you got those ecosystems available. Additionally, React Native on its own has quite a vibrant ecosystem and community, hence you find many threads on Stackoverflow and a lot of third-party packages that add missing functionalities. A downside is that you often need to rely on the ecosystem (like plugins, starters etc.) since only core features are included in React Native itself. React Native’s ecosystem in not as strong as others, and often keeps changing or the third-party plugins can’t keep pace with changing React Native</p><p name="a177" class="graf graf--p graf-after--p">Here is how you can rank these frameworks based on the Ecosystem / Third-Party Libraries</p><ol class="postList"><li name="9752" class="graf graf--li graf-after--p">Ionic</li><li name="928b" class="graf graf--li graf-after--li">React Native</li></ol><h4 name="f91c" class="graf graf--h4 graf-after--li">7. Market and Community</h4><p name="2c97" class="graf graf--p graf-after--h4">Having a dynamic ecosystem is something worth being thankful for&#8202;—&#8202;but it matters how popular is an option? Let’s see:</p><p name="db93" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">React Native:</strong> React Native is the king when it comes to market and community recognition. The network of its developers is quickly growing and as of now has many experienced React Native Engineers. This makes it easy to kick start a React project. It utilizes an amazingly popular library (React) and the most essential web development language (JavaScript) and provides real native applications. These qualities make it a strong platform and are the reasons behind its fame.</p><p name="97a1" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">Ionic:</strong> It is the second most popular framework after React. It empowers developers to build native mobile apps in the fastest possible way. Ionic has a huge community support, as well as a <a href="https://market.ionicframework.com"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">great marketplace</a> where you can find a lot of starters and templates to jump start any app from <a href="https://market.ionicframework.com/starters/taxi-booking-complete-platform-ionic-4"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">Uber</a> to <a href="https://market.ionicframework.com/starters/ionic-4-spotify-pwa-and-app-starter"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">Spotify</a>.</p><p name="00d2" class="graf graf--p graf-after--p">Here is how you can rank these frameworks based on their industry recognition and reliability:</p><ol class="postList"><li name="07b8" class="graf graf--li graf-after--p">React Native</li><li name="d644" class="graf graf--li graf-after--li">Ionic</li></ol><h4 name="1e6d" class="graf graf--h4 graf-after--li">8. Accessing Native Device&nbsp;Features</h4><p name="15d8" class="graf graf--p graf-after--h4">Your mobile apps most likely need access to some native device feature like the camera or GPS. How easy is it to get that access? And how easy is it for relatively new features (e.g. AR APIs provided by Android/ iOS)?</p><p name="48ba" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">Ionic:</strong> Ionic uses Cordova or its own solution, Capacitor, to give you access to native device features. It provides a <a href="https://ionicframework.com/docs/native/"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">very decent set of packages</a> to access common native device functionalities like the camera. You can also write your own wrappers around native functionalities and then include them in your code of course. Also, Ionic/Cordova and/or Angular plugins are very stable, and update readily with platform updates.</p><p name="200d" class="graf graf--p graf-after--p is-selected"><strong class="markup--strong markup--p-strong">React Native:</strong> Being the most popular solution, you find a rich set of third-party packages as well as some built-in APIs for accessing native platform functionalities. Relying on third-party packages (which you mostly have to do) of course has the disadvantage that the core maintainers of that package might quit, hence the support is not on the same level as it is with Ionic or NativeScript.</p><p name="affb" class="graf graf--p graf-after--p">Here is how you can rank these frameworks based on the Accessing Native Device Features&nbsp;:</p><ol class="postList"><li name="917e" class="graf graf--li graf-after--p">React Native</li><li name="4869" class="graf graf--li graf-after--li">Ionic</li></ol><h4 name="559a" class="graf graf--h4 graf-after--li">9. Supported Platforms</h4><p name="a0ee" class="graf graf--p graf-after--h4"><strong class="markup--strong markup--p-strong">React Native:</strong> Android 4.1+&nbsp;, iOS 8+</p><p name="661a" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">Ionic:</strong> Android 4.4+&nbsp;, iOS 8+&nbsp;, Windows 10</p><h4 name="9bca" class="graf graf--h4 graf-after--p">10. Popular&nbsp;Apps</h4><p name="17e5" class="graf graf--p graf-after--h4"><strong class="markup--strong markup--p-strong">React Native:</strong> Facebook, Instagram, UberEats, Airbnb (they later removed RN from usage. Read More here&#8202;—&#8202;<a href="https://softwareengineeringdaily.com/2018/09/24/show-summary-react-native-at-airbnb/"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">Why Airbnb left React Native</a>)</p><p name="6672" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">Ionic:</strong> JustWatch, Pacifica, Nationwide and many more.</p><h4 name="d719" class="graf graf--h4 graf-after--p">11. Pricing</h4><p name="deeb" class="graf graf--p graf-after--h4"><strong class="markup--strong markup--p-strong">React Native:</strong> Completely open-source frameworks. Engineers can utilize this system and their libraries for free.</p><p name="d739" class="graf graf--p graf-after--p"><strong class="markup--strong markup--p-strong">Ionic:</strong> It is a free open source framework for developing cross-platform mobile applications. But, the organization offers its Pro Development Environment which is paid. The company guarantees that Ionic Pro accelerates the development process.</p><h4 name="424a" class="graf graf--h4 graf-after--p">12. Maintainability</h4><p name="0676" class="graf graf--p graf-after--h4">With React native any 3rd party library that you might use could get outdated or become incompatible with your updated codebase. Hence, maintainability remains a big issue.</p><p name="1b83" class="graf graf--p graf-after--p">As opposed to React native, you would only require maintaining one single app in Ionic(you had to maintain iOS and Android builds in React native).</p><p name="834a" class="graf graf--p graf-after--p">However, the biggest challenge with the maintainability of Ionic apps is that the framework itself is undergoing continuous changes with frequent release cycles on Ionic and Cordova.</p><h3 name="a168" class="graf graf--h3 graf-after--p">Conclusion</h3><p name="8431" class="graf graf--p graf-after--h3">If it requires you to deliver high performing apps which are closed in giving the native performance of users, then React Native will be the best option for you. On the other hand, if your project requirement allows you to deliver a decent performing app which looks like native to users then you can always go with the Ionic framework. It all depends on the project requirement. In case of any further questions, feel free to comment or get in touch.</p><h3 name="ded5" class="graf graf--h3 graf-after--p">Next Steps</h3><p name="178a" class="graf graf--p graf-after--h3">Now that you have learned the major differences between Ionic framework and React Native for mobile app development, you can consider going through some of the topics below:</p><ul class="postList"><li name="bf8d" class="graf graf--li graf-after--p">How To in React Native&#8202;—&#8202;<a href="https://enappd.com/blog/pick-images-from-camera-gallery-in-react-native-app/78"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Image picker</a>| <a href="https://enappd.com/blog/intergrate-firebase-in-react-native-app/73"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Integrate Firebase</a> | <a href="https://enappd.com/blog/react-native-firebase-crud-image-upload-and-phone-authentication/86"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Push notifications</a> | <a href="https://enappd.com/blog/geolocation-geocoding-react-native-apps/84"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Geolocation</a> | <a href="https://enappd.com/blog/react-native-life-cycle-hooks/79"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Life cycle hooks</a></li><li name="fc97" class="graf graf--li graf-after--li">How To in Ionic&#8202;—&#8202;<a href="https://enappd.com/blog/image-picker-in-ionic-4-app/67/"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Image picker</a>| <a href="https://enappd.com/blog/how-to-integrate-firebase-in-ionic-4-apps/23/"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Integrate Firebase</a> | <a href="https://enappd.com/blog/implement-ionic-4-firebase-push/34/"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Push notifications</a> | <a href="https://enappd.com/blog/using-geolocation-geocoding-and-reverse-geocoding-in-ionic-4/45/"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Geolocation</a> | <a href="https://enappd.com/blog/adding-video-player-in-ionic-4-app/64/"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Video Player</a>| <a href="https://enappd.com/blog/rtl-right-to-left-use-in-ionic-4/50/"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">RTL</a></li><li name="8db9" class="graf graf--li graf-after--li"><a href="https://enappd.com/blog/guide-on-react-native-full-app/53"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Create Awesome Apps in React Native</a> using Full App</li><li name="5a55" class="graf graf--li graf-after--li"><a href="http://enappd.com/blog/ionic-4-full-app-how-to-make-ionic-4-apps-from-the-super-template/14/"  class="markup--anchor markup--li-anchor" rel="noopener"    target="_blank">Create Awesome Apps in</a> IONIC 4 using Full App</li></ul><p name="2930" class="graf graf--p graf-after--li">If you need a base to start your next Ionic 4 app, you can make your next awesome app using <a href="https://store.enappd.com/product/ionic-4-full-app/"  class="markup--anchor markup--p-anchor" rel="noopener nofollow noopener noopener nofollow noopener noopener nofollow noopener noopener noopener noopener noopener noopener noopener"    target="_blank">Ionic 4 Full App</a></p><figure tabindex="0" contenteditable="false" name="89dc" class="graf graf--figure graf-after--p is-defaultValue"><div class="aspectRatioPlaceholder is-locked" style="max-width: 700px; max-height: 442px;"><div class="aspectRatioPlaceholder-fill" style="padding-bottom: 63.2%;"></div><img class="graf-image" data-image-id="1*2BzL8TesnBHuazHr3VA4SQ.jpeg" data-width="760" data-height="480" src="https://cdn-images-1.medium.com/max/800/1*2BzL8TesnBHuazHr3VA4SQ.jpeg"><div class="crosshair u-ignoreBlock"></div></div></figure><p name="ec91" class="graf graf--p graf-after--figure">If you need a base to start your next React Native app, you can make your next awesome app using <a href="https://store.enappd.com/product/react-native-full-app/"  class="markup--anchor markup--p-anchor" rel="noopener"    target="_blank">React Native Full App</a></p><figure tabindex="0" contenteditable="false" name="e4d4" class="graf graf--figure graf-after--p is-defaultValue"><div class="aspectRatioPlaceholder is-locked" style="max-width: 700px; max-height: 700px;"><div class="aspectRatioPlaceholder-fill" style="padding-bottom: 100%;"></div><img class="graf-image" data-image-id="1*sWyEeAfCMk7ULOkLUCdSug.jpeg" data-width="800" data-height="800" src="https://cdn-images-1.medium.com/max/800/1*sWyEeAfCMk7ULOkLUCdSug.jpeg"><div class="crosshair u-ignoreBlock"></div></div></figure><p name="0496" class="graf graf--p graf--empty graf-after--figure graf--trailing"><br></p></div></div></section></div></article></main>