<?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: Anguram Shanmugam</title>
    <description>The latest articles on DEV Community by Anguram Shanmugam (@heyprotagonist).</description>
    <link>https://dev.to/heyprotagonist</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%2F316801%2Fdb826d80-9d37-4b70-807a-5836183d4414.jpg</url>
      <title>DEV Community: Anguram Shanmugam</title>
      <link>https://dev.to/heyprotagonist</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/heyprotagonist"/>
    <language>en</language>
    <item>
      <title>Event Loop</title>
      <dc:creator>Anguram Shanmugam</dc:creator>
      <pubDate>Wed, 19 May 2021 17:01:56 +0000</pubDate>
      <link>https://dev.to/heyprotagonist/event-l-p-2do1</link>
      <guid>https://dev.to/heyprotagonist/event-l-p-2do1</guid>
      <description>&lt;p&gt;&lt;code&gt;Disclaimer: This article is all about event-loop. It may have soo many dependency articles or too little. But It will confuse you like christopher nolan movies. So, Save your brains✌&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Let's Begin 🚀&lt;br&gt;
&lt;a href="https://i.giphy.com/media/26wkP6n7c8fQJbhVS/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/26wkP6n7c8fQJbhVS/giphy.gif" alt="Let's Begin"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  EventLoop
&lt;/h1&gt;

&lt;p&gt;In a nutshell it's a loop. But differ from other loops i.e., from movies or traditional loop(for, while). Because, you can't write this eventloop. In nature it's declarative. I know you won't get nothing with the definition above 🤷‍♂️.&lt;/p&gt;

&lt;p&gt;It's Okay let's go for an analogy tour. Let's use &lt;a href="https://www.dccomics.com/characters/the-flash" rel="noopener noreferrer"&gt;flash&lt;/a&gt; from DC Comics. If anyone not familiar with "flash". He's speedster, nerd, moron, who got superpower from lighting. Not only that it makes him run like thunder.&lt;br&gt;
&lt;code&gt;If you think that you don't get it. Just see the intro of any episode. Same blah blah blah for every episodes😒😒😒&lt;/code&gt;&lt;br&gt;
&lt;a href="https://youtu.be/Mx7xTF8fKz4" rel="noopener noreferrer"&gt;The Flash Series | Intro&lt;/a&gt;&lt;br&gt;
&lt;a href="https://i.giphy.com/media/ygBDQatBsywQmoGzS0/giphy-downsized.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/ygBDQatBsywQmoGzS0/giphy-downsized.gif" alt="Troll Flash"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There's an episode in flash which very opt for this article. But I don't wanna stack you with these sci-fi stuffs. So, Imagine flash running on a Athlete track with his lighting speed⚡&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%2Fcdn.pixabay.com%2Fphoto%2F2015%2F11%2F02%2F15%2F35%2Frunning-1018587_1280.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%2Fcdn.pixabay.com%2Fphoto%2F2015%2F11%2F02%2F15%2F35%2Frunning-1018587_1280.png" alt="Athlete Track"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;According to flash he see stuffs too slow which is completely opposite for us. So, I let's make him to do some stuffs.&lt;br&gt;
For example: I want him to capture photo of 734th seat in the stadium and also I want him to change lane for every time he take photo of 734th seat in the stadium.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/5UCpmbzvZKQCfuF2P2/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/5UCpmbzvZKQCfuF2P2/giphy.gif" alt="So much math"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I don't want you to calculate. Just letting you know his capability⚡&lt;br&gt;
This is event-loop. It runs on it's track by doing the tasks/process in the main thread.&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%2Ftenor.com%2Fxvkk.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%2Ftenor.com%2Fxvkk.gif" alt="unbelievable"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Main Thread?
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;Don't worry this is not gist article. Trust me!&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In nature JavaScript is single-threaded i.e. it runs in single procress of CPU's bunch of processes. Process are called thread. Because it's good to have a convention which stick tight to the processor POV. Each core are compatible for certain limit of threads and virtualization, etc,. that's processor side which we don't really need here.&lt;/p&gt;

