<?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: naijadeveloper</title>
    <description>The latest articles on DEV Community by naijadeveloper (@naijadeveloper).</description>
    <link>https://dev.to/naijadeveloper</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%2F170406%2Fc378fa27-7d5d-49e9-9de8-cf8768ad52be.jpg</url>
      <title>DEV Community: naijadeveloper</title>
      <link>https://dev.to/naijadeveloper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/naijadeveloper"/>
    <language>en</language>
    <item>
      <title>JavaScript is single-threaded but with async features? 🤔</title>
      <dc:creator>naijadeveloper</dc:creator>
      <pubDate>Thu, 24 Apr 2025 19:44:58 +0000</pubDate>
      <link>https://dev.to/naijadeveloper/javascript-is-single-threaded-but-with-async-features-521d</link>
      <guid>https://dev.to/naijadeveloper/javascript-is-single-threaded-but-with-async-features-521d</guid>
      <description>&lt;p&gt;Yes, JavaScript can only handle a single task at a time. To clarify: the JavaScript interpreter’s algorithm processes your program one statement or function at a time. If it encounters a time-consuming function, it will unapologetically take the time needed to process that function before moving forward.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.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%2Fqsd4hpowfolntqcyn5h1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fqsd4hpowfolntqcyn5h1.png" alt="Code blocking process" width="800" height="510"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the code above, the interpreter halts further execution to process the &lt;code&gt;while&lt;/code&gt; loop for 15 seconds before continuing.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where Asynchrony Comes From
&lt;/h2&gt;

&lt;p&gt;JavaScript’s asynchronous capabilities stem from its runtime environment—not the language itself.&lt;br&gt;
Chromium-based browsers (Chrome, Edge, Brave) use V8 (an open-source JavaScript interpreter written in C++). Some browsers use a different interpreter program.&lt;br&gt;
The host program, combined with the interpreter, forms JavaScript's execution environment. So when we say "the environment JavaScript runs in," we mean the host program that integrates the interpreter and extends JavaScript’s functionality i.e. &lt;code&gt;[Host Program] + [JS Interpreter] = Execution Environment&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Role of APIs
&lt;/h2&gt;

&lt;p&gt;The environment exposes additional features to JavaScript through APIs (Application Programming Interfaces). In browsers, these are called &lt;strong&gt;Web APIs&lt;/strong&gt;. They act as bridges between your JavaScript code and low-level system operations (e.g., file access, network requests).&lt;/p&gt;

&lt;h3&gt;
  
  
  Key points:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;APIs appear as simple JavaScript constructs but trigger complex C/C++ operations behind the scenes.&lt;/li&gt;
&lt;li&gt;The DOM (Document Object Model) is not part of JavaScript—it’s provided by the browser to let JavaScript interact with HTML/CSS. Even though &lt;code&gt;document.getElementById()&lt;/code&gt; looks like JavaScript, it’s actually a Web API that bridges JS to the browser. Also JavaScript constructs like &lt;code&gt;fetch()&lt;/code&gt; and &lt;code&gt;setTimeout()&lt;/code&gt;, are provided by the environment&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Thanks for reading!🙏🏽&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/leonardomso/33-js-concepts?tab=readme-ov-file" rel="noopener noreferrer"&gt;33 JavaScript Concepts&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Questions 🙋</title>
      <dc:creator>naijadeveloper</dc:creator>
      <pubDate>Thu, 13 Jun 2019 11:15:49 +0000</pubDate>
      <link>https://dev.to/naijadeveloper/questions-56p1</link>
      <guid>https://dev.to/naijadeveloper/questions-56p1</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Does Es6 classes make function contructors obsolete? 🤔 would you say "use a class instead" when you see me using a function constructor?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Have you seen anyone use the bitwise operators? 🤔 People hardly ever use those guys.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>javascript</category>
      <category>question</category>
      <category>help</category>
    </item>
    <item>
      <title>Just Smile</title>
      <dc:creator>naijadeveloper</dc:creator>
      <pubDate>Tue, 28 May 2019 01:06:21 +0000</pubDate>
      <link>https://dev.to/naijadeveloper/weird-3b95</link>
      <guid>https://dev.to/naijadeveloper/weird-3b95</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/naijadeveloper/embed/eaKqRV?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;br&gt;
