<?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>Forem: Suhel Hasan 🚀</title>
    <description>The latest articles on Forem by Suhel Hasan 🚀 (@suhelhasan).</description>
    <link>https://forem.com/suhelhasan</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%2F203834%2F967027c6-54d3-4d72-a0f3-0e59651e2f01.jpg</url>
      <title>Forem: Suhel Hasan 🚀</title>
      <link>https://forem.com/suhelhasan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/suhelhasan"/>
    <language>en</language>
    <item>
      <title>React Native installation with EXPO CLI</title>
      <dc:creator>Suhel Hasan 🚀</dc:creator>
      <pubDate>Sat, 08 Aug 2020 18:49:53 +0000</pubDate>
      <link>https://forem.com/suhelhasan/react-native-installation-expo-way-m75</link>
      <guid>https://forem.com/suhelhasan/react-native-installation-expo-way-m75</guid>
      <description>&lt;p&gt;If you are new to mobile development, the easiest way to get started is with &lt;strong&gt;Expo CLI&lt;/strong&gt;.&lt;br&gt;
It is a very easy process, just follow the steps below one by one.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/3ohhwhLRprHtEWzi1O/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/3ohhwhLRprHtEWzi1O/giphy.gif" alt="GIF"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Software requirement:
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;Node.js (&lt;a href="https://nodejs.org/en/"&gt;download&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  NPM to install the Expo CLI:
&lt;/h4&gt;

&lt;p&gt;Now we can use npm(comes default with Node.js) to install the Expo CLI&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open your terminal(run as administrator) and type the following command
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; npm install -g expo-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;it will take a little bit of time to install EXPO CLI in your system globally.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Then run the following commands one-by-one to create a new React Native project called "MyProject":
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; expo init MyProject

 cd MyProject

 npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will start a development server for you&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Running your React Native application&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Install the &lt;a href="https://play.google.com/store/apps/details?id=host.exp.exponent&amp;amp;hl=en_IN"&gt;Expo&lt;/a&gt; client app on your iOS or Android phone and connect to the same wireless network as your computer. On Android, use the Expo app to scan the QR code from your terminal to open your project. On iOS, use the built-in QR code scanner of the Camera app.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Modifying your app&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that you have successfully run the app, let's modify it. Open &lt;strong&gt;App.js&lt;/strong&gt; in your text editor of choice and edit some lines. The application should reload automatically once you save your changes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;That's it!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Congratulations!&lt;/strong&gt; You've successfully run and modified your first React Native app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/xT0xezQGU5xCDJuCPe/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/xT0xezQGU5xCDJuCPe/giphy.gif" alt="GIF"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  References:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://reactnative.dev/"&gt;React Native&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.expo.io/"&gt;Expo&lt;/a&gt;&lt;br&gt;
&lt;a href="https://nodejs.org/"&gt;Node JS&lt;/a&gt;&lt;br&gt;
&lt;a href="http://npmjs.com/"&gt;NPM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hope you have enjoyed this and gain something from it. Waiting for your feedback. ✔&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Follow me on Twitter — &lt;a href="https://twitter.com/javascript_bug"&gt;@javascript_bug&lt;/a&gt; to check out my other cool posts.&lt;/p&gt;

&lt;p&gt;Happy Coding! 💻 😀&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>react</category>
      <category>javascript</category>
      <category>expo</category>
    </item>
    <item>
      <title>JavaScript Modules, A Beginner’s Guide</title>
      <dc:creator>Suhel Hasan 🚀</dc:creator>
      <pubDate>Tue, 21 Jul 2020 07:51:33 +0000</pubDate>
      <link>https://forem.com/suhelhasan/javascript-modules-a-beginner-s-guide-3nlg</link>
      <guid>https://forem.com/suhelhasan/javascript-modules-a-beginner-s-guide-3nlg</guid>
      <description>&lt;p&gt;So you are thinking about what is Module &amp;amp; what it does?&lt;br&gt;
Here’s the answer…. If you have a complex app and you have to scroll through hundreds or thousands of lines of code, then the job of debugging or just understanding the app becomes very much harder. Javascript helps us out with this by having ‘imports’ and ‘exports’.&lt;br&gt;
It basically means that the sharing of code between multiple files. A ‘module’ in Javascript can be thought of as a container that holds related code which can then be exported to another file.&lt;/p&gt;

&lt;h2&gt;
  
  
  It basically has two main keywords :
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;export&lt;/em&gt; : keyword labels variables and functions that should be accessible from outside the current module.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;import&lt;/em&gt; : keyword allows the import of functionality(variables and functions) from other modules.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Benefits of using modules
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Maintainability:&lt;/strong&gt; A well-designed module aims to lessen the dependencies on parts of the codebase as much as possible so that it can grow and improve independently.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reusability:&lt;/strong&gt; In programming, reusable code is the use of a similar code in multiple functions. No, not by copying and then pasting the same code from one block to another and from there to another and so on. Instead, code reusability defines the methodology you can use to use similar code, without having to re-write it everywhere.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Modules in Practice
&lt;/h2&gt;

&lt;p&gt;With the help of Modules, we can use the features of one file into another file. Suppose you have two JavaScript files &amp;amp; you have to import and export variables &amp;amp; functions between them.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Importing/Exporting the Single Variable:
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;File-one: exporting the variable to file-two&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qgN01CmM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/543/1%2AZN7H1BfCxExDAj9cDzk8tg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qgN01CmM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/543/1%2AZN7H1BfCxExDAj9cDzk8tg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;File-two: importing the variable from file-one&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DTTImP29--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/516/1%2AWTNTGF6f_906cwdl3-iUhw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DTTImP29--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/516/1%2AWTNTGF6f_906cwdl3-iUhw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Importing/Exporting multiple Variables or Functions:
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;File-one: exporting multiple variables or functions to file-two&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rYu5j518--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/700/1%2A7E4JnwC01yIPW_cJ_E9Inw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rYu5j518--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/700/1%2A7E4JnwC01yIPW_cJ_E9Inw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;File-two: importing multiple variables or functions from file-one&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4kzxGB7B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/573/1%2A9EUtEnJfPh2ggdnUeSgawQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4kzxGB7B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/573/1%2A9EUtEnJfPh2ggdnUeSgawQ.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Importing/Exporting Default value(it should be single):
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;File-one: exporting Default variable or function to file-two&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wAOtP4be--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/596/1%2ApmhjvWfaiRMJzOZjbu_J1g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wAOtP4be--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/596/1%2ApmhjvWfaiRMJzOZjbu_J1g.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;File-two: importing Default variable or function from file-one&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--H4INMPRR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/447/1%2A-P9dLy16h6PHKYJ6-SvNIw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--H4INMPRR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/447/1%2A-P9dLy16h6PHKYJ6-SvNIw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Importing everything (*) at once:
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;File one: exporting multiple variables or functions to file-two&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QbjHYtUQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/700/1%2Awml_JIYHWkuTujSQU5NhwQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QbjHYtUQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/700/1%2Awml_JIYHWkuTujSQU5NhwQ.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;File-two: importing everything from file-one at once(here * denotes everything)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PpmMvMw3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/608/1%2A3vcCWWhb39pCdElNAcQItQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PpmMvMw3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/608/1%2A3vcCWWhb39pCdElNAcQItQ.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Importing /Exporting with an alias(another name):
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;File-one: We can give aliases to exported members with the 'as' keyword&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yLm1VjVm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/509/1%2AAzf6SI9C4f0hEUu_ifbD5Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yLm1VjVm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/509/1%2AAzf6SI9C4f0hEUu_ifbD5Q.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;File-two: We can also give aliases to imported members with the 'as' keyword&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Joy2dVWt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/641/1%2Aqw5gqLsD2b2TR70f5ZCEXw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Joy2dVWt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/641/1%2Aqw5gqLsD2b2TR70f5ZCEXw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  So, This is the basic introduction of JavaScript Modules. I hope I am able to make some of your points clear.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Hope you have enjoyed this and gain something from it. Waiting for your feedback. ✔&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Follow me on Twitter — &lt;a href="https://twitter.com/javascript_bug"&gt;@javascript_bug&lt;/a&gt; to check out my other cool posts.&lt;/p&gt;

&lt;p&gt;Happy Coding! 💻 😀&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>node</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