&lt;p&gt;The thing is simple. The app you're running which is built in javascript runs only in one thread. That thread is known as &lt;code&gt;main thread&lt;/code&gt; and that's where event-loop a.k.a &lt;code&gt;flash now runs😅 just joking!&lt;/code&gt;. But here's the nolan twist for you 🤗. Well it's not totally true.&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%2Fmedia1.tenor.com%2Fimages%2F6fe598c17fbe699654128ed3d5388d3f%2Ftenor.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%2Fmedia1.tenor.com%2Fimages%2F6fe598c17fbe699654128ed3d5388d3f%2Ftenor.gif" alt="deal with it"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Well the main purpose of the eventloop is to stick with main thread. So, whenever you pass a task which need more time to process. Then the eventloop will mark it and sends it to the engine i.e. &lt;a href="https://en.wikipedia.org/wiki/JavaScript_engine" rel="noopener noreferrer"&gt;JavaScript Engine&lt;/a&gt;. The engine runs the process and let the eventloop know when it's done. Then eventloop get the finished process from engine and do it's stuffs.&lt;/p&gt;

&lt;p&gt;If you still struggling to wrap your head around?&lt;br&gt;
Okay, I told you above, That there's an episode in flash which is very opt right! &lt;br&gt;
watch the below youtube video.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/GwolEq2pmoE"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;See! The main thread a.k.a is not protaganist anyway😂.&lt;br&gt;
&lt;code&gt;just kidding. he is. Then why do we need a thread like 'savitar' anyways right?&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Well It turns out. We need it. because nowadays I don't wait to see the above video loading for even a second. I need that blazing fast performance✨ out of everything. because CPU's gettings shrink to 2nm &amp;amp; even smaller (&lt;code&gt;Anyway it don't know what is corona! I need to declare that 🤷‍♀️&lt;/code&gt;)&lt;br&gt;
&lt;a href="https://i.giphy.com/media/t2eBr71ACeDC0/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/t2eBr71ACeDC0/giphy.gif" alt="moron"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, Threads will take care of that heavy lifting. Event-loop will let the Engine know about the process and engine creates or use another thread(&lt;code&gt;like Poor Savitar😅&lt;/code&gt;) then join it to the main thread.&lt;/p&gt;
&lt;h1&gt;
  
  
  But Actually how this works in JavaScript?
&lt;/h1&gt;

&lt;p&gt;JavaScript has three concepts that we need to know first.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Promises&lt;/li&gt;
&lt;li&gt;callback&lt;/li&gt;
&lt;li&gt;async await&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's an free token to get out this article. You can either watch the below youtube videos to getting professional level knowledge(&lt;code&gt;see it in order&lt;/code&gt;) or if you're good with me then trust I'll save you 🤗&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/cCOL7MC4Pl0" rel="noopener noreferrer"&gt;Jake Archibald's Talk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=YiYtwbnPfkY&amp;amp;t=637s" rel="noopener noreferrer"&gt;Understanding JavaScript Promises in Simple English&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=vn3tm0quoqE&amp;amp;t=3s" rel="noopener noreferrer"&gt;The Async Await Episode I Promised&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freecodecamp.org/news/javascript-callback-functions-what-are-callbacks-in-js-and-how-to-use-them/" rel="noopener noreferrer"&gt;Callback function&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
  
  
  Back to article
&lt;/h1&gt;

&lt;p&gt;If you're reading still. Thanks mate for trusting me🤧&lt;br&gt;
&lt;a href="https://i.giphy.com/media/IMDpHiz2oVAxW/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/IMDpHiz2oVAxW/giphy.gif" alt="Thanks"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Promises
&lt;/h1&gt;

&lt;p&gt;It's nothing but the promise your girlfriend/boyfriend made to you😂. Either It'll be fulfilled or rejected a.k.a fake promise🤣.&lt;/p&gt;

&lt;p&gt;Yeah, It's true. let me show you.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const myLovePromise = new Promise((resolve, reject) =&amp;gt; {
setTimeout(() =&amp;gt; {
resolve('foo');
}, 300);
});

myLovePromise
.then(handleResolvedA, handleRejectedA)
.then(handleResolvedB, handleRejectedB)
.then(handleResolvedC, handleRejectedC)
.catch(err =&amp;gt; { console.log(err) });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every promise will have two parameters. Using this we can attach many function/operations depending on a single promise. This process is called promise-chaining.&lt;/p&gt;

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