Just Smile now&lt;/p&gt;

</description>
      <category>codepen</category>
    </item>
    <item>
      <title>Why the rush? just chill and code</title>
      <dc:creator>naijadeveloper</dc:creator>
      <pubDate>Mon, 27 May 2019 14:08:14 +0000</pubDate>
      <link>https://dev.to/naijadeveloper/why-the-rush-just-chill-and-code-14hl</link>
      <guid>https://dev.to/naijadeveloper/why-the-rush-just-chill-and-code-14hl</guid>
      <description>&lt;p&gt;Patience is annoying, I don't want to be patient, I want to know how to use all the programming languages in this world right now!! 😢, but that's not possible, at least for now, maybe in the future when they find ways to upload "brain knowledge" to the &lt;strong&gt;net&lt;/strong&gt; for people to download to their brains, lol, that'll be some weird future though🤔. But anyway, the most important thing to realise is that in programming "patience" is unavoidable, so just chill and take your time. Don't be like how I was, I was learning java swing and javafx,  android, html, css, Javascript, php, python and nodejs and react, angular, I think at that time I was also actively interested in react native and electronjs, point is, learning alot of stuffs at once is stressful 😔. I got frustrated and stopped coding for months. Now I have to revisit those concepts in Javascript I should already be a pro at. But anyway, right now, I am focusing on only HTML, CSS and Javascript.🙃&lt;br&gt;
wish me luck.🤓&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I explain how the browser renders an interactive webpage like you were five</title>
      <dc:creator>naijadeveloper</dc:creator>
      <pubDate>Sun, 26 May 2019 00:44:11 +0000</pubDate>
      <link>https://dev.to/naijadeveloper/i-explain-how-the-browser-renders-an-interactive-webpage-like-you-were-five-3d3d</link>
      <guid>https://dev.to/naijadeveloper/i-explain-how-the-browser-renders-an-interactive-webpage-like-you-were-five-3d3d</guid>
      <description>&lt;p&gt;I have being using Html, Css and JavaScript for quite a while now and didnt know until recent 😭, I mean, I knew about the DOM just not in-depth. I DELIBERATELY had to read up on this. So here is LIKE a summary 🙂. &lt;br&gt;
When the browser gets your html SOURCE file, it wouldn't tamper with that but, creates KIND OF LIKE a copy of the document, which is known as the DOM(Document Object Model), which is an object representation of all the elements in the html SOURCE file. It is KIND OF LIKE a copy because the DOM is not entirely like the SOURCE file, meaning if in your html file you put the visible contents outside the body tags but not inside the head tags though, the DOM would be a CORRECTED version of that. Same is done for the cascading style sheet, it creates a Cascading Style Sheet Object Model (CSSOM), which is a representation of all the elements and styles associated with them. Now the browser can tamper with the DOM and CSSOM using your Javascript code or some other program. Hope you understand to this point?🙃🙃.&lt;br&gt;
So the browser is creating a perfect copy of the html file called DOM and then meets a script tag, it pauses on the creation and runs the Javascript and then resumes creation. Creation of a DOM is when the browser is PARSING the html document (like reading the file to determine the content and structure). Using the DOM and the CSSOM the browser creates the RENDER TREE, the visible contents of what would be rendered on the viewport, meaning elements on the DOM with display style property of "none" won't show up. 🙃 The End.&lt;br&gt;
Important points i missed, that you think a 5 years old programmer should know 🤔😏🙂??.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>browser</category>
      <category>css</category>
      <category>html</category>
    </item>
    <item>
      <title>Are you feeling down?</title>
      <dc:creator>naijadeveloper</dc:creator>
      <pubDate>Wed, 22 May 2019 09:25:50 +0000</pubDate>
      <link>https://dev.to/naijadeveloper/are-you-feeling-down-3caf</link>
      <guid>https://dev.to/naijadeveloper/are-you-feeling-down-3caf</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/naijadeveloper/embed/MdrawV?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
  Are you feeling down? if yes, Well go click that dude, else, Still click that dude. :)&lt;/p&gt;

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