<?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: KaRthick</title>
    <description>The latest articles on DEV Community by KaRthick (@karthick30).</description>
    <link>https://dev.to/karthick30</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%2F191519%2F46c78e6d-d9f8-4257-ac79-a2f9c2f37687.jpg</url>
      <title>DEV Community: KaRthick</title>
      <link>https://dev.to/karthick30</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/karthick30"/>
    <language>en</language>
    <item>
      <title>Common React performance mistakes 💣</title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Wed, 20 Oct 2021 13:04:15 +0000</pubDate>
      <link>https://dev.to/karthick30/common-react-performance-mistakes-ac4</link>
      <guid>https://dev.to/karthick30/common-react-performance-mistakes-ac4</guid>
      <description>&lt;p&gt;Performance optimisation is one of the challenges of a software developer. &lt;/p&gt;

&lt;p&gt;It is a big burden when you start to optimise the application after months | years of development. No other go actually we need to somehow visit the code back to optimising the application performance wise. &lt;/p&gt;

&lt;p&gt;But the burden can be minimized by following some performance optimization &amp;amp; best practices while writing the code.&lt;/p&gt;

&lt;p&gt;At the same time optimization is a "&lt;em&gt;two edged sword&lt;/em&gt;" . &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Performance-related changes applied incorrectly can even harm performance.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here I'll explain some things that I've seen and faced in react applications. &lt;/p&gt;

&lt;h1&gt;
  
  
  React.memo
&lt;/h1&gt;

&lt;p&gt;If you're using react, you'll be aware of this particular HOC. It is mainly used to memoize the whole component. &lt;br&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%2Fk9zqzks9rckjzitx2g23.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%2Fk9zqzks9rckjzitx2g23.png" alt="memozied children"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;this is a memoized child component that receives handleOnClick as the props . So as per the memoization logic this component should re-render only if any of the props changes rit ?? that's how &lt;strong&gt;React.memo&lt;/strong&gt; works but wait let's create a parent component and check. &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%2Fte9jeagj3a3mohy4x1la.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%2Fte9jeagj3a3mohy4x1la.png" alt="Parent memo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;perfect so during every onClick trigger in the child component parent state value changes but the props received in the child didn't change, so child component won't re-render since we memoized. &lt;/p&gt;

&lt;p&gt;But wait here's where the real issue comes in if you try the above code in any editor or there's a codesandbox below you can see that the &lt;strong&gt;React.memo&lt;/strong&gt; is broken!, child component will re-render for every state change even though the prop is same. &lt;/p&gt;

&lt;p&gt;Is something wrong with the &lt;strong&gt;React.memo&lt;/strong&gt; 🤯 ? &lt;/p&gt;

&lt;p&gt;Nope ! every time when the parent component re-renders a new instance of the &lt;em&gt;handleOnClick&lt;/em&gt; function is created. Hence is leads to break the memoization and re-renders the child component every time.&lt;/p&gt;

