<?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: Enie</title>
    <description>The latest articles on DEV Community by Enie (@enie).</description>
    <link>https://dev.to/enie</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%2F1976058%2F59ab122a-73b0-4d7e-a072-8420ecc1a876.gif</url>
      <title>DEV Community: Enie</title>
      <link>https://dev.to/enie</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/enie"/>
    <language>en</language>
    <item>
      <title>React Native__Week 1: Foundation &amp; Basics</title>
      <dc:creator>Enie</dc:creator>
      <pubDate>Sun, 25 Aug 2024 11:15:12 +0000</pubDate>
      <link>https://dev.to/enie/react-nativeweek-1-foundation-basics-3lfc</link>
      <guid>https://dev.to/enie/react-nativeweek-1-foundation-basics-3lfc</guid>
      <description>&lt;p&gt;What you need to know on this week?&lt;/p&gt;

&lt;p&gt;The first week is all about laying the groundwork. You need a strong foundation in JavaScript because React Native is built on it. Let’s break down what you should focus on:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 1-3: JavaScript Essentials&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ES6+ Syntax&lt;/strong&gt;: This is the modern version of JavaScript, and React Native heavily uses these features. Here are the key concepts you should grasp:&lt;br&gt;
Arrow Functions: These are a more concise way to write functions. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const add = (a, b) =&amp;gt; a + b;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Destructuring&lt;/strong&gt;: This allows you to unpack values from arrays or properties from objects into distinct variables. Like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const person = { name: 'John', age: 30 };
const { name, age } = person;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Async/Await&lt;/strong&gt;: This helps you write asynchronous code that’s easier to read and write. Instead of dealing with callbacks or .then chains, you can use await to pause the function until a promise is resolved:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const fetchData = async () =&amp;gt; {
  const response = await fetch('https://api.example.com/data');
  const data = await response.json();
  console.log(data);
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Yeah, that’s a solid starting point. Remember, understanding these concepts is crucial because they’re used everywhere in React Native. When you move on to React itself, it will make things much smoother.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 4-7: React Fundamentals&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Components&lt;/strong&gt;: In React, everything is a component. A component is essentially a piece of UI, which could be as simple as a button or as complex as an entire page.&lt;br&gt;
Functional Components: These are the most common in modern React. They’re simple functions that return JSX (JavaScript XML), which looks like HTML but with the power of JavaScript:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const Greeting = () =&amp;gt; &amp;lt;Text&amp;gt;Hello, World!&amp;lt;/Text&amp;gt;;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Props&lt;/strong&gt;: Short for “properties,” props are how you pass data to components. They make components reusable by allowing you to customize them:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const Greeting = ({ name }) =&amp;gt; &amp;lt;Text&amp;gt;Hello, {name}!&amp;lt;/Text&amp;gt;;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;State&lt;/strong&gt;: State is how you manage data that changes over time within a component. For instance, a counter component might have a state variable to track the count:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const Counter = () =&amp;gt; {
  const [count, setCount] = useState(0);
  return (
    &amp;lt;View&amp;gt;
      &amp;lt;Text&amp;gt;{count}&amp;lt;/Text&amp;gt;
      &amp;lt;Button onPress={() =&amp;gt; setCount(count + 1)} title="Increase" /&amp;gt;
    &amp;lt;/View&amp;gt;
  );
};

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Lifecycle Methods&lt;/strong&gt;: These are hooks that allow you to run code at specific points in a component's lifecycle, like when it mounts or updates. With functional components, you’ll mostly use hooks like useEffect:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;useEffect(() =&amp;gt; {
  console.log('Component mounted');
}, []);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By the end of this week, you should be comfortable enough with both JavaScript and React basics to start building simple apps, like a to-do list, to apply what you’ve learned. This sets you up nicely for more advanced topics in the coming weeks.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Continue is deep dive into each basic concept, You’ll thank yourself for knowing how to do basic arithmetic before tackling advanced math problems.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>reactnative</category>
    </item>
    <item>
      <title>A deep dive into react native - sharing my working experience</title>
      <dc:creator>Enie</dc:creator>
      <pubDate>Sun, 25 Aug 2024 11:00:45 +0000</pubDate>
      <link>https://dev.to/enie/a-deep-dive-into-react-native-sharing-my-working-experience-2ghm</link>
      <guid>https://dev.to/enie/a-deep-dive-into-react-native-sharing-my-working-experience-2ghm</guid>
      <description>&lt;p&gt;In this journey, lets set a deadline and a result for yourself if you really want to end something.&lt;/p&gt;

&lt;p&gt;It's a &lt;strong&gt;"How you master React native in 30 days?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Alright, mastering React Native in 30 days is ambitious, but definitely doable with the right plan (I don't even know what's next, just go with the flow). &lt;/p&gt;

&lt;p&gt;Ps: This involves my experience with working on projects and what I couldn't find on the internet as a part of my learning journey. I want to share it. (Many thanks to my Company and my dear Mentors).&lt;/p&gt;

&lt;p&gt;Here’s a roadmap to get you there:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 1: Foundation &amp;amp; Basics&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 1-3&lt;/strong&gt;: Start with the basics. Familiarize yourself with JavaScript (if you haven’t already) since React Native relies heavily on it. You should be comfortable with ES6+ syntax, including arrow functions, destructuring, and async/await.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 4-7&lt;/strong&gt;: Dive into React fundamentals. Understand components, props, state, and lifecycle methods. Practice by building simple components and a small project, like a to-do list app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 2: React Native Essentials&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 8-10&lt;/strong&gt;: Set up your React Native development environment using Expo for quick starts. Learn about the core components (e.g., View, Text, ScrollView) and how styling works with Flexbox.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 11-14&lt;/strong&gt;: Work on navigation (using React Navigation), handling user input, and using APIs. Build a simple app that fetches data from an API and displays it in a list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 3: Advanced Concepts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 15-17&lt;/strong&gt;: Explore state management with Redux or the Context API. Build an app that requires complex state management, like a shopping cart.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 18-21&lt;/strong&gt;: Learn about performance optimization, debugging, and testing in React Native. Get familiar with tools like Flipper for debugging and Jest for testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 4: Real-World Projects&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 22-25&lt;/strong&gt;: Start a full-fledged project, something like a social media app or a task manager. This should combine everything you’ve learned so far—navigation, API handling, state management, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 26-28&lt;/strong&gt;: Polish your app, focus on user experience, and add any missing features. Learn how to deploy the app on both Android and iOS platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 29-30&lt;/strong&gt;: Reflect on what you’ve built, review your code, and identify areas for improvement. Consider contributing to an open-source React Native project to test your skills in a real-world scenario.&lt;/p&gt;

&lt;p&gt;Yeah, that's the plan, but it's my plan. You can adjust it for yourself. But remember, 30 days can feel like a sprint, so it’s crucial to maintain your energy and focus.&lt;/p&gt;

&lt;p&gt;My only tip is to know what you want and want it - only that will lead you to your destiny.&lt;/p&gt;

&lt;p&gt;Imagine you want to go to your favorite beach which is a 5-hour drive away. You will not have your feet in the sand unless it's the only thing you want right now. Just like that, you will plan your time to get there.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Don't worry, follow the next article. I'll go with you.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>reactnative</category>
    </item>
  </channel>
</rss>
