<?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: Yonatan Kawo</title>
    <description>The latest articles on DEV Community by Yonatan Kawo (@yonatankawo).</description>
    <link>https://dev.to/yonatankawo</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%2F660532%2F81e1bf38-e933-439f-aac0-8a1825a751e7.png</url>
      <title>DEV Community: Yonatan Kawo</title>
      <link>https://dev.to/yonatankawo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yonatankawo"/>
    <language>en</language>
    <item>
      <title> JavaScript vs React Fundamentals</title>
      <dc:creator>Yonatan Kawo</dc:creator>
      <pubDate>Thu, 04 Nov 2021 16:46:56 +0000</pubDate>
      <link>https://dev.to/yonatankawo/the-fundamental-of-javascript-vs-react-2b8g</link>
      <guid>https://dev.to/yonatankawo/the-fundamental-of-javascript-vs-react-2b8g</guid>
      <description>&lt;p&gt;I recently completed a React Portfolio project and thought it would be fantastic to share my journey with the rest of the world.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Basic JavaScript Concepts&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;My initial project was JavaScript(JS)-based, and it should be considered garbage in the world of web developers. At the time, I thought I had mastered the frontend web development by creating a simple &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript"&gt;JS&lt;/a&gt; app. Friends, that's an example of "a little knowledge is dangerous" and please do not be this guy :).&lt;/p&gt;

&lt;p&gt;Anyway, what are some of the fundamental JavaScript concepts that every programmer should understand? The next stage of web development would be incredibly difficult without a thorough knowledge of these &lt;a href="https://www.geeksforgeeks.org/7-javascript-concepts-that-every-developer-must-know/"&gt;fundeamentals&lt;/a&gt;. So, the followings are the basics of JS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Variables&lt;/li&gt;
&lt;li&gt;Comparisons&lt;/li&gt;
&lt;li&gt;Logical Operators &lt;/li&gt;
&lt;li&gt;Functions(callback function)&lt;/li&gt;
&lt;li&gt;Data Structures &amp;amp; Types&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note 1:&lt;/strong&gt; I cannot emphasize enough the importance of networking and participating in various web development communities in order to enhance one's coding skills - a lesson I learnt the hard way.&lt;br&gt;
&lt;strong&gt;Note 2:&lt;/strong&gt; Understanding &lt;a href="http://git-scm.com/book/en/v2/Getting-Started-A-Short-History-of-Git"&gt;GIT&lt;/a&gt; and &lt;a href="https://docs.github.com/en/get-started/using-git/about-git#how-github-works"&gt;GITHUB&lt;/a&gt; as well as learning programming languages, go hand in hand.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Basic React Concepts&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I didn't appreciate the significance of JS core concepts until I began working with &lt;a href="https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_getting_started"&gt;React&lt;/a&gt;, the next stage of frontend web development. At a high level, I picture JS being the backbone of React just as HTML is for JS. &lt;/p&gt;

&lt;p&gt;Similarly, in order to have a solid understanding of React's essential notions, one must be familiar with the following &lt;a href="https://reactjs.org/docs/introducing-jsx.html"&gt;core concepts&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JSX(JavaScript XML)&lt;/li&gt;
&lt;li&gt;React Elements&lt;/li&gt;
&lt;li&gt;Components &amp;amp; Props&lt;/li&gt;
&lt;li&gt;State &amp;amp; Lifecycle&lt;/li&gt;
&lt;li&gt;Handling Events&lt;/li&gt;
&lt;li&gt;Conditional endering&lt;/li&gt;
&lt;li&gt;Lists &amp;amp; Keys&lt;/li&gt;
&lt;li&gt;Forms&lt;/li&gt;
&lt;li&gt;React-router&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finally, if you feel you have completed React, you should be able to explain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The difference between React and plain JS &lt;/li&gt;
&lt;li&gt;Types of React hooks&lt;/li&gt;
&lt;li&gt;How to modify React State hooks&lt;/li&gt;
&lt;li&gt;The three ways to use React useEffects&lt;/li&gt;
&lt;li&gt;The difference between Props and States&lt;/li&gt;
&lt;li&gt;The difference between HTML DOM(Document Object Model) &amp;amp; 
 Virtual DOM&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If I could start over my programming journey, I'd start with HTML(HyperText Markup Language) and CSS(Cascading Style Sheets), then go on to JavaScript. Before diving into React, I'd make sure I understand the connection and interdependencies between HTML, CSS, and JavaScript. More importantly, I won't start React if I'm not comfortable with JavaScript.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why Software Engineering?</title>
      <dc:creator>Yonatan Kawo</dc:creator>
      <pubDate>Sat, 03 Jul 2021 04:55:02 +0000</pubDate>
      <link>https://dev.to/yonatankawo/why-i-decide-to-learn-software-engineering-cch</link>
      <guid>https://dev.to/yonatankawo/why-i-decide-to-learn-software-engineering-cch</guid>
      <description>&lt;p&gt;I'm a systems engineer with a background in electrical engineering. You may be aware of that systems engineers are typically work as part of multidisciplinary teams; the great majority of Systems Engineers collaborate closely with a Software Engineer. So, how can we communicate if we don't speak the same language (programming)? &lt;/p&gt;

&lt;p&gt;Speaking of languages, I can speak three, English and two others.  I've been asked how I acquired various languages, and my answer is always the same: you don't learn languages in school or via instruction; you learn from the community through engagement. &lt;/p&gt;

&lt;p&gt;Now, as a member of engineering community, I've decided to learn software engineering so that I can communicate in their language. We can bridge the skill gap between the two engineering desciplines by speaking the same language.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>startup</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
