<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Purvak Pathak</title>
    <description>The latest articles on DEV Community by Purvak Pathak (@purvak_pathak).</description>
    <link>https://dev.to/purvak_pathak</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F47122%2Fa994be61-8997-477f-a124-bc79eeb8c0b9.jpg</url>
      <title>DEV Community: Purvak Pathak</title>
      <link>https://dev.to/purvak_pathak</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/purvak_pathak"/>
    <language>en</language>
    <item>
      <title>Which Database should you choose for Your React Native Application?</title>
      <dc:creator>Purvak Pathak</dc:creator>
      <pubDate>Wed, 20 Dec 2017 13:29:58 +0000</pubDate>
      <link>https://dev.to/purvak_pathak/the-database-selection-guide-for-react-native-3kfm</link>
      <guid>https://dev.to/purvak_pathak/the-database-selection-guide-for-react-native-3kfm</guid>
      <description>

&lt;p&gt;As of 2017, developers are more inclined towards Xamarin, and React Native to build their cross-platform applications. &lt;/p&gt;

&lt;p&gt;Despite the fact that Xamarin is more enterprise friendly with its test cloud, IDE, analytics, and Microsoft integrations, React Native is getting immensely popular in the developer community.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7SIPPZaU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/caoybvm34ovae5dy6mve.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7SIPPZaU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/caoybvm34ovae5dy6mve.png" alt="See how React Native Performs against Xamarin"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Many big organisations have used React Native with the right technology stack to build high performing applications. You can too!&lt;/p&gt;

&lt;p&gt;In a right technology stack, you need:&lt;/p&gt;

&lt;h4&gt;
  
  
  A Back-end framework
&lt;/h4&gt;

&lt;p&gt;See these guides to select your preferred backend: &lt;a href="https://medium.com/differential/why-meteor-is-the-perfect-backend-for-react-native-4c8a776726c2"&gt;Meteor Guide&lt;/a&gt;, and &lt;a href="https://medium.baqend.com/a-backend-for-your-react-and-react-native-apps-baqend-react-starters-337d47200ec"&gt;Backend for React Native&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Libraries
&lt;/h4&gt;

&lt;p&gt;I would recommend checking out this - &lt;a href="https://codingislove.com/top-15-react-native-libraries"&gt;Top 15 libraries for React Native&lt;/a&gt; Also, some other useful libraries related to &lt;a href="https://blog.codeinfuse.com/9-libraries-to-consider-for-your-next-react-native-project-723f179d4764"&gt;analytics, push notification and so on&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Database
&lt;/h4&gt;

&lt;p&gt;You need to select a database which offers offline synchronization, reliable performance, security, and better integration with other stacks.&lt;/p&gt;

&lt;p&gt;In this article, we will explore about selecting the right &lt;a href="https://www.simform.com/react-native-database-selection-guide"&gt;database for your React Native Application&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you search around web, you will find developers are using these major databases for React Native. Such as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Realm&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;2. Firebase&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;3. SQLite&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;4. Core Data&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;5. PouchDB&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;6. Async Storage&lt;/strong&gt;(not a full scale database, but still quite popular)&lt;/p&gt;

&lt;h3&gt;
  
  
  But, which Database is right for your React Native Application?
&lt;/h3&gt;

&lt;p&gt;To make the unbiased comparison, we are taking many development factors, and application features into consideration.&lt;/p&gt;

&lt;p&gt;For Instance:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offline-first&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Does it supports offline feature in the app? How does it handle synchronisations and conflict across multiple devices?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database security&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Does it supports AES 256 level of encryption and decryption? Would I be able to implement a secure authentication?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;App performance&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To evaluate the performance, we took many factors like read/write speed, zero copy design, storage engine, and how does it handle concurrency control?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Industry regulations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Large organisations have to adhere to industry regulations and compliances in order to deploy their application securely. Learn which databases comply with regulations, and which don't.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supported file and data types&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We explored the data types(Bool, Int, Int8, Int16, Int32, Int64), and file types(images, videos), which are supported by these databases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Some databases are open source and free to use like SQLite, and PouchDB. But, databases like Realm, and Firebase charge for their additional features. Find out how database pricing stacks up to your needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real time sync&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For Streaming, and gaming applications, Real Time Sync is crucial. Learn which database is more suitable when you need to sync the data in real time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compatibility with third party libraries, and Native modules.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are tons of third party libraries available for React Native to customise the application for a more richer experience. Find out which database provides more flexibility to build your app.&lt;/p&gt;