&lt;h1&gt;
  
  
  Callback
&lt;/h1&gt;

&lt;p&gt;It's the cool feature I've ever seen. A Callback function is just function. But passed an argument. See 😃 it's freakin awesome right!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// normal function
function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}

// function which accepts a function as parameter: myCallback
function myCalculator(num1, num2, myCallback) {
  let sum = num1 + num2;
  myCallback(sum);
}

// Passing function as a parameter
myCalculator(5, 5, myDisplayer);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you need a simple and sweet example. Take &lt;code&gt;setTimeout Function&lt;/code&gt;. All need to do is to pass your operations in as function with the delay.&lt;/p&gt;

&lt;h1&gt;
  
  
  Async Await
&lt;/h1&gt;

&lt;p&gt;This is an syntatic sugar for promises. After using the above method for some time. You'll realise that you are just pouring code in a single block. Instead of adding more readability to the code. That's where async await come in to picture.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://javascript.info/async-await" rel="noopener noreferrer"&gt;Refer this tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=vn3tm0quoqE&amp;amp;t=13s" rel="noopener noreferrer"&gt;The Async Await Episode I Promised&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;h1&gt;
  
  
  Finally
&lt;/h1&gt;

&lt;p&gt;As it turns out event-loop handle these three concepts efficiently by catagorize them as &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API/Microtask_guide/In_depth" rel="noopener noreferrer"&gt;Microtasks and Macrotasks&lt;/a&gt;. Each are treated in each way. For an elaborated explanation use MDN Docs.&lt;/p&gt;

&lt;p&gt;So, Eventloop in JavaScript is crucial when it comes to task management. In server-side with the help of  NodeJS, You can play with the eventloop to get a good picture out of it.&lt;/p&gt;

&lt;p&gt;Hope I confused you most enough with my explanation. &lt;br&gt;
&lt;a href="https://i.giphy.com/media/IffwQuk0uYwOIJEpon/giphy-downsized.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/IffwQuk0uYwOIJEpon/giphy-downsized.gif" alt="IDC"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some developers openly stated in many videos, articles that JavaScript confusable and non-sensicle language. &lt;/p&gt;

&lt;p&gt;But If you ask me! 🤷‍♀️&lt;br&gt;
&lt;a href="https://i.giphy.com/media/KCeVzKxHlfVkDmkeYH/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/KCeVzKxHlfVkDmkeYH/giphy.gif" alt="thats what she said"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Com'on mate, It's a friendly programming language.&lt;/code&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Learn Fullstack | 2021</title>
      <dc:creator>Anguram Shanmugam</dc:creator>
      <pubDate>Wed, 19 May 2021 04:32:09 +0000</pubDate>
      <link>https://dev.to/heyprotagonist/learn-fullstack-2021-54gd</link>
      <guid>https://dev.to/heyprotagonist/learn-fullstack-2021-54gd</guid>
      <description>&lt;p&gt;This article focus on Fullstack web development. So, Don't blame me for the "anaconda article".&lt;/p&gt;

&lt;p&gt;If you're not using React or using Angular/Vue. It's totally fine and will be compatible for you. You can start with idea and gist that I provide. Then Ladder up your skills with your taste 😉.&lt;/p&gt;

&lt;p&gt;let's begin 🚀&lt;br&gt;
&lt;a href="https://i.giphy.com/media/QxePySHSUR97cXmCH0/giphy-downsized.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/QxePySHSUR97cXmCH0/giphy-downsized.gif" alt="Laugh at your time"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Fullstack web development
&lt;/h1&gt;

&lt;h4&gt;
  
  
  According to W3Schools:
&lt;/h4&gt;

&lt;p&gt;A full stack web developer is a person who can develop both client and server software.&lt;/p&gt;

&lt;p&gt;In addition to mastering HTML and CSS, he/she also knows how to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Program a browser (like using JavaScript, jQuery, Angular, or Vue)&lt;/li&gt;
&lt;li&gt;Program a server (like using PHP, ASP, Python, or Node)&lt;/li&gt;
&lt;li&gt;Program a database (like using SQL, SQLite, or MongoDB)
&lt;img src="https://i.giphy.com/media/5kFJkMhfOnQ02VdkHy/giphy-downsized.gif" alt="Thats what she said!"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But If you ask me. An fullstack devloper is a "wizard" in web dev universe. Because you can do literally everything from backend to frontend. So, Enough about the inaugurals.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/5wWf7H89PisM6An8UAU/giphy-downsized.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/5wWf7H89PisM6An8UAU/giphy-downsized.gif" alt="Fullstack Freakin Dev"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Learning Curve
&lt;/h1&gt;

