<?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: Natalia </title>
    <description>The latest articles on DEV Community by Natalia  (@onatalia).</description>
    <link>https://dev.to/onatalia</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%2F483893%2F66de0e6b-0b26-4b8d-be55-4453daef65a8.png</url>
      <title>DEV Community: Natalia </title>
      <link>https://dev.to/onatalia</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/onatalia"/>
    <language>en</language>
    <item>
      <title>Some Redux core concepts and their responsibilities</title>
      <dc:creator>Natalia </dc:creator>
      <pubDate>Thu, 17 Feb 2022 04:53:46 +0000</pubDate>
      <link>https://dev.to/onatalia/some-redux-core-concepts-and-their-responsibilities-26pk</link>
      <guid>https://dev.to/onatalia/some-redux-core-concepts-and-their-responsibilities-26pk</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbhqkui1v18gz2cjumw76.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbhqkui1v18gz2cjumw76.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi, in the Redux world, I only change thanks to a reducer. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Furn5onlg3iad6ikvjn4p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Furn5onlg3iad6ikvjn4p.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpilblumvrw2cyx7feycz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpilblumvrw2cyx7feycz.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Howdy, I am in charge of communicating what needs to be done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6xs0cns96yp76ezmkkf0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6xs0cns96yp76ezmkkf0.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1wkbvcpsucp9r4y50sa2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1wkbvcpsucp9r4y50sa2.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Greetings, I am in charge of transforming the state as per an action request.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj3qob6qed6d6i5wghkas.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj3qob6qed6d6i5wghkas.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb0v6en7rz39pqf5w8jdq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb0v6en7rz39pqf5w8jdq.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey, I am in charge of delivering the actions' messages to the reducers &lt;/p&gt;

</description>
      <category>redux</category>
      <category>react</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Prototypes vs Traditional Classes</title>
      <dc:creator>Natalia </dc:creator>
      <pubDate>Mon, 21 Jun 2021 14:26:21 +0000</pubDate>
      <link>https://dev.to/onatalia/classes-vs-prototypes-6m1</link>
      <guid>https://dev.to/onatalia/classes-vs-prototypes-6m1</guid>
      <description>&lt;p&gt;The difference between &lt;strong&gt;classes vs prototypes is a common question among Javascript devs&lt;/strong&gt; and from experience I can say it’s really hard to understand especially if you have only known programming through the lens of JS. &lt;/p&gt;

&lt;p&gt;But I think I found a simple way to put this in simple words. Let me know what you think. &lt;/p&gt;

&lt;p&gt;I want to start by clarifying that Javascript is a &lt;strong&gt;language based on prototypes&lt;/strong&gt; which is a design pattern. I haven’t read an explanation making this connection before or menting this pattern when clearing up what it’s a prototype, so I thought it was worth meaning it. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you haven’t heard of design patterns, I recommend you to start checking them out. Basically it’s a standardized pack of solutions for common programming problems. And if you are a Javascript developer definitely take a look at the prototype pattern.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;With this pattern you can create a &lt;strong&gt;clone&lt;/strong&gt; of an existing object without being dependent on its class. This may not sound like a big deal for a Javascript developer, but this is not the default behavior in object-oriented languages like Java, in which you can’t create objects out of nowhere by just opening and closing curly brackets; you must create a class to be able to create an object. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;You can always implement a prototype design in Java, but the entire language wasn’t built upon it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So we fall back into the question, what’s the difference between traditional classes (like the ones you found in languages like Java) and the prototypes you found in Javascript?  &lt;/p&gt;

&lt;p&gt;As a Javascript developer myself, I came up with this analogy to help my brain solidify the idea:   &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;With prototypes you are creating clones, with traditional classes you are given birth. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The cloned objects are also able to clone themself, so the design is not based on creating a blueprint responsible for constructing objects, but in &lt;strong&gt;objects able to copy and paste themself.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;With the arrival of “classes” in Javascript, this concept was harder to understand, &lt;strong&gt;they look like classes, so they must be classes right?&lt;/strong&gt;....well not quite the case, they are just a different way to write prototype objects, underneath they are nothing like the traditional classes.&lt;/p&gt;

&lt;p&gt;Let me know what you think, is this a good way to explain the difference? &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>oop</category>
    </item>
  </channel>
</rss>