&lt;p&gt;There are many other development factors, which I evaluated, and made this &lt;a href="https://www.simform.com/react-native-database-selection-guide"&gt;comprehensive guide&lt;/a&gt; to help you select the right database.&lt;/p&gt;


</description>
      <category>reactnative</category>
      <category>database</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Solving Over 35 performance Issues in React Native</title>
      <dc:creator>Purvak Pathak</dc:creator>
      <pubDate>Tue, 28 Nov 2017 14:12:49 +0000</pubDate>
      <link>https://dev.to/purvak_pathak/react-native-performance-issues-and-insights-on-improving-it-b39</link>
      <guid>https://dev.to/purvak_pathak/react-native-performance-issues-and-insights-on-improving-it-b39</guid>
      <description>&lt;p&gt;React Native lets you build mobile application with its declarative programming model, and that makes React Native awesome. &lt;/p&gt;

&lt;p&gt;but often people complain a lot of performance issues. Most of the time, these issues can be easily resolved though. &lt;/p&gt;

&lt;p&gt;We did an analysis, and handpicked some common &lt;a href="https://www.simform.com/react-native-app-performance/"&gt;React Native performance issues&lt;/a&gt; which you should know before starting with React Native. Like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Memory leakage in React Native&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s a common issues for applications with a lot of unnecessary background process running in the background&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Javascript threads, and heavy CPU usage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;React Native applications have multiple threads which are interconnected. The native thread has to be in sync with the Javascript thread. While synchronisation, the large objects creates heavy usage on the CPU.&lt;/p&gt;

&lt;p&gt;Learn its impact on your application, and how to reduce the CPU usage and improve the performance.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Application size&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Applications rely on third party libraries, API, and other sources to operate. These resources need to be optimised in order to minimise the size of your application. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Issues in Navigation components&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Almost 9 out of 10 developers complain about performance issues when they implement navigation components. Learn more about the issue and how to improve it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Slow app launch time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are number of factors which impacts the app launch time, and it’s a continuous cycle to minimizing the dependencies and improving the overall performance.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Device orientation changes &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sometimes the application freezes when you change the orientation i.e. from landscape to portrait. See what affects the application and how to solve the issue.&lt;/p&gt;

&lt;p&gt;And so many other issues like: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Issues while animating the image size for different UI view&lt;/li&gt;
&lt;li&gt;Lack of multithreading support&lt;/li&gt;
&lt;li&gt;Issues with infinite scrolling&lt;/li&gt;
&lt;li&gt;Image caching and optimisation&lt;/li&gt;
&lt;li&gt;Issues with image placeholders&lt;/li&gt;
&lt;li&gt;Issues while using third party libraries&lt;/li&gt;
&lt;li&gt;Map optimisation issues&lt;/li&gt;
&lt;li&gt;API JSON data optimisation&lt;/li&gt;
&lt;li&gt;Frozen UI&lt;/li&gt;
&lt;li&gt;Working with animations&lt;/li&gt;
&lt;li&gt;Slow app response for keyword popups.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I have made an extensive analysis of these issues(over 35) and have put together insights on improving it.&lt;/p&gt;




&lt;p&gt;You can read a more comprehensive version of this post that goes into extreme details here &lt;a href="https://www.simform.com/react-native-app-performance"&gt;React Native Performance issues&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Feel free to share your thoughts and &lt;a href="//mailto:purvak@simform.com"&gt;reach me&lt;/a&gt; if you have any questions.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