&lt;p&gt;There's a gotcha though i.e. the "Learning Curve". It's High if you look as a big picture. The first thing is to breakdown/compartmentalize your stack(Stack is nothing but like a stack of cards. But here each card is each tech e.g. React is an Tech in your tech Stack.)&lt;/p&gt;

&lt;p&gt;People will usually tell don't start with library or framework. Just start with Plain HTML, CSS, JAVASCRIPT.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/x54JG1A3WEzvEpsUuK/giphy-downsized.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/x54JG1A3WEzvEpsUuK/giphy-downsized.gif" alt="Mop the floor first"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Of course, It's crucial to have a crisp knowledge on Fundamentals. Because the reason is very simple. End of the day you'll be working on a Enterprise. In which you probably work for your company on a budgeted project. So, All your knowledge will be compromised for their requirements. You may learn in way that suits you. But it won't fit on their belts and they'll shape it according to their needs. For example: You learn modern database system. But what if your project have that old SQL system. will you fit in?&lt;/p&gt;

&lt;p&gt;The thing you missed probably is 'Standard'. The more standard you're, The more flexible you'll be. So, immediatly don't start from Assembly language😂. Just keep this in your mind. You'll know these in long run.&lt;/p&gt;

&lt;h1&gt;
  
  
  Checkpoint Reached
&lt;/h1&gt;

&lt;p&gt;If you're this far. congratulations🙌. You have the patience to master the full stack.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/5wWf7GW1AzV6pF3MaVW/giphy-downsized.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/5wWf7GW1AzV6pF3MaVW/giphy-downsized.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Frontend
&lt;/h2&gt;

&lt;p&gt;If you're a beginner and new to programming world. Start with HTML, CSS, JavaScript.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.w3schools.com/"&gt;w3schools&lt;/a&gt; is the best resource for newbies. But if you wanna be sassy😎 in it. Here are my recommendations.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PL7TLF4T4Tq2RNvYzF45yOeFi-O1KRAWtu"&gt;DevDreamer HTML Playlist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/playlist?list=PL7TLF4T4Tq2RCWa-ZRkEWXVtXteyZ2CjK"&gt;DevDreamer CSS Playlist&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://css-tricks.com/guides/"&gt;css-tricks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Some CSS related link will help in learning process
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://css-tricks.com/"&gt;css-tricks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cubic-bezier.com/#.17,.67,.83,.67"&gt;cubic-bezier&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cssgrid-generator.netlify.app/"&gt;CSS Grid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://flexboxfroggy.com/"&gt;CSS Flexbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://redd.gitbook.io/atomic-layout/"&gt;Atomic Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cssgradient.io/"&gt;CSS Gradiant&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  For JavaScript
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://javascript.info/"&gt;JavaScript.info&lt;/a&gt; Beginner Friendly&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript"&gt;MDN Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wanna get more sassy!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;use MDN for everything 😂 &lt;a href="https://developer.mozilla.org/en-US/docs/Web"&gt;MDN Docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Learn TypeScript for making better JavaScript codes &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now you're strong enough to survive in web-dev-world. But that's not enough. why?&lt;/p&gt;

&lt;h2&gt;
  
  
  Frontend Framework
&lt;/h2&gt;

&lt;p&gt;However we're going work with more and more pages and logics right?&lt;/p&gt;

&lt;p&gt;So, we need some tools or heavy-lifters to get things done in a organized and maintainable way for long-run. So, we're going to use library/Framework in it.&lt;/p&gt;

&lt;p&gt;Here comes the problem of 'This or That'. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which framework library should I learn?&lt;/li&gt;
&lt;li&gt;Which is best?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The question is more like Batman or Ironman, Superman or Thor. Each of them is best in their universe. So, It's not necessary to stick with one. Also remember, End of the Day it's all corporate.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Don't put all your apples in one basket! - EDWARD SNOWDEN&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you're beginner. Not in programming, But in web dev. Start with React. Since, it has good community and learning curve too simple. Once you got the hold. Try Vue, Svelte, Gatsby, Next.js, etc,.&lt;/p&gt;