&lt;p&gt;So, If you just wrap the child component with &lt;strong&gt;React.memo&lt;/strong&gt; there's no assurance that I will just memoize and work.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;But cool hook useCallback can come in to help you out ! . Wrap the handleClick function inside the useCallback hook and try the same code &lt;strong&gt;React.memo&lt;/strong&gt; will just work as expected.&lt;/em&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%2Ftj1e2rkuyi1prfi8ibp4.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%2Ftj1e2rkuyi1prfi8ibp4.png" alt="callback wrapper"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;but the above one is also overratted I would say , will explain this why later in the article&lt;/em&gt;&lt;br&gt;
&lt;em&gt;play here&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/silly-microservice-hmxbd"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Don't use the &lt;strong&gt;React.memo&lt;/strong&gt; in a component that props is frequently changing, it will result to an extensive calculations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Inline functions
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
 &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{()&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;setState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Increment&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;whenever a developer caught this code everyone (including myself 🤩) update the following code and will be like !&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;handleIncrement&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setState&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
 &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;handleIncrement&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Increment&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;yeah I've fixed a dam performance issue I going to get 100 performance score in lighthouse.&lt;/p&gt;

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

&lt;p&gt;but &lt;em&gt;inline is acutally fine&lt;/em&gt; in this case !! if you have a concern try working with this &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;useEffect(()=&amp;gt;{&lt;br&gt;
console.log('Executing')&lt;br&gt;
},[setState])&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;you cannot use a user defined function inside the useEffect if you're using eslint it will warn you !! but the above code will just work fine because react is smart in this case it knows that setState will never change !.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Caution&lt;/strong&gt;❌ : In-line functions shouldn't be called without arrow functions&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;handleIncrement&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Increment&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;❌ this might result your code to an infinite loop&lt;/p&gt;

&lt;h1&gt;
  
  
  useCallback
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Does it make sense using this hook here??🤔&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;this is the first question you should think off before use using these performance hooks like useCallback and useMemo . &lt;/p&gt;

&lt;p&gt;The same example used above is also a overrated one , &lt;em&gt;don't get confused here&lt;/em&gt; above example is just to explain you how things works ! but imagine the child component just re-renders a "div" and a "p" tag . There's no expensive calculations or any CPU affecting operations here, So why useCallback here ? &lt;/p&gt;

&lt;p&gt;If the child component consist of large amount of data or a extensive calculations, the callback function that you're passing can be wrapped up using useCallback . &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Remember Even useCallback() returning the same function object, still the inline function is re-created on every re-rendering useCallback() just skips it. So the re-render will be less commutated than using the useCallback here !&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;The same set of rules can be applied to &lt;strong&gt;useMemo&lt;/strong&gt; too&lt;/em&gt; &lt;/p&gt;




&lt;p&gt;Manage your Work From Home 🏡 issues using this [kit] a helper site I've made (&lt;a href="https://dev.to/karthick3018/manage-work-from-home-effectively-using-wfh-kit-6bc"&gt;https://dev.to/karthick3018/manage-work-from-home-effectively-using-wfh-kit-6bc&lt;/a&gt;)&lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;connect with me on&lt;/em&gt; &lt;a href="https://www.linkedin.com/in/karthick-raja-dev/" rel="noopener noreferrer"&gt;linkedIn&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30" rel="noopener noreferrer"&gt;codepen&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>performance</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Creating a chrome extension using React &amp; Typescript 🚀</title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Tue, 31 Aug 2021 16:30:40 +0000</pubDate>
      <link>https://dev.to/karthick30/creating-a-chrome-extension-using-react-typescript-317b</link>
      <guid>https://dev.to/karthick30/creating-a-chrome-extension-using-react-typescript-317b</guid>
      <description>&lt;p&gt;Creating a chrome extension is a check box I didn't check for a long , thought it would be much tougher and need to know much things. But trust me it's way simple than I thought. &lt;/p&gt;

&lt;p&gt;A framework or library knowledge that you're working on is more than enough to make a chrome extension. Here I've used react and typescript.&lt;/p&gt;

&lt;p&gt;This chrome extension is the thing I've been needed for a while , so I thought of solving my issue with a extension.&lt;/p&gt;

&lt;p&gt;There are few things that are extension specific , basic knowledge of these things are required to build an extension. &lt;/p&gt;

&lt;h1&gt;
  
  
  Aspects of Chrome Extension
&lt;/h1&gt;

&lt;p&gt;There are 4 major aspects while building the chrome extension &lt;/p&gt;

&lt;h2&gt;
  
  
  Popup UI
&lt;/h2&gt;

&lt;p&gt;This is the thing that renders the root file when you click on the extension icon in the browser . Any UI related change for the popup can be added here . &lt;/p&gt;

&lt;h2&gt;
  
  
  Background script
&lt;/h2&gt;

&lt;p&gt;As like the name this script will be running and listening in the background. It can be used as a place to include the listening events which you might need. Like you can listen an event during the extension icon click on the browser . In my case I need to have the same icon click listener that I've mentioned. &lt;br&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%2Fkr65dk5qzwsmc41tl6gh.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%2Fkr65dk5qzwsmc41tl6gh.png" alt="listener"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This can also used for state management thing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Content Script
&lt;/h2&gt;

&lt;p&gt;This will be executed in the body of the extension. You can inject a function or listner in this file to work when the extension is alive . In this extension I've added a listner event to listen the event emitted from the background script . Also to create an iframe in the body of the extension. &lt;br&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%2Fsbcvcb6gwp8klt84ag5v.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%2Fsbcvcb6gwp8klt84ag5v.png" alt="Content Script"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Options UI
&lt;/h2&gt;

&lt;p&gt;Renders the stuff when you right click on the icon and click options. You can use it like a settings or admin panel sort of things for the extension . &lt;/p&gt;

&lt;h1&gt;
  
  
  Manifest json
&lt;/h1&gt;

&lt;p&gt;This is the first file you need to create for an extension but I thought this will make sense explaing it after the above four , because all the above four needs to be configured here to make them work. Like the other manifest files does this also has the details of icon, app name , description etc. Specially here it has some additional access like adding background file , handling browser actions , content scripts .&lt;br&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%2Fzpdgfvajlihub97t1l9z.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%2Fzpdgfvajlihub97t1l9z.png" alt="Manifest"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Making it in react
&lt;/h2&gt;

&lt;p&gt;You can make start doing the extension buy initiating the CRA itself , but I found this super awesome boiler plate which supports react with and without typescript .&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/VasilyShelkov/create-react-extension" rel="noopener noreferrer"&gt;https://github.com/VasilyShelkov/create-react-extension&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's same as like building an app using react , you can install third party packages , connect to a database using an api call. Only things is you need to slightly play with the 4 things that I've mentioned above. &lt;/p&gt;

&lt;p&gt;Also check this offical link for plain javascript . &lt;a href="https://developer.chrome.com/docs/extensions/mv3/getstarted/" rel="noopener noreferrer"&gt;https://developer.chrome.com/docs/extensions/mv3/getstarted/&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  About my extension : blogs-helper
&lt;/h1&gt;

&lt;p&gt;The Problem statement I took was simple and weird , not sure how many of them faced it but to be honest I faced a lot.&lt;/p&gt;

&lt;p&gt;While reading the technical blogs there will be a code snipet at the starting of the blog which will be referenced and explained till the bottom of the blogs. As we go on scrolling the page the actual code snipet which is referenced will be hidden in the viewport.&lt;/p&gt;

&lt;p&gt;Now while reading the explanation I've forgot the actual code snipet.&lt;/p&gt;

&lt;p&gt;....What is this blog explaining 🤔 ....&lt;/p&gt;

&lt;p&gt;So to overcome that I've used multiple window one for the code snipet and other one is for the explanation . This is not the perfect way right ? Why not stickys ? Not sure how to use without minimizing the browser. So to overcome that I've made Blogs helper.&lt;/p&gt;

&lt;p&gt;This is how it looks! , hanging at the right side you can drag it down and expand.&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%2Ffo16b5elh8204dcspuga.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%2Ffo16b5elh8204dcspuga.png" alt="blog helper"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's in the initial version PR's are most welcomed 🚀. Share your thoughts and ideas.&lt;/p&gt;

&lt;p&gt;Get the extension &lt;a href="https://karthick3018.github.io/blogs-helper/" rel="noopener noreferrer"&gt;here&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Fork it in &lt;a href="https://github.com/karthick3018/blogs-helper" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;connect with me on&lt;/em&gt; &lt;a href="https://www.linkedin.com/in/karthick-raja-dev/" rel="noopener noreferrer"&gt;linkedIn&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30" rel="noopener noreferrer"&gt;codepen&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>typescript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Make your Website accessible for people with eye👁 disablities</title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Wed, 26 May 2021 16:42:56 +0000</pubDate>
      <link>https://dev.to/karthick30/make-your-website-accessible-for-people-with-eye-disablities-3008</link>
      <guid>https://dev.to/karthick30/make-your-website-accessible-for-people-with-eye-disablities-3008</guid>
      <description>&lt;p&gt;Before getting in to the article I would like to ask you all a question !&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;How people with eye disablities use your website ? is the website you've made is accessible for them ?&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;wait ! what ? is there a scenario like that ? 😳 🙄 🤔 😲 these were my reactions and questions I got soon after this question was thrown over me. Come on I'm doing stuff's on web for over 4 years but never thought of this scenario and I'm clueless to answer this . &lt;/p&gt;

&lt;p&gt;But the reality is big &lt;strong&gt;"YES"&lt;/strong&gt; there's a way ! to be frank this was the most shocking thing more than the question . Again the same set of reactions but this time they've doubbled  😳 🙄 🤔 😲 😳 🙄 🤔 😲 .&lt;/p&gt;

&lt;p&gt;Ok if yes then how ?? many of us would have used those things without knowing their use cases . &lt;/p&gt;

&lt;h2&gt;
  
  
  Aria Tags
&lt;/h2&gt;

&lt;p&gt;Yeah Aria tags are the game changer here they has the capacity to handle this tricky use case .&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Accessible Rich Internet Applications (ARIA)&lt;/strong&gt; is a set of attributes that define ways to make web content and web applications (especially those developed with JavaScript) more accessible to people with disabilities. &lt;em&gt;stated in MDN&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Have you researched the usage of these tags while using ? I didn't 🙋🏾 ! I thought they are only used for SEO kind of things . Another thing is other attributes we use can be accessed somehow like using &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mQNhqnZf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ya3jd8lhd8x0fm2jrgwa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mQNhqnZf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ya3jd8lhd8x0fm2jrgwa.png" alt="input"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;document.getElementById("demo");&lt;/li&gt;
&lt;li&gt;document.getElementsByClassName("demo-class");&lt;/li&gt;
&lt;li&gt;document.getElementsByName("demo-input");&lt;/li&gt;
&lt;li&gt;document.getElementsByTagName("input");
or you can access the values during the event handle like onChange using

&lt;code&gt;e.target.value , e.target.name&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;but have you tried of accessing these aria tags ?? just try ! they can't be accessed like the other attributes ! these are not they've built for . Why because ARIA doesn't augment any of the element's inherent behavior.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ARIA works by changing and augmenting the standard DOM accessibility tree .&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Screen Reader
&lt;/h2&gt;

&lt;p&gt;So we've added the aria tags but how it will be helpful to read for the people with disablities?. Here comes the next life saver Screen Reader . Screen Reader is an app which make use of these aria tags and make a helpful voice commands for the people to use the website. They are available as an desktop app and also as a chrome extension. Check one of them &lt;a href="https://chrome.google.com/webstore/detail/screen-reader/kgejglhpjiefppelpmljglcjbhoiplfn/related"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here I've created a small form using react that supports aria tag install the extension mentioned above , close your eyes and try submitting the form ! let me know If you've made it !&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/bold-hertz-tcrvp"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;These attributes starting with aria- are the thing we're talking about !! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--88iD9xCg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0f2es0kviqa18grg4bc6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--88iD9xCg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0f2es0kviqa18grg4bc6.png" alt="ariatags"&gt;&lt;/a&gt; . &lt;/p&gt;

&lt;p&gt;That's it ! So next time when you build an application make sure your application supports aria tags , Technology is not for particular people, Make the technology accessible for everyone 💪🏽&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Get into these docs before starting aria tags&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA"&gt;https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA&lt;/a&gt;&lt;br&gt;
&lt;a href="https://developers.google.com/web/fundamentals/accessibility/semantics-aria"&gt;https://developers.google.com/web/fundamentals/accessibility/semantics-aria&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Manage your Work From Home 🏡 issues using this &lt;a href="https://dev.to/karthick3018/manage-work-from-home-effectively-using-wfh-kit-6bc"&gt;kit&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018"&gt;github&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;connect with me on&lt;/em&gt; &lt;a href="https://www.linkedin.com/in/karthick-raja-dev/"&gt;linkedIn&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30"&gt;codepen&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>html</category>
      <category>ux</category>
    </item>
    <item>
      <title>Make your Website accessible for people with eye👁 disablities </title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Wed, 26 May 2021 05:41:08 +0000</pubDate>
      <link>https://dev.to/karthick30/make-your-website-accessible-for-people-with-eye-disablities-7a8</link>
      <guid>https://dev.to/karthick30/make-your-website-accessible-for-people-with-eye-disablities-7a8</guid>
      <description>&lt;p&gt;Before getting in to the article I would like to ask you all a question !&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;How people with eye disablities use your website ? is the website you've made is accessible for them ?&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;wait ! what ? is there a scenario like that ? 😳 🙄 🤔 😲 these were my reactions and questions I got soon after this question was thrown over me. Come on I'm doing stuff's on web for over 4 years but never thought of this scenario and I'm clueless to answer this . &lt;/p&gt;

&lt;p&gt;But the reality is big &lt;strong&gt;"YES"&lt;/strong&gt; there's a way ! to be frank this was the most shocking thing more than the question . Again the same set of reactions but this time they've doubbled  😳 🙄 🤔 😲 😳 🙄 🤔 😲 .&lt;/p&gt;

&lt;p&gt;Ok if yes then how ?? many of us would have used those things without knowing their use cases . &lt;/p&gt;

&lt;h2&gt;
  
  
  Aria Tags
&lt;/h2&gt;

&lt;p&gt;Yeah Aria tags are the game changer here they has the capacity to handle this tricky use case .&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Accessible Rich Internet Applications (ARIA)&lt;/strong&gt; is a set of attributes that define ways to make web content and web applications (especially those developed with JavaScript) more accessible to people with disabilities. &lt;em&gt;stated in MDN&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Have you researched the usage of these tags while using ? I didn't 🙋🏾 ! I thought they are only used for SEO kind of things . Another thing is other attributes we use can be accessed somehow like using &lt;br&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%2Fya3jd8lhd8x0fm2jrgwa.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%2Fya3jd8lhd8x0fm2jrgwa.png" alt="input"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;document.getElementById("demo");&lt;/li&gt;
&lt;li&gt;document.getElementsByClassName("demo-class");&lt;/li&gt;
&lt;li&gt;document.getElementsByName("demo-input");&lt;/li&gt;
&lt;li&gt;document.getElementsByTagName("input");
or you can access the values during the event handle like onChange using

&lt;code&gt;e.target.value , e.target.name&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;but have you tried of accessing these aria tags ?? just try ! they can't be accessed like the other attributes ! these are not they've built for . Why because ARIA doesn't augment any of the element's inherent behavior.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ARIA works by changing and augmenting the standard DOM accessibility tree .&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Screen Reader
&lt;/h2&gt;

&lt;p&gt;So we've added the aria tags but how it will be helpful to read for the people with disablities?. Here comes the next life saver Screen Reader . Screen Reader is an app which make use of these aria tags and make a helpful voice commands for the people to use the website. They are available as an desktop app and also as a chrome extension. Check one of them &lt;a href="https://chrome.google.com/webstore/detail/screen-reader/kgejglhpjiefppelpmljglcjbhoiplfn/related" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here I've created a small form using react that supports aria tag install the extension mentioned above , close your eyes and try submitting the form ! let me know If you've made it !&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/bold-hertz-tcrvp"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;These attributes starting with aria- are the thing we're talking about !! &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%2F0f2es0kviqa18grg4bc6.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%2F0f2es0kviqa18grg4bc6.png" alt="ariatags"&gt;&lt;/a&gt; . &lt;/p&gt;

&lt;p&gt;That's it ! So next time when you build an application make sure your application supports aria tags , Technology is not for particular people, Make the technology accessible for everyone 💪🏽&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Get into these docs before starting aria tags&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA" rel="noopener noreferrer"&gt;https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA&lt;/a&gt;&lt;br&gt;
&lt;a href="https://developers.google.com/web/fundamentals/accessibility/semantics-aria" rel="noopener noreferrer"&gt;https://developers.google.com/web/fundamentals/accessibility/semantics-aria&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Manage your Work From Home 🏡 issues using this &lt;a href="https://dev.to/karthick3018/manage-work-from-home-effectively-using-wfh-kit-6bc"&gt;kit&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;connect with me on&lt;/em&gt; &lt;a href="https://www.linkedin.com/in/karthick-raja-dev/" rel="noopener noreferrer"&gt;linkedIn&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30" rel="noopener noreferrer"&gt;codepen&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title> 🧨Never thought this way of using p/React inline/embedded 🧐</title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Tue, 27 Apr 2021 12:29:35 +0000</pubDate>
      <link>https://dev.to/karthick30/never-thought-this-way-of-using-p-react-inline-embedded-b3p</link>
      <guid>https://dev.to/karthick30/never-thought-this-way-of-using-p-react-inline-embedded-b3p</guid>
      <description>&lt;p&gt;Let me give you a quick explaination about the concept of this article have you heard/thought of embedding a react application as CDN in a wordpress or in an angular or in a vue application ? &lt;/p&gt;

&lt;p&gt;is it possible ? if yes is it something about a micro-frontend application ? &lt;/p&gt;

&lt;p&gt;yeah it's possible to embeed a react application like a CDN with out the complexity of a micro-frontend architecture. Wait what ? how it is possible ? will be the next questions will explain clearly . &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Micro-frontend is a concept of integrating two or more large applications like each will application will have its own route , states etc . &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What we're going to do is not a large application but a small one. For example think of a chat bot that will have its own independent usage right ? can you write a single chat bot logic and use it in two different applications ? This way can really help you for this . If not clear i'll give you a another example think of a &lt;a href="https://groww.in/calculators/fd-calculator/"&gt;financial tech site&lt;/a&gt;  that has each one or two calculators in its pages. The text,route pictures and others can be in a wordpress(or any) and embeed the calculator using this approach. &lt;/p&gt;

&lt;p&gt;So like these smaller concepts can be done using this and can result in a minature of micro-frontend concepts like&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;resuablity across different application &lt;/li&gt;
&lt;li&gt;work can be splited and different domain team can work on the same application without any clash or dependency.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Things used in this process
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Preact &lt;/li&gt;
&lt;li&gt;Preact-habitat&lt;/li&gt;
&lt;li&gt;webpack&lt;/li&gt;
&lt;li&gt;babel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Preact&lt;/em&gt;   what the heck is that do I need to learn that too ? come one preact is just react nothing else the bundle size of react is reduced by 3x times and created as preact . Check out about preact &lt;a href="https://preactjs.com/"&gt;here&lt;/a&gt; you'll find preact as a twin brother of react . &lt;/p&gt;

&lt;h2&gt;
  
  
  Why &amp;amp; what is Preact🧐 ?
&lt;/h2&gt;

&lt;p&gt;But why we need to do this using preact ? why not react ? to address this point I'll ask a silly question your website needs to load fast to slow ? obviously faster ! so that is the point i've choosen preact the resultant build of plain react application is over to &lt;strong&gt;30-40kb&lt;/strong&gt; where preact is &lt;strong&gt;3kb&lt;/strong&gt; . I think these number are enough to choose preact but don't worry preact is just react and it can still do most of the things what react can . &lt;/p&gt;

&lt;h2&gt;
  
  
  Preact-habitat
&lt;/h2&gt;

&lt;p&gt;This is the library that will make plugging in Preact components and widgets in any CMS or website. So this is the big and only thing you need to learn of use as a new but cool this is even simpler . It's a HOC and what you need to do is just pass your main component inside this HOC and all your things will be done out the box . Check this out &lt;a href="https://github.com/zouhir/preact-habitat"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  webpack
&lt;/h2&gt;

&lt;p&gt;We need to make a minor change in the output of the bundle this need to be done in the webpack file . The libraryTarget in the output must be of type &lt;strong&gt;umd&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IfHCxGKu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sy5b04ffdjbjozks2x3n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IfHCxGKu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sy5b04ffdjbjozks2x3n.png" alt="output"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;UMD - This exposes your library under all the module definitions, allowing it to work with CommonJS, AMD and as global variable.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  babel
&lt;/h2&gt;

&lt;p&gt;Babel is just to use jsx react elements this is realated with preact you can just copy paste .&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pgB9H7hH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9rwcxthe3dp6t57tbpgr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pgB9H7hH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9rwcxthe3dp6t57tbpgr.png" alt="babelrc"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;that's it about the setup you just need to create the logic and pass the component via habitat HOC and your requirement will be done !&lt;/p&gt;
&lt;h2&gt;
  
  
  Habitat usage
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IzIJWkUb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ufbbelvgehm0f9zod4zt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IzIJWkUb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ufbbelvgehm0f9zod4zt.png" alt="habitat"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've imported the habitat and render is the component I've created . Inside the init function i've sent my Render component inside the habitat HOC and stored the value in a variable &lt;em&gt;habitatApp&lt;/em&gt;. Now using the value i've received I can modify the type of render using the render function provided.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;inline -&amp;gt; if this is true this will be rendered inside the particular div that you're mentioning else if it is given as false it will be rendered globally. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;clientSpecified -&amp;gt; this can be used to specify the identification for the div where the app needs to be rendered. Will explain this more clear later.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now we're all set to launch , &lt;em&gt;npm run build&lt;/em&gt; comment will give you the production build that contains assests (if any) , a index.html,bundle.js,bundle.map.js file . We need to move the bundle folder to any of the cloud like netlify , vercel or any other. &lt;/p&gt;

&lt;p&gt;All done we need to embeed our current application to any of the other html,wordpress page or application. &lt;/p&gt;
&lt;h2&gt;
  
  
  How to embeed in other application?
&lt;/h2&gt;

&lt;p&gt;This one is even more simpler ! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_x4Pr697--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/969o99rul3cn5szdaeep.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_x4Pr697--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/969o99rul3cn5szdaeep.png" alt="inhtml"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;tada🎉 that's it you've sucessfully embeeded your preact application inside of a plain html page ! let me decode things &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;async --&amp;gt; is used to avoid blocking of other scripts &lt;/li&gt;
&lt;li&gt;src --&amp;gt; is the cloud link of my build folder &lt;em&gt;🔴 note: you should point /bundle.js file not your bundle folder as a whole&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;data-mount-in=".mine" is the things i've mentioned earlier as inline in the preact-habitat . It is the place you can mention the identification of a div where it needs to render . Here I've given &lt;em&gt;.mine&lt;/em&gt; ie render the application inside a html element that has a classname of &lt;em&gt;mine&lt;/em&gt; so it will render inside

&lt;code&gt;div class="mine"/&amp;gt;&lt;/code&gt;

Here I've used class as a identifier you can use id as well.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;so that's it we've rendered our application using the CDN in the plain html page. &lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/karthick30/embed/JjExNRR?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Have you noticed a thing without any express or react environment the application is running  how ? just think! will reveal this later here 😉&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitations of this approach
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Will only recommend this for smaller applications .&lt;/li&gt;
&lt;li&gt;Routes are not provied . It can be used but there needs to be a react enivronment to run the application where without route it's not needed.&lt;/li&gt;
&lt;li&gt;assets needs to be used inline or as a cloud url since we don't map it bundle folder we only point to bundle.js file . &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thats it ! let me know your thoughts about this !! &lt;/p&gt;

&lt;p&gt;Check the complete project &lt;a href="https://github.com/karthick3018/inline-react"&gt;here&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Manage the Work From Home 🏡 using this &lt;a href="https://dev.to/karthick3018/manage-work-from-home-effectively-using-wfh-kit-6bc"&gt;kit&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018"&gt;github&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;connect with me on&lt;/em&gt; &lt;a href="https://www.linkedin.com/in/karthick-raja-dev/"&gt;linkedIn&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30"&gt;codepen&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>html</category>
      <category>webdev</category>
    </item>
    <item>
      <title> 🧨Embed p/React app inside any other sites that are made using angular/wp/...</title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Tue, 27 Apr 2021 05:49:57 +0000</pubDate>
      <link>https://dev.to/karthick30/embed-p-react-app-inside-any-other-sites-that-are-made-using-angular-wp-46j6</link>
      <guid>https://dev.to/karthick30/embed-p-react-app-inside-any-other-sites-that-are-made-using-angular-wp-46j6</guid>
      <description>&lt;p&gt;Let me give you a quick explaination about the concept of this article have you heard/thought of embedding a react application as CDN in a wordpress or in an angular or in a vue application ? &lt;/p&gt;

&lt;p&gt;is it possible ? if yes is it something about a micro-frontend application ? &lt;/p&gt;

&lt;p&gt;yeah it's possible to embeed a react application like a CDN with out the complexity of a micro-frontend architecture. Wait what ? how it is possible ? will be the next questions will explain clearly . &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Micro-frontend is a concept of integrating two or more large applications like each will application will have its own route , states etc . &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What we're going to do is not a large application but a small one. For example think of a chat bot that will have its own independent usage right ? can you write a single chat bot logic and use it in two different applications ? This way can really help you for this . If not clear i'll give you a another example think of a &lt;a href="https://groww.in/calculators/fd-calculator/" rel="noopener noreferrer"&gt;financial tech site&lt;/a&gt;  that has each one or two calculators in its pages. The text,route pictures and others can be in a wordpress(or any) and embeed the calculator using this approach. &lt;/p&gt;

&lt;p&gt;So like these smaller concepts can be done using this and can result in a minature of micro-frontend concepts like&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;resuablity across different application &lt;/li&gt;
&lt;li&gt;work can be splited and different domain team can work on the same application without any clash or dependency.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Things used in this process
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Preact &lt;/li&gt;
&lt;li&gt;Preact-habitat&lt;/li&gt;
&lt;li&gt;webpack&lt;/li&gt;
&lt;li&gt;babel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Preact&lt;/em&gt;   what the heck is that do I need to learn that too ? come one preact is just react nothing else the bundle size of react is reduced by 3x times and created as preact . Check out about preact &lt;a href="https://preactjs.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt; you'll find preact as a twin brother of react . &lt;/p&gt;

&lt;h2&gt;
  
  
  Why &amp;amp; what is Preact🧐 ?
&lt;/h2&gt;

&lt;p&gt;But why we need to do this using preact ? why not react ? to address this point I'll ask a silly question your website needs to load fast to slow ? obviously faster ! so that is the point i've choosen preact the resultant build of plain react application is over to &lt;strong&gt;30-40kb&lt;/strong&gt; where preact is &lt;strong&gt;3kb&lt;/strong&gt; . I think these number are enough to choose preact but don't worry preact is just react and it can still do most of the things what react can . &lt;/p&gt;

&lt;h2&gt;
  
  
  Preact-habitat
&lt;/h2&gt;

&lt;p&gt;This is the library that will make plugging in Preact components and widgets in any CMS or website. So this is the big and only thing you need to learn of use as a new but cool this is even simpler . It's a HOC and what you need to do is just pass your main component inside this HOC and all your things will be done out the box . Check this out &lt;a href="https://github.com/zouhir/preact-habitat" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  webpack
&lt;/h2&gt;

&lt;p&gt;We need to make a minor change in the output of the bundle this need to be done in the webpack file . The libraryTarget in the output must be of type &lt;strong&gt;umd&lt;/strong&gt; &lt;br&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%2Fsy5b04ffdjbjozks2x3n.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%2Fsy5b04ffdjbjozks2x3n.png" alt="output"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;UMD - This exposes your library under all the module definitions, allowing it to work with CommonJS, AMD and as global variable.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  babel
&lt;/h2&gt;

&lt;p&gt;Babel is just to use jsx react elements this is realated with preact you can just copy paste .&lt;br&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%2F9rwcxthe3dp6t57tbpgr.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%2F9rwcxthe3dp6t57tbpgr.png" alt="babelrc"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;that's it about the setup you just need to create the logic and pass the component via habitat HOC and your requirement will be done !&lt;/p&gt;
&lt;h2&gt;
  
  
  Habitat usage
&lt;/h2&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%2Fufbbelvgehm0f9zod4zt.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%2Fufbbelvgehm0f9zod4zt.png" alt="habitat"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've imported the habitat and render is the component I've created . Inside the init function i've sent my Render component inside the habitat HOC and stored the value in a variable &lt;em&gt;habitatApp&lt;/em&gt;. Now using the value i've received I can modify the type of render using the render function provided.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;inline -&amp;gt; if this is true this will be rendered inside the particular div that you're mentioning else if it is given as false it will be rendered globally. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;clientSpecified -&amp;gt; this can be used to specify the identification for the div where the app needs to be rendered. Will explain this more clear later.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now we're all set to launch , &lt;em&gt;npm run build&lt;/em&gt; comment will give you the production build that contains assests (if any) , a index.html,bundle.js,bundle.map.js file . We need to move the bundle folder to any of the cloud like netlify , vercel or any other. &lt;/p&gt;

&lt;p&gt;All done we need to embeed our current application to any of the other html,wordpress page or application. &lt;/p&gt;
&lt;h2&gt;
  
  
  How to embeed in other application?
&lt;/h2&gt;

&lt;p&gt;This one is even more simpler ! &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%2F969o99rul3cn5szdaeep.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%2F969o99rul3cn5szdaeep.png" alt="inhtml"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;tada🎉 that's it you've sucessfully embeeded your preact application inside of a plain html page ! let me decode things &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;async --&amp;gt; is used to avoid blocking of other scripts &lt;/li&gt;
&lt;li&gt;src --&amp;gt; is the cloud link of my build folder &lt;em&gt;🔴 note: you should point /bundle.js file not your bundle folder as a whole&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;data-mount-in=".mine" is the things i've mentioned earlier as inline in the preact-habitat . It is the place you can mention the identification of a div where it needs to render . Here I've given &lt;em&gt;.mine&lt;/em&gt; ie render the application inside a html element that has a classname of &lt;em&gt;mine&lt;/em&gt; so it will render inside

&lt;code&gt;div class="mine"/&amp;gt;&lt;/code&gt;

Here I've used class as a identifier you can use id as well.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;so that's it we've rendered our application using the CDN in the plain html page. &lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/karthick30/embed/JjExNRR?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Have you noticed a thing without any express or react environment the application is running  how ? just think! will reveal this later here 😉&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitations of this approach
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Will only recommend this for smaller applications .&lt;/li&gt;
&lt;li&gt;Routes are not provied . It can be used but there needs to be a react enivronment to run the application where without route it's not needed.&lt;/li&gt;
&lt;li&gt;assets needs to be used inline or as a cloud url since we don't map it bundle folder we only point to bundle.js file . &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thats it ! let me know your thoughts about this !! &lt;/p&gt;

&lt;p&gt;Check the complete project &lt;a href="https://github.com/karthick3018/inline-react" rel="noopener noreferrer"&gt;here&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Manage the Work From Home 🏡 using this &lt;a href="https://dev.to/karthick3018/manage-work-from-home-effectively-using-wfh-kit-6bc"&gt;kit&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;connect with me on&lt;/em&gt; &lt;a href="https://www.linkedin.com/in/karthick-raja-dev/" rel="noopener noreferrer"&gt;linkedIn&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30" rel="noopener noreferrer"&gt;codepen&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🚀🚀Manage Work From Home effectively using wfh kit</title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Wed, 06 Jan 2021 05:30:34 +0000</pubDate>
      <link>https://dev.to/karthick30/manage-work-from-home-effectively-using-wfh-kit-6bc</link>
      <guid>https://dev.to/karthick30/manage-work-from-home-effectively-using-wfh-kit-6bc</guid>
      <description>&lt;p&gt;First post of 2k21 let this be a successful year for everyone😄&lt;/p&gt;

&lt;p&gt;COVID-19 the thing that changed the pattern of the whole world. It's almost been a year since we (exception for those who already went to office) visited the office. But then it's a sudden and dramastic change for the people like me who not used of working from home.&lt;/p&gt;

&lt;p&gt;Ok but working from home is nice is'nt ? spending more time with family , pets . A mixed yes and no will be the answer for this question. People saying no will be the one who's missing the office coffee and snacks. Yeah WFH can be both productive and life balancer when you manage it correctly. &lt;/p&gt;

&lt;h1&gt;
  
  
  WFH Benefits
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Late wake up&lt;/li&gt;
&lt;li&gt;Break time is not fixed&lt;/li&gt;
&lt;li&gt;you can deside the working time&lt;/li&gt;
&lt;li&gt;network issue,rebooting issue these lies can be a life saver&lt;/li&gt;
&lt;li&gt;spending time with your loved ones&lt;/li&gt;
&lt;li&gt;no costume issues
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;Simply you work from home rest all are benefits😁&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h1&gt;
  
  
  WFO Benefits
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;fixed work timing&lt;/li&gt;
&lt;li&gt;provided snacks &amp;amp; coffee&lt;/li&gt;
&lt;li&gt;break &amp;amp; fun time with collegues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So Everything seems to be good in WFH ! what's the concern ? yeah ! everything will have it's own downside too. Mainly we're going to address the health related things.&lt;/p&gt;

&lt;h1&gt;
  
  
  WFH Concerns
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Extended work &lt;/li&gt;
&lt;li&gt;Dehydration&lt;/li&gt;
&lt;li&gt;Sitting in a same position for a longer period &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I think if we address these 3 concerns work from home can be a great thing to enjoy. Chill it can be easily done using the &lt;strong&gt;wfh-mate&lt;/strong&gt; ,wfh-mate is the helper application i've created to solve these things. &lt;/p&gt;

&lt;h2&gt;
  
  
  How wfh-mate helps you ?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;wfh-mate can help you with the following,&lt;/li&gt;
&lt;li&gt;Measure your working time.&lt;/li&gt;
&lt;li&gt;Make your notes.&lt;/li&gt;
&lt;li&gt;Manage your todo lists for the day.&lt;/li&gt;
&lt;li&gt;Get to know the date, plan for upcoming days.&lt;/li&gt;
&lt;li&gt;Helps you to take a quick &amp;amp; accurate break.&lt;/li&gt;
&lt;li&gt;Remains you to take efficient water and stay hydrated.&lt;/li&gt;
&lt;li&gt;Allows you to follow 20-20-20 rule (Take a 20 second break! * Look at a 20 feet object for 20 seconds).&lt;/li&gt;
&lt;li&gt;Finally shows the total hours worked , total break taken. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://karthick3018.github.io/wfh-mate/" rel="noopener noreferrer"&gt;https://karthick3018.github.io/wfh-mate/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It has 3 layers &lt;/p&gt;

&lt;h2&gt;
  
  
  1.Work timer, calender
&lt;/h2&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%2Fi%2Fl2liexgh6tf715f6nmck.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%2Fi%2Fl2liexgh6tf715f6nmck.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;this layer has the start button to start the work for the day and end button to end the work at end of the day.&lt;/p&gt;

&lt;h1&gt;
  
  
  timer
&lt;/h1&gt;

&lt;p&gt;The timer updates each second and displays how long you've worked for the day. This can help you to finish your after the actual hours of work (8 hrs is official working time here!). After the time you can close your official work and start spending time for your personal things.&lt;/p&gt;

&lt;h1&gt;
  
  
  calendar
&lt;/h1&gt;

&lt;p&gt;This is one of the thing i've searched often. Even in the holidays i've logged-in to the office system since I don't know what day it is ! So wfh-mate has a calendar that displays the current date,month and formatted date. You can click that to get the detailed calendar.&lt;/p&gt;

&lt;h2&gt;
  
  
  2.Notes &amp;amp; todo's
&lt;/h2&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%2Fi%2Fhppfdcthsjuogwghb84l.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%2Fi%2Fhppfdcthsjuogwghb84l.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
We should not test our memory skills in the list of work todo. If you're correct at 9/10 times that one failed can let you in a difficult situation. So mark your list of works to be completed in the particular day using the todo / textarea provided. &lt;/p&gt;
&lt;h2&gt;
  
  
  3.Water &amp;amp; break timer
&lt;/h2&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%2Fi%2F9i2n9n7eaj56w1cur98v.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%2Fi%2F9i2n9n7eaj56w1cur98v.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here comes the most important part or the main line based on which i've created the application. &lt;br&gt;
&lt;em&gt;Break timer&lt;/em&gt; - Break is the one which we will less or may be morley use😉 during the WFH. Should avoid taking break ? definitely not!&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Taking a quick break can really help you to fix the things you've been stuck with&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
 my most the toughest debugging occurs during the break time , but that must be controlled break as well ! So this timer helps you to take a quick controlled break when the break ends it alerts you by sending a desktop notification or a alert tone or both.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Water break&lt;/em&gt; - This is the main one we're missing during the WFH even in office too since we're surrounded by air conditioners we get less thirst ! but that can't be a reason . As per U.S. National Academies of Sciences, Engineering, and Medicine , the intake should be &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;About 15.5 cups (3.7 liters) of fluids a day for men&lt;/li&gt;
&lt;li&gt;About 11.5 cups (2.7 liters) of fluids a day for women&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;so how many of u following this ? myself not ! so this timer can execute every 20/30 minutes and remain you to intake water. Using that break make sure you're drinking the above mentioned level.&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%2Fi%2F2ycrah0j26p11gtq2gby.gif" 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%2Fi%2F2ycrah0j26p11gtq2gby.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  20-20-20 rule!
&lt;/h1&gt;

&lt;p&gt;Ever heard of this rule ? this is the one we need to follow to avoid &lt;em&gt;CVS (Computer Vision Syndrome)&lt;/em&gt;  stress caused to eyes by looking at the monitor for a long time.&lt;br&gt;
So here 20-20-20 rule comes to play &lt;em&gt;every 20 mins take a break for 20 seconds and look at a 20 feet away object&lt;/em&gt;. Whenever the water break alerts , you can follow this rule too! &lt;/p&gt;

&lt;h1&gt;
  
  
  End stats
&lt;/h1&gt;

&lt;p&gt;Once you're done for the day you can press end task and that will give you the exact hours of work you've done after pressing the start work button along with a approx break time taken ! &lt;br&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%2Fi%2Fnds1vw5u6sdn58pc5jeu.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%2Fi%2Fnds1vw5u6sdn58pc5jeu.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These are the things i've taken to solve and given a solution using the following site. It's like a step ahead of POC . You can use this site to achiveve the above mentioned things . The funky this in the site needs to be replaced by a functionality in the upcoming release.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;leave the improper design stuff's i'm not that good in that&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Project fetures
&lt;/h1&gt;

&lt;p&gt;OK this project solves somethings that all ? can i close ? &lt;br&gt;
Nope ! not only as a website it can help you with some of the react patterns( add-ons to it !)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compound Components (intresting stuff this year credits &lt;a class="mentioned-user" href="https://dev.to/kentcdodds"&gt;@kentcdodds&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Custom hooks&lt;/li&gt;
&lt;li&gt;Reusable UI elements&lt;/li&gt;
&lt;li&gt;Sticky notes and neumorphism effects using pure css&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;so that's all about &lt;strong&gt;wfh-mate&lt;/strong&gt; use this in your regular day work. Let me know your feedbacks ! forgive me if any error occurs 😉&lt;/p&gt;

&lt;p&gt;Use the &lt;strong&gt;wfh-mate&lt;/strong&gt; &lt;a href="https://karthick3018.github.io/wfh-mate/" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check the complete project &lt;a href="https://github.com/karthick3018/wfh-mate" rel="noopener noreferrer"&gt;here&lt;/a&gt; &lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;connect with me on&lt;/em&gt; &lt;a href="https://www.linkedin.com/in/karthick-raja-dev/" rel="noopener noreferrer"&gt;linkedIn&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30" rel="noopener noreferrer"&gt;codepen&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;*cover image illustration credits &lt;a href="https://dribbble.com/udhaya" rel="noopener noreferrer"&gt;https://dribbble.com/udhaya&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Achieve Drag &amp; Drop in react by building a GUI</title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Tue, 17 Nov 2020 05:33:22 +0000</pubDate>
      <link>https://dev.to/karthick30/achieve-drag-drop-in-react-by-building-a-gui-53p2</link>
      <guid>https://dev.to/karthick30/achieve-drag-drop-in-react-by-building-a-gui-53p2</guid>
      <description>&lt;p&gt;&lt;strong&gt;Drag and drop (D&amp;amp;D)&lt;/strong&gt; is one of the feature that users of the application like to have and developers feels difficult to implement.&lt;/p&gt;

&lt;p&gt;So the best experience a site can give a user is drag and drop specially when your application has things like&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  --&amp;gt; list of things to go
  --&amp;gt; work manager
  --&amp;gt; project management
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Sites like asana ,atlassian, google task are some of the notable sites that uses the D&amp;amp;D feature the most &lt;/p&gt;

&lt;p&gt;These things must be followed carefully while implementing D&amp;amp;D &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;flickers&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;smothness&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No worries as usall there are n number of libraries that takes care of the above things for you.&lt;/p&gt;

&lt;p&gt;One of my favourite package is &lt;strong&gt;react-beautiful-dnd&lt;/strong&gt; by atlassian. It is one of the package that does the work quite simple.&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F2182637%2F53614150-efbed780-3c2c-11e9-9204-a5d2e746faca.gif" 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%2Fuser-images.githubusercontent.com%2F2182637%2F53614150-efbed780-3c2c-11e9-9204-a5d2e746faca.gif" alt="gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is the first choice when your requirement is based on the dragabble list of items as in the above gif. I also implemented the other thing using this package (i'll show u latter). &lt;/p&gt;

&lt;h3&gt;
  
  
  DragDropContext
&lt;/h3&gt;

&lt;p&gt;It uses the &lt;em&gt;DragDropContext&lt;/em&gt; wrapper where the things that needs the D&amp;amp;D feature must be inside that wrapper&lt;br&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%2Fi%2F3cs50eg9u8x3a0ktyaow.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%2Fi%2F3cs50eg9u8x3a0ktyaow.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Draggable
&lt;/h3&gt;

&lt;p&gt;Draggable is the another things that is imported from react-beautiful-dnd which can be used to wrap the items that are draggable&lt;br&gt;&lt;br&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%2Fi%2Fefiv3xboa02ciup37ahh.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%2Fi%2Fefiv3xboa02ciup37ahh.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;draggableId&lt;/em&gt; should be unique it is the representation of the item that is dragged currently.&lt;/p&gt;

&lt;h3&gt;
  
  
  Droppable
&lt;/h3&gt;

&lt;p&gt;Droppable is the place where the dragged items are dropped you can see in the gif that the items are moved from right to left and left to right.&lt;br&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%2Fi%2F28zebq31exxkcxjqwzcw.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%2Fi%2F28zebq31exxkcxjqwzcw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;droppableId&lt;/em&gt; is used to identify the place where the items are dropped.It can used as a string for better clarification.&lt;/p&gt;

&lt;h3&gt;
  
  
  onDragEnd
&lt;/h3&gt;

&lt;p&gt;You can see the onDragEnd function that is used in first image.It is the main function that used to fullfil the D&amp;amp;D functionality. This function receives a parameter which has the information about source , destination , draggableId which can be used to find from which source to destination the item is moved. &lt;br&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%2Fi%2Fjtsxjvwg62m8glc6l6pz.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%2Fi%2Fjtsxjvwg62m8glc6l6pz.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ok is this only for list of items ? for what other it can help ??&lt;/p&gt;

&lt;p&gt;It depends on how you play with the given stuff's. Here is the GUI builder which I developed using react-beautiful-dnd.&lt;br&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%2Fi%2Fclzlsvdxi4is3ingi8u5.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%2Fi%2Fclzlsvdxi4is3ingi8u5.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So instead of just list items the GUI builder will generate the html elements that is selected from the left sidebar . Each side has it's own D&amp;amp;D feature.&lt;/p&gt;

&lt;p&gt;Each side is wrapped under both &lt;strong&gt;Droppable&lt;/strong&gt; &amp;amp; &lt;strong&gt;Draggable&lt;/strong&gt; since both need act as draggable and droppable area.&lt;/p&gt;

&lt;p&gt;Both &lt;strong&gt;Draggable &amp;amp; Droppable&lt;/strong&gt; follows the render props pattern providing the props like &lt;em&gt;provided, snapshot&lt;/em&gt; you need not to worry about these props just spread and pass them accordinly to the wrapper as in the below example.&lt;/p&gt;

&lt;p&gt;That's it by this D&amp;amp;D achieved easily in react using react-beautiful-dnd .&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: Even without any other packages drag and drop can be achieved by doing &lt;code&gt;&amp;lt;htmltag draggable /&amp;gt;&lt;/code&gt; but that won't give the result as crisp like any packages could do&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Check the complete project &lt;a href="https://github.com/karthick3018/react-gui" rel="noopener noreferrer"&gt;here&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/atlassian/react-beautiful-dnd" rel="noopener noreferrer"&gt;react-beautiful-dnd&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;connect with me on&lt;/em&gt; &lt;a href="https://www.linkedin.com/in/karthick-raja-dev/" rel="noopener noreferrer"&gt;linkedIn&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30" rel="noopener noreferrer"&gt;codepen&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Understanding Code Splitting in React</title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Fri, 16 Oct 2020 05:59:00 +0000</pubDate>
      <link>https://dev.to/karthick30/understanding-code-splitting-in-react-i5e</link>
      <guid>https://dev.to/karthick30/understanding-code-splitting-in-react-i5e</guid>
      <description>&lt;p&gt;Code splitting is one of the best thing on every programming aspect that you use. It is the process of breaking a larger number of codes into smaller blocks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Code Splitting ?
&lt;/h2&gt;

&lt;p&gt;Code spliting can always be useful , It is &lt;br&gt;
   --&amp;gt; &lt;em&gt;easy to abstract&lt;/em&gt;&lt;br&gt;
   --&amp;gt; &lt;em&gt;easy to debug&lt;/em&gt;&lt;br&gt;
   --&amp;gt; &lt;em&gt;easy to unit test&lt;/em&gt;&lt;br&gt;
   --&amp;gt; &lt;em&gt;easy to reuse and avoid duplication of code&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How it can be achived in react ?
&lt;/h2&gt;

&lt;p&gt;If you're using of &lt;strong&gt;NextJs&lt;/strong&gt; you might be aware of it's one of the advantage that nextjs provides code-splitting out the box. &lt;/p&gt;

&lt;p&gt;So is this not possible in react? Definitely possible why not? with a minimal modification we can achieve the thing provided in nextjs in react too. &lt;/p&gt;

&lt;p&gt;let us take a submit function which validates the submitted values as a valid email or not &lt;br&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%2Fi%2Fnzl2duoa9ihxgibl06uy.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%2Fi%2Fnzl2duoa9ihxgibl06uy.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;works fine ok now I need to check the given value as email or not in other place of the application! What will you do ? &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%2Fi%2Fe9n1iimc74lzgiigw4q9.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%2Fi%2Fe9n1iimc74lzgiigw4q9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;works fine no issues ! but wait is this a standard way to do same code is written in two places if that looks ok for you , but your code reviewer will catch you   how we can reuse this ? &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%2Fi%2Fsurggslfh1frj7c3ae4z.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%2Fi%2Fsurggslfh1frj7c3ae4z.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;looks fine &lt;code&gt;isEmail&lt;/code&gt; is the common function that holds all the logic for checking a given value in email or not . &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%2Fi%2Frpk0lty68xy6h5x2rc06.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%2Fi%2Frpk0lty68xy6h5x2rc06.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;this is great now you can reuse this logic anywhere and your code reviewer fill make a ✅ for your code&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is a common behaviour and this how many of us use what's new here&lt;/em&gt; ? ? ok if your using like above that's fine keep doing along with the following , else do both&lt;/p&gt;

&lt;p&gt;let me explain the things with the a bot that i've made for the HR's . This app generates reply messages for the hr that is generates using some of the commonly used keywords . &lt;br&gt;
&lt;code&gt;generateReplyMessage&lt;/code&gt; is the common helper function that can be used to generate messages.&lt;br&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%2Fi%2Ftwxn1889kawph1bfjfaj.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%2Fi%2Ftwxn1889kawph1bfjfaj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
This is how we use that function&lt;br&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%2Fi%2Fjogvqdd0knnnfvolwwvk.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%2Fi%2Fjogvqdd0knnnfvolwwvk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;so seems normal like the previous one ! chill here comes the intresting part .&lt;/p&gt;

&lt;h3&gt;
  
  
  Why it is important ?
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;believe it or not a greater MNC rejected me offer by telling Code Splitting as a reason!! even though I did some but not fully&lt;/em&gt; 😢 &lt;br&gt;
not because of that it can be a life saver when your application size increases by a large amount.&lt;/p&gt;

&lt;h3&gt;
  
  
  Question bytes
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Have you ever had a question when will the imported files will be called?&lt;/em&gt;&lt;br&gt;
--&amp;gt; &lt;em&gt;option A : During the imported function/Component execution&lt;/em&gt;&lt;br&gt;&lt;br&gt;
--&amp;gt; &lt;em&gt;option B : Before parent component render&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;if your answer is A then make a console and check you'll get it . Even before the parent render the import statements are loaded !&lt;/p&gt;

&lt;p&gt;Oh oh !! then how can I load the files only when it needs ??&lt;/p&gt;

&lt;h2&gt;
  
  
  React Provides
&lt;/h2&gt;

&lt;p&gt;React provides a better and easy way to achieve this.You can achieve this by just modifying the import like &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%2Fi%2Fvzv3hupvumiex9codleg.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%2Fi%2Fvzv3hupvumiex9codleg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;by doing so the &lt;code&gt;generateReplyMessage&lt;/code&gt; will be imported from the &lt;code&gt;helper&lt;/code&gt; functions only during the call of &lt;code&gt;generateReplyMessage&lt;/code&gt; uhhh this is how it should execute. By this method we can achieve the &lt;strong&gt;Code-Splitting&lt;/strong&gt; in react. &lt;/p&gt;

&lt;p&gt;Wait how it will be evidenced in browser ? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;with code splitting&lt;/em&gt;&lt;/strong&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%2Fi%2F8i57uuklzpevfc3js268.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%2Fi%2F8i57uuklzpevfc3js268.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;you can see two chunk files are loaded second one is loaded only when the &lt;code&gt;generateReplyMessage&lt;/code&gt; is called.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;with out code splitting&lt;/em&gt;&lt;/strong&gt;&lt;br&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%2Fi%2Fx3byyvq6dqmoboer9n4h.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%2Fi%2Fx3byyvq6dqmoboer9n4h.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;this will have a single chunk as a whole&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;this shows some splitting process has been done .That's it !&lt;/p&gt;

&lt;p&gt;Check this offical &lt;a href="https://reactjs.org/docs/code-splitting.html" rel="noopener noreferrer"&gt;docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Get the code &lt;a href="https://github.com/karthick3018/my-bot" rel="noopener noreferrer"&gt;here&lt;/a&gt; &lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;connect with me on&lt;/em&gt; &lt;a href="https://www.linkedin.com/in/karthick-raja-dev/" rel="noopener noreferrer"&gt;linkedIn&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30" rel="noopener noreferrer"&gt;codepen&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Code Splitting in React </title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Wed, 14 Oct 2020 19:30:47 +0000</pubDate>
      <link>https://dev.to/karthick30/code-splitting-in-react-hnl</link>
      <guid>https://dev.to/karthick30/code-splitting-in-react-hnl</guid>
      <description>&lt;p&gt;Code splitting is one of the best thing on every programming aspect that you use. It is the process of breaking a larger number of codes into smaller blocks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Code Splitting ?
&lt;/h2&gt;

&lt;p&gt;Code spliting can always be useful , It is &lt;br&gt;
   --&amp;gt; &lt;em&gt;easy to abstract&lt;/em&gt;&lt;br&gt;
   --&amp;gt; &lt;em&gt;easy to debug&lt;/em&gt;&lt;br&gt;
   --&amp;gt; &lt;em&gt;easy to unit test&lt;/em&gt;&lt;br&gt;
   --&amp;gt; &lt;em&gt;easy to reuse and avoid duplication of code&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How it can be achived in react ?
&lt;/h2&gt;

&lt;p&gt;If you're using of &lt;strong&gt;NextJs&lt;/strong&gt; you might be aware of it's one of the advantage that nextjs provides code-splitting out the box. &lt;/p&gt;

&lt;p&gt;So is this not possible in react? Definitely possible why not? with a minimal modification we can achieve the thing provided in nextjs in react too. &lt;/p&gt;

&lt;p&gt;let us take a submit function which validates the submitted values as a valid email or not &lt;br&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%2Fi%2Fnzl2duoa9ihxgibl06uy.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%2Fi%2Fnzl2duoa9ihxgibl06uy.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;works fine ok now I need to check the given value as email or not in other place of the application! What will you do ? &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%2Fi%2Fe9n1iimc74lzgiigw4q9.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%2Fi%2Fe9n1iimc74lzgiigw4q9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;works fine no issues ! but wait is this a standard way to do same code is written in two places if that looks ok for you , but your code reviewer will catch you   how we can reuse this ? &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%2Fi%2Fsurggslfh1frj7c3ae4z.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%2Fi%2Fsurggslfh1frj7c3ae4z.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;looks fine &lt;code&gt;isEmail&lt;/code&gt; is the common function that holds all the logic for checking a given value in email or not . &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%2Fi%2Frpk0lty68xy6h5x2rc06.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%2Fi%2Frpk0lty68xy6h5x2rc06.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;this is great now you can reuse this logic anywhere and your code reviewer fill make a ✅ for your code&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is a common behaviour and this how many of us use what's new here&lt;/em&gt; ? ? ok if your using like above that's fine keep doing along with the following , else do both&lt;/p&gt;

&lt;p&gt;let me explain the things with the a bot that i've made for the HR's . This app generates reply messages for the hr that is generates using some of the commonly used keywords . &lt;br&gt;
&lt;code&gt;generateReplyMessage&lt;/code&gt; is the common helper function that can be used to generate messages.&lt;br&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%2Fi%2Ftwxn1889kawph1bfjfaj.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%2Fi%2Ftwxn1889kawph1bfjfaj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
This is how we use that function&lt;br&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%2Fi%2Fjogvqdd0knnnfvolwwvk.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%2Fi%2Fjogvqdd0knnnfvolwwvk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;so seems normal like the previous one ! chill here comes the intresting part .&lt;/p&gt;

&lt;h3&gt;
  
  
  Why it is important ?
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;believe it or not a greater MNC rejected me offer by telling Code Splitting as a reason!! even though I did some but not fully&lt;/em&gt; 😢 &lt;br&gt;
not because of that it can be a life saver when your application size increases by a large amount.&lt;/p&gt;

&lt;h3&gt;
  
  
  Question bytes
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Have you ever had a question when will the imported files will be called?&lt;/em&gt;&lt;br&gt;
--&amp;gt; &lt;em&gt;option A : During the imported function/Component execution&lt;/em&gt;&lt;br&gt;&lt;br&gt;
--&amp;gt; &lt;em&gt;option B : Before parent component render&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;if your answer is A then make a console and check you'll get it . Even before the parent render the import statements are loaded !&lt;/p&gt;

&lt;p&gt;Oh oh !! then how can I load the files only when it needs ??&lt;/p&gt;

&lt;h2&gt;
  
  
  React Provides
&lt;/h2&gt;

&lt;p&gt;React provides a better and easy way to achieve this.You can achieve this by just modifying the import like &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%2Fi%2Fvzv3hupvumiex9codleg.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%2Fi%2Fvzv3hupvumiex9codleg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;by doing so the &lt;code&gt;generateReplyMessage&lt;/code&gt; will be imported from the &lt;code&gt;helper&lt;/code&gt; functions only during the call of &lt;code&gt;generateReplyMessage&lt;/code&gt; uhhh this is how it should execute. By this method we can achieve the &lt;strong&gt;Code-Splitting&lt;/strong&gt; in react. &lt;/p&gt;

&lt;p&gt;Wait how it will be evidenced in browser ? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;with code splitting&lt;/em&gt;&lt;/strong&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%2Fi%2F8i57uuklzpevfc3js268.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%2Fi%2F8i57uuklzpevfc3js268.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;you can see two chunk files are loaded second one is loaded only when the &lt;code&gt;generateReplyMessage&lt;/code&gt; is called.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;with out code splitting&lt;/em&gt;&lt;/strong&gt;&lt;br&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%2Fi%2Fx3byyvq6dqmoboer9n4h.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%2Fi%2Fx3byyvq6dqmoboer9n4h.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;this will have a single chunk as a whole&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;this shows some splitting process has been done .That's it !&lt;/p&gt;

&lt;p&gt;Check this offical &lt;a href="https://reactjs.org/docs/code-splitting.html" rel="noopener noreferrer"&gt;docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Get the code &lt;a href="https://github.com/karthick3018/my-bot" rel="noopener noreferrer"&gt;here&lt;/a&gt; &lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;connect with me on&lt;/em&gt; &lt;a href="https://www.linkedin.com/in/karthick-raja-dev/" rel="noopener noreferrer"&gt;linkedIn&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30" rel="noopener noreferrer"&gt;codepen&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>functional</category>
    </item>
    <item>
      <title>🚀🚀10 sites or apps that can make your frontend development to pro* level </title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Fri, 24 Jul 2020 05:34:23 +0000</pubDate>
      <link>https://dev.to/karthick30/10-sites-or-apps-that-can-make-your-frontend-development-to-pro-level-459p</link>
      <guid>https://dev.to/karthick30/10-sites-or-apps-that-can-make-your-frontend-development-to-pro-level-459p</guid>
      <description>&lt;p&gt;These are the site / apps/ extenstion I found very useful in my frontend development. &lt;/p&gt;

&lt;p&gt;They can eventually &lt;strong&gt;5x&lt;/strong&gt; your developement speed.&lt;/p&gt;

&lt;h1&gt;
  
  
  Responsive
&lt;/h1&gt;

&lt;p&gt;I'll place this in the top place, &lt;a href="https://responsively.app/" rel="noopener noreferrer"&gt;it is&lt;/a&gt; one of the emergging open-source electorn app where you can check the resposiveness of multiple phone and screen.&lt;/p&gt;

&lt;p&gt;Not only that &lt;em&gt;think of this scenario&lt;/em&gt; you can inspect and add a css code it gets changed in all the screens you can check how the code impacted in all resposive screens in a single window ! &lt;/p&gt;

&lt;p&gt;&lt;em&gt;can't get cool😎 than this&lt;/em&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%2Fi%2F6qa3d1y5whz19upjuos0.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%2Fi%2F6qa3d1y5whz19upjuos0.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github URL : &lt;a href="https://github.com/manojVivek/responsively-app" rel="noopener noreferrer"&gt;https://github.com/manojVivek/responsively-app&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Work From Home mate
&lt;/h1&gt;

&lt;p&gt;It is an helper application to balance the work life in the modern wfh pattern. It can help you to stay dehydrated and take a quick and accurate break.&lt;br&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%2Fi%2F90ap7hk8f2ia357zl31d.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%2Fi%2F90ap7hk8f2ia357zl31d.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github URL : &lt;a href="https://github.com/karthick3018/wfh-mate" rel="noopener noreferrer"&gt;https://github.com/karthick3018/wfh-mate&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Shape Divider
&lt;/h1&gt;

&lt;p&gt;Resposively got the 1st badge in the product hunt here it the second bagde holder.&lt;/p&gt;

&lt;p&gt;In the modern desgin world we'll get many background or floating shapes like waves , curve etc. &lt;/p&gt;

&lt;p&gt;This &lt;a href="https://www.shapedivider.app/" rel="noopener noreferrer"&gt;app&lt;/a&gt; can solve that easily it can be helpful in making diffrent type of shapes and generate css for the shape&lt;br&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%2Fi%2F7c5p7mbahknd88z9j5jk.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%2Fi%2F7c5p7mbahknd88z9j5jk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;App link : &lt;a href="https://www.shapedivider.app/" rel="noopener noreferrer"&gt;https://www.shapedivider.app/&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Animation
&lt;/h1&gt;

&lt;p&gt;If we use style and animation for a text or any element animation is the first thing that seeks attention of the user. We can complain even I looks there first 😂&lt;/p&gt;

&lt;p&gt;Animista can help you with , it has many animation templates you can select any and check how it works actually. Out of the box they generates CSS for the particular animation. Animation can be simple now :man-shrugging:&lt;br&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%2Fi%2Fc70qsde7upgb2mpjeusw.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%2Fi%2Fc70qsde7upgb2mpjeusw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;App Link: &lt;a href="https://animista.net/" rel="noopener noreferrer"&gt;https://animista.net/&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Border-radius
&lt;/h1&gt;

&lt;p&gt;This is the only border-radius code or template i've seen 2 years back &lt;code&gt;border-radius:10px&lt;/code&gt; or &lt;code&gt;border-radius:50%&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;but now it way ahead having multiple border shapes in today's design. Design is nice come on how can we generate that by just inspecting a element  :face_with_rolling_eyes:&lt;/p&gt;

&lt;p&gt;This site solves my border-radius issue recently now it's easy! let's do different border radius &lt;br&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%2Fi%2F4mspp7b23g9qcvwlpf0n.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%2Fi%2F4mspp7b23g9qcvwlpf0n.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Site Link : &lt;a href="https://9elements.github.io/fancy-border-radius/" rel="noopener noreferrer"&gt;https://9elements.github.io/fancy-border-radius/&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Gradient
&lt;/h1&gt;

&lt;p&gt;Gradient colors are the one often used for background and other stuffs. Same inspect can't help much more . But Css-matic can help it with to generate cool gradients .&lt;/p&gt;

&lt;p&gt;In my recent &lt;a href="https://dev.to/karthick3018/check-this-scss-methods-before-using-scss-build-an-apple-imusic-style-16kp"&gt;post&lt;/a&gt; I created the background using this site it's cool&lt;/p&gt;

&lt;p&gt;It can handle other stuff's like box-shadow,border-radius,noise-texture &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%2Fi%2F1ipbg0lpemmgrp84dtpf.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%2Fi%2F1ipbg0lpemmgrp84dtpf.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Site Link : &lt;a href="https://www.cssmatic.com/" rel="noopener noreferrer"&gt;https://www.cssmatic.com/&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  CSS Clip Path
&lt;/h1&gt;

&lt;p&gt;CSS Clip path is the one used for shaping the svg or image other than using border-radius . It can be used to generate the available geomentric shapes.&lt;/p&gt;

&lt;p&gt;This site can help to clip the shapes and generate the CSS value for that shape &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%2Fi%2Fos1efje1pus8trv6vmvf.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%2Fi%2Fos1efje1pus8trv6vmvf.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;App link : &lt;a href="https://bennettfeely.com/clippy/" rel="noopener noreferrer"&gt;https://bennettfeely.com/clippy/&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Shape Templates
&lt;/h1&gt;

&lt;p&gt;These are some of the shapes created using css they can act as a tempalate for you . Well I copied trapezoid recently from here. &lt;/p&gt;

&lt;p&gt;App link : &lt;a href="https://css-tricks.com/the-shapes-of-css/" rel="noopener noreferrer"&gt;https://css-tricks.com/the-shapes-of-css/&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Icons
&lt;/h1&gt;

&lt;p&gt;Icons are the things that can't be avoided in making a website wheather it can be of svg or from font awesome.&lt;/p&gt;

&lt;p&gt;This site has the limited number of icons but it covers major icons in the use case for free&lt;/p&gt;

&lt;p&gt;App link : &lt;a href="https://heroicons.dev/" rel="noopener noreferrer"&gt;https://heroicons.dev/&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Font Selector
&lt;/h1&gt;

&lt;p&gt;We see many of the site is our day to day web surff some fonts many be influenced us this simple chrome extension can help to find the font used in any of the sites &lt;/p&gt;

&lt;p&gt;App link : &lt;a href="https://chrome.google.com/webstore/detail/whatfont/jabopobgcpjmedljpbcaablpmlmfcogm?hl=en" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/whatfont/jabopobgcpjmedljpbcaablpmlmfcogm?hl=en&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;it can be done using inspect as well 😝 but you can't inspect every text used it may have multiple fonts&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Color Selector
&lt;/h1&gt;

&lt;p&gt;Same like the font selector it is color selector many of you would've used already just mentioning here &lt;/p&gt;

&lt;p&gt;App link : &lt;a href="https://chrome.google.com/webstore/detail/colorzilla/bhlhnicpbhignbdhedgjhgdocnmhomnp?hl=en" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/colorzilla/bhlhnicpbhignbdhedgjhgdocnmhomnp?hl=en&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Box Shadow
&lt;/h1&gt;

&lt;p&gt;This Site has the list of box shadows &lt;/p&gt;

&lt;p&gt;&lt;a href="https://getcssscan.com/css-box-shadow-examples" rel="noopener noreferrer"&gt;https://getcssscan.com/css-box-shadow-examples&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This github repo has other list of links or resources that can help you with website development&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/bradtraversy/design-resources-for-developers" rel="noopener noreferrer"&gt;https://github.com/bradtraversy/design-resources-for-developers&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Share the other resources that helped you a lot&lt;/em&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%2Fi%2F6tvvqaxjap2xcud4sdb1.jpeg" 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%2Fi%2F6tvvqaxjap2xcud4sdb1.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30" rel="noopener noreferrer"&gt;codepen&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;connect with me on&lt;/em&gt; &lt;a href="https://www.linkedin.com/in/karthick-raja-dev/" rel="noopener noreferrer"&gt;linkedIn&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>design</category>
      <category>html</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Check this SCSS methods before using SCSS,Build an Apple iMusic Style</title>
      <dc:creator>KaRthick</dc:creator>
      <pubDate>Thu, 02 Jul 2020 14:30:37 +0000</pubDate>
      <link>https://dev.to/karthick30/check-this-scss-methods-before-using-scss-build-an-apple-imusic-style-16kp</link>
      <guid>https://dev.to/karthick30/check-this-scss-methods-before-using-scss-build-an-apple-imusic-style-16kp</guid>
      <description>&lt;p&gt;In recent time got to work on CSS . Started with &lt;strong&gt;SCSS&lt;/strong&gt; initially it's really a cool one being a react enthusiast I got some relaxation on seeing the &lt;em&gt;import&lt;/em&gt; being used in SCSS.&lt;/p&gt;

&lt;p&gt;Here are some of the cool stuff I came to know in the SCSS &lt;/p&gt;

&lt;h1&gt;
  
  
  Global Variables
&lt;/h1&gt;

&lt;p&gt;This feature is available in CSS itself here in SCSS present with a different syntax &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nt0uZStJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3i2ut9z47bzp6exnlb4m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nt0uZStJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3i2ut9z47bzp6exnlb4m.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;now it can be used in the whole file as &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1ncbKH6V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xbjsijzabbb0u9ci27it.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1ncbKH6V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xbjsijzabbb0u9ci27it.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Nesting Media Query in a class
&lt;/h1&gt;

&lt;p&gt;Media query can be nested inside the class. By doing so we can see the actual size and size we need in the media query &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hZ8H81pM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5djvk29adoirgpz5eeiw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hZ8H81pM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5djvk29adoirgpz5eeiw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Mixin
&lt;/h1&gt;

&lt;p&gt;Conditional statements , common functions , Loop,.. wait wait all these are programming stuff isn't CSS can be a challenging program too if you're answer is &lt;strong&gt;no it's not&lt;/strong&gt; then you haven't played with any of tough animation stuff!&lt;/p&gt;

&lt;p&gt;Using mixin we can use these stuff in SCSS&lt;/p&gt;

&lt;h3&gt;
  
  
  Common function
&lt;/h3&gt;

&lt;p&gt;The repeating properties can be declared in a mixin and can be reused in places you want .&lt;/p&gt;

&lt;p&gt;For me flex property are the things I used to repeat a lot .&lt;br&gt;
So I created a mixin named flex and declared the properties that are going to be used often.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ABGcAuQs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9ezj4n0kx99nt0l5px78.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ABGcAuQs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9ezj4n0kx99nt0l5px78.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;mixin has way many usages I would recommend this article from &lt;a href="https://scotch.io/tutorials/how-to-use-sass-mixins"&gt;scotch.in&lt;/a&gt; which explains lot more in mixin &lt;/p&gt;

&lt;h1&gt;
  
  
  '&amp;amp;' connector to connect classes
&lt;/h1&gt;

&lt;p&gt;Many time you needs to classes to be combined the additional class will have the property like color or anything that is added to override the main class or add additional property&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--frNHnVnQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/md0yc4mlx57s9i8uumav.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--frNHnVnQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/md0yc4mlx57s9i8uumav.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;now the div the &lt;em&gt;class&lt;/em&gt; has it's own property of background and width , this property can be overridden by using additional class like &lt;strong&gt;class-active-cls&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;this can be used with Pseudo-classes as well &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OjeyKLSK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/blldh212pkj5b9f0hpjt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OjeyKLSK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/blldh212pkj5b9f0hpjt.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Apple iMusic style
&lt;/h2&gt;

&lt;p&gt;I took this nice design from dribbble by &lt;a href="https://dribbble.com/shots/12389575-Apple-Music-Dark-Theme"&gt;Charles&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I used a lot more flex here to get to know about flex more &lt;/p&gt;

&lt;p&gt;This is the main wrapper which is used to display the song items &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z3NcVI3g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qu3yd31arlnfh065fbqk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z3NcVI3g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qu3yd31arlnfh065fbqk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;the respective styles for the html &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0E10T38U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0qmi765l22ioy0emvbww.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0E10T38U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0qmi765l22ioy0emvbww.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can check the full code &lt;a href="https://codepen.io/karthick30/pen/abdLwxN"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;check more pen &lt;a href="https://codepen.io/karthick30"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;newbie for CSS!&lt;/em&gt; &lt;strong&gt;Open for suggestions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Share the SCSS tricks or methods that I missed&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;check my dev projects on&lt;/em&gt; &lt;a href="https://github.com/karthick3018"&gt;github&lt;/a&gt;&lt;br&gt;
&lt;em&gt;check my styles on&lt;/em&gt; &lt;a href="https://codepen.io/karthick30"&gt;codepen&lt;/a&gt;&lt;br&gt;
 &lt;em&gt;Follow me on&lt;/em&gt; &lt;a href="https://twitter.com/Karthick_R_30"&gt;twitter&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Thanks for your time&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Happy coding ! Keep Sharing&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Stay Safe&lt;/em&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>html</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