&lt;p&gt;Checkout this youtube channel. It's awesome "one stop shop" for React:&lt;br&gt;
&lt;a href="https://www.youtube.com/channel/UC80PWRj_ZU8Zu0HSMNVwKWw"&gt;CODEVOLTION&lt;/a&gt;&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Backend
&lt;/h2&gt;

&lt;p&gt;oof! finally the second-half 😒&lt;code&gt;kill me right!&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Here's the another 'This or That'. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;which language for backend?&lt;/li&gt;
&lt;li&gt;Is node.js is secure like java, Python?&lt;/li&gt;
&lt;li&gt;SEO, ORM, blah blah.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;😂 This is were I stuck myself for long time. It's a black hole if you're learning on your own. &lt;/p&gt;

&lt;p&gt;The only way is start with one. Once you got the rhythm then learn new things. Have a standard knowledge about one thing(helps you in crucial scenario).&lt;/p&gt;

&lt;p&gt;My recommended resource for NodeJS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=TNV0_7QRDwY"&gt;Node.js with REST_API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  API is the most vital part
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;NOTE: You don't really need to learn Database side to learn BACKEND just know why's and what's. when you're doing things that you do!&lt;/code&gt;&lt;br&gt;
Learn graphql because most of the enterprises moving from REST to GraphQL. It's more like JQuery thing!. &lt;/p&gt;

&lt;p&gt;GraphQL is simple when you keep things simple.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.howtographql.com/"&gt;HowToGraphQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://graphql.org/learn/"&gt;GraphQL Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Database side
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/3o6UBgDNiVZHmypHuU/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/3o6UBgDNiVZHmypHuU/giphy.gif" alt="Kill me"&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;I know it's killing you already. But com'on guys!&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You may pick whatever you want. Unless or untill your boss thinks that you're a moron😂. Yeah that's true modern database can do anything. &lt;/p&gt;

&lt;p&gt;For example: If you see SQLite. It store every data not as traditional table format but as files.&lt;br&gt;
But If you proposed this idea to an enterprise which has terabytes of data!. you'll be kicked out of the office right away. I'm not trolling SQLite 😅😅😅 anyway some enterprise using SQLite.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/YMdekbXhqGkyyn048e/giphy-downsized.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/YMdekbXhqGkyyn048e/giphy-downsized.gif" alt="They're just jokes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My Recommendation is Go for MongoDB or PostgreSQL. Both awesome, beginner friendly, had good community support.&lt;/p&gt;

&lt;p&gt;After learning all the above go for these link: &lt;a href="https://fullstackopen.com/en/"&gt;https://fullstackopen.com/en/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's an anaconda article, I know. But I need to make sure that the content I provide is pretty good and meaningful.&lt;/p&gt;

&lt;p&gt;Have a blast🎉. Never get tired. If you got just watch something that get you out of the box for sometime!&lt;br&gt;
&lt;a href="https://i.giphy.com/media/IffwQuk0uYwOIJEpon/giphy-downsized.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/IffwQuk0uYwOIJEpon/giphy-downsized.gif" alt="IDC"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>fullstack</category>
      <category>javascript</category>
      <category>typescript</category>
    </item>
    <item>
      <title>React or React Native?</title>
      <dc:creator>Anguram Shanmugam</dc:creator>
      <pubDate>Tue, 02 Mar 2021 09:00:45 +0000</pubDate>
      <link>https://dev.to/heyprotagonist/react-react-native-530p</link>
      <guid>https://dev.to/heyprotagonist/react-react-native-530p</guid>
      <description>&lt;h1&gt;
  
  
  Hey 👽's
&lt;/h1&gt;

&lt;p&gt;I started React-Native for two todays. Which is very easy since it has same ReactJs features.&lt;/p&gt;

&lt;p&gt;But now I'm confused. Because the styles and codes are totally native codes. How Can I achieve the cross platform support feature i.e., Web.&lt;/p&gt;

&lt;p&gt;Also the doc specifies about React-Native_web.&lt;/p&gt;

&lt;p&gt;What's the Dealio?&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
