<?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>Forem: Khansa Mueen</title>
    <description>The latest articles on Forem by Khansa Mueen (@khansa).</description>
    <link>https://forem.com/khansa</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%2F848577%2Ff6054af4-25f3-4c76-95d8-a44ed08dd679.jpg</url>
      <title>Forem: Khansa Mueen</title>
      <link>https://forem.com/khansa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/khansa"/>
    <language>en</language>
    <item>
      <title>HTTP VS HTTPS – WHICH IS BETTER?</title>
      <dc:creator>Khansa Mueen</dc:creator>
      <pubDate>Wed, 26 Oct 2022 10:43:02 +0000</pubDate>
      <link>https://forem.com/khansa/http-vs-http-which-is-better-49of</link>
      <guid>https://forem.com/khansa/http-vs-http-which-is-better-49of</guid>
      <description>&lt;p&gt;In our daily lives, we deal with HTTP and HTTPS quite a bit, but many people are unaware of the differences.&lt;/p&gt;

&lt;p&gt;A QUICK introduction to HTTP vs HTTPS.&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/fXytOM2Rduo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The majority of computer users only see that their browser is alerting them that their program is not secure and that a hacker might be attempting to steal their crucial data. As a result, users flee at speeds that break Usain Bolt's record.&lt;br&gt;
But we can avoid this. At this point, HTTP is replaced with HTTPS. And that's what we're going to talk about today.&lt;br&gt;
This article will walk you through the process if you're considering upgrading to the HTTPS protocol but are unsure how it will impact your website.&lt;/p&gt;

&lt;p&gt;We will discuss the security, performance, and search engine optimization (SEO) advantages of HTTP and HTTPS.&lt;/p&gt;

&lt;p&gt;We'll also examine the differences between the HTTP and HTTPS protocols for data transmission over the internet and the crucial function of SSL certificates.&lt;/p&gt;

&lt;p&gt;In addition, we'll go over the advantages and disadvantages of each protocol to assist you in deciding whether to switch.&lt;/p&gt;

&lt;h2&gt;
  
  
  A quick difference:
&lt;/h2&gt;

&lt;p&gt;Hypertext Transfer Protocol is known as HTTP. It is the protocol that makes it possible for various systems to communicate with one another and exchange data and information over a network.&lt;/p&gt;

&lt;p&gt;But HTTPS, which stands for Hypertext Transfer Protocol Secure, is another story. HTTPS works to secure data transmission between web servers and browsers even though it performs many of the same tasks as HTTP.&lt;/p&gt;

&lt;p&gt;A digital security protocol called HTTPS protects connections by encrypting and validating data using cryptographic keys. By obtaining a Secure Sockets Layer (SSL) or Transport Layer Security (TLS) certificate, websites can use HTTPS and have a secure domain most frequently.&lt;/p&gt;

&lt;p&gt;Remember that although though TLS is rapidly replacing SSL as the preferred protocol for HTTPS, most SSL certificates still support both protocols.&lt;/p&gt;

&lt;h2&gt;
  
  
  How HTTP Works
&lt;/h2&gt;

&lt;p&gt;HTTP uses plain text to deliver data. For instance, if your bank's website is utilizing HTTP and you were to access it, a hacker might be able to do so and read whatever information you provide.&lt;br&gt;
HTTPS is useful in this situation. To enable users to submit data securely, several businesses have adopted HTTPS. &lt;br&gt;
Here is an example of an HTTP request 👇.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NQ3lz2hf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i187d2ml1vygge4bpytj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NQ3lz2hf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i187d2ml1vygge4bpytj.png" alt="Image description" width="602" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How HTTPS Works
&lt;/h2&gt;

&lt;p&gt;In order to establish a secure connection, HTTPS employs a secure protocol that encrypts your data.&lt;br&gt;
The best approach to have HTTPS on most websites is to obtain an SSL (Secure Sockets Layer) or TLS (Transport Layer Security) certificate.&lt;/p&gt;

&lt;p&gt;Currently, SSL is capable of supporting TLS due to its advancement. So, you are not need to obtain a TLS certificate.&lt;br&gt;
Here is an example of an HTTPS request 👇.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qr_C3T3U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5awf4g59z6wfkke1alvk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qr_C3T3U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5awf4g59z6wfkke1alvk.png" alt="Image description" width="602" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  HTTP vs HTTPS: Which One Is Better for My Site?
&lt;/h2&gt;

&lt;p&gt;Actually, there is no right response.&lt;/p&gt;

&lt;p&gt;Everything relies on the kind of website you manage and the data you use. For instance, the security requirements for a straightforward portfolio website and an eCommerce site with membership features and electronic payment systems are different.&lt;/p&gt;

&lt;p&gt;However, HTTPS is quickly becoming the norm for all websites, therefore it doesn't matter if your site handles sensitive data. Additionally, having an SSL certificate enabled on your website has a lot of advantages.&lt;/p&gt;

&lt;p&gt;When choosing between HTTP and HTTPS, take into account the following criteria.&lt;/p&gt;

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

&lt;p&gt;As developers, HTTP and HTTPS play a crucial role in daily operations. Much of our work is made possible by the interaction between the browser and the server.&lt;/p&gt;

&lt;p&gt;You will win their trust and give them a better user experience by protecting your users' data as much as you can to prevent information theft.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Cheat sheet for React Part I (Updated August 2022)</title>
      <dc:creator>Khansa Mueen</dc:creator>
      <pubDate>Thu, 18 Aug 2022 17:53:00 +0000</pubDate>
      <link>https://forem.com/khansa/cheat-sheet-for-react-part-i-updated-august-2022-am4</link>
      <guid>https://forem.com/khansa/cheat-sheet-for-react-part-i-updated-august-2022-am4</guid>
      <description>&lt;h2&gt;
  
  
  Would you like to learn React as rapidly as possible?
&lt;/h2&gt;

&lt;p&gt;In order to offer you a thorough review of every React topic you'll need to understand in 2022, I've put together a really handy cheatsheet.&lt;br&gt;
If you liked it, wait for my next article. The good news is that it is beginner-friendly and I covered a really simple concept.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Game begins here!
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Create a React App
&lt;/h3&gt;

&lt;p&gt;Create React App provides a pleasant learning environment for React and is the easiest approach to begin constructing a new single-page application in React.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Create a new app
npx create-react-app hello-world

// Run the created app
cd hello-world
npm start

// http://localhost:3000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Components
&lt;/h2&gt;

&lt;p&gt;Components are self-contained and reusable pieces of code. They perform the same job as JavaScript functions, except they act independently and return pseudo_HTML syntex. Components are classified into two types: class components and function components. This course will focus on function components.&lt;/p&gt;

&lt;h2&gt;
  
  
  Functional Component
&lt;/h2&gt;

&lt;p&gt;There is no need to import. React from the word'react' (since React 17).JSX must be returned if the first letter is uppercase.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// React Component
function App(){
  return &amp;lt;h1&amp;gt;Hey, I'm Functional Component&amp;lt;/h1&amp;gt;
} 

export default App;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Two ways to import Component
&lt;/h2&gt;

&lt;p&gt;Separate files will be created for each component. Each component must be exported and then imported.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function Card(){
    return &amp;lt;&amp;gt;
&amp;lt;div className="card"&amp;gt;
&amp;lt;h1&amp;gt;I'm Card.. &amp;lt;/h1&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/&amp;gt;
}
export default Card
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This component may be imported in the following ways; you can also alter its name during importing.:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import ICard from './Card'

function App(){
    return &amp;lt;ICard/&amp;gt;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or name export...&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export const Card = () =&amp;gt; {
    return &amp;lt;&amp;gt;
&amp;lt;div className="card"&amp;gt;
&amp;lt;h1&amp;gt;I'm Card.. &amp;lt;/h1&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/&amp;gt;
}
export default Card
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This component may then be imported.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import {Card} from './Card'

function App(){
    return &amp;lt;Card/&amp;gt;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Nested Components
&lt;/h2&gt;

&lt;p&gt;A component that is nested is a subcomponent of the component it contains. Relative to that parent, the child component is positioned and shown.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Arrow function shorthand component
const User = () =&amp;gt; &amp;lt;h1&amp;gt;Khansa&amp;lt;/h1&amp;gt;

// Arrow function component
const Message = () =&amp;gt; {
    return &amp;lt;h1&amp;gt;Hello!&amp;lt;/h1&amp;gt;
}

// Function component
function App(){
  return (
      &amp;lt;&amp;gt;
          &amp;lt;Message /&amp;gt;
          &amp;lt;User /&amp;gt;
      &amp;lt;/&amp;gt;
  )
} 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Some JSX Rules Are here
&lt;/h2&gt;

&lt;p&gt;It is a JavaScript syntactic extension. We advocate utilising it alongside React to specify how the user interface should appear.&lt;/p&gt;

&lt;h2&gt;
  
  
  parent element
&lt;/h2&gt;

&lt;p&gt;Return just one element (only one parent element)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// not valid
return &amp;lt;h1&amp;gt;Hello world&amp;lt;/h1&amp;gt;&amp;lt;h2&amp;gt;Hi!&amp;lt;/h2&amp;gt;

// valid with React fragment. 
return (
   &amp;lt;React.Fragment&amp;gt;
        &amp;lt;h1&amp;gt;Hello World&amp;lt;/h1&amp;gt;
        &amp;lt;h2&amp;gt;Hi!&amp;lt;/h2&amp;gt;
    &amp;lt;/React.Fragment&amp;gt;
)

// valid with fragment as Well. 
return (
    &amp;lt;&amp;gt;
        &amp;lt;h1&amp;gt;Hello World&amp;lt;/h1&amp;gt;
        &amp;lt;h2&amp;gt;Hi!&amp;lt;/h2&amp;gt;
    &amp;lt;/&amp;gt;
)

// Noted the parenthesis for multi-line formatting

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of class, use className.&lt;br&gt;
&lt;strong&gt;Explanation:&lt;/strong&gt; The only reason it uses className instead of class is that class is a reserved term in JavaScript, and since we use JSX in React, which is an extension of JavaScript, we must use className instead of class attribute.&lt;br&gt;
Also, all attribute names must be in camelCase.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// not valid
return (
    &amp;lt;div class="card"&amp;gt;
        I'm Card..
    &amp;lt;/div&amp;gt;
)

// valid
return (
    &amp;lt;div className="card"&amp;gt;
         I'm Card..
    &amp;lt;/div&amp;gt;
)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Close every element is important as well..&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;return (
    &amp;lt;img src="image.jpg" /&amp;gt;
    &amp;lt;input type="text" placeholder="write your name..." /&amp;gt;
)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  JSX Elements
&lt;/h2&gt;

&lt;p&gt;Like standard HTML components, React elements are written in the same way. Any legitimate HTML element may be written in React.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// valid
const input = &amp;lt;input type="text" /&amp;gt;
// valid as well
&amp;lt;h1&amp;gt;I am Header&amp;lt;/h1&amp;gt;
&amp;lt;p&amp;gt;I am paragraph &amp;lt;/p&amp;gt;
&amp;lt;button&amp;gt;I am button&amp;lt;/button&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  JSX Functions
&lt;/h2&gt;

&lt;p&gt;All of your primitives may be passed in JSX functions.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// JSX Functions
const name = "khansa";
const age = 22;
const isHuman = true;
return (
&amp;lt;h1&amp;gt;My name is {name}. I am {age} year's old.&amp;lt;/h1&amp;gt;
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  JSX Conditional rendering
&lt;/h2&gt;

&lt;p&gt;By utilising an if statement alone:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from "react";
export default function Weather(props) {
  if (props.temperature &amp;gt;= 20) {
    return (
      &amp;lt;p&amp;gt;
        It is {props.temperature}°C (Warm) in {props.city}
      &amp;lt;/p&amp;gt;
    );
  } else {
    return (
      &amp;lt;p&amp;gt;
        It is {props.temperature}°C in {props.city}
      &amp;lt;/p&amp;gt;
    );
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or &lt;/p&gt;

&lt;p&gt;by utilising an ternery operator&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const name = "khansa";
const age = 22;
const isHuman = true;
return (
{ isHuman ? &amp;lt;h1&amp;gt;My name is {name}. I am {age} year's old.&amp;lt;/h1&amp;gt; : &amp;lt;p&amp;gt;I'm not here&amp;lt;/p&amp;gt;}
);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By utilising an Truth value or &amp;amp;&amp;amp; operator&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const name = "khansa";
const age = 22;
const isHuman = true;
return (
{ isHuman &amp;amp;&amp;amp; &amp;lt;h1&amp;gt;My name is {name}. I am {age} year's old.&amp;lt;/h1&amp;gt; || &amp;lt;p&amp;gt;I'm not here&amp;lt;/p&amp;gt;}
);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By utilising an || oprator&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const name = "khansa";
const age = 22;
const isHuman = false;
return (
{ isHuman || &amp;lt;h1&amp;gt;My name is {name}. I am {age} year's old.&amp;lt;/h1&amp;gt; || &amp;lt;p&amp;gt;I'm not here&amp;lt;/p&amp;gt;}
);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Properties
&lt;/h2&gt;

&lt;p&gt;The component's input values come from properties. When rendering the component and setting the state, they are utilised (discussed shortly). The component's properties should be regarded as immutable after they have been instantiated.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;User firstName="Khansa" lastName="Mueen" age={22} pro={true} /&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Default Props value
&lt;/h2&gt;

&lt;p&gt;The value attribute on form elements will take precedence over the value in the DOM during the React rendering process. You frequently want React to specify the initial value for an uncontrolled component, but let future updates uncontrolled.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const User = ({name, age, children}) =&amp;gt; {
    return (
        &amp;lt;h1&amp;gt;Name: {name} Age: {age}&amp;lt;/h1&amp;gt;
        &amp;lt;p&amp;gt;{children}&amp;lt;/p&amp;gt;
    )
}

User.defaultProps = {
    name: 'Khansa',
    age: 22,
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  List Using Spread Operator
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export const SpreadData = () =&amp;gt; {
 const users =   ["khansa", "Mueen", "Arshad"]

 const data = [...users, "Moiz"]

  return &amp;lt;div&amp;gt;Users data is: {data}&amp;lt;/div&amp;gt;;
};

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  List Using Map
&lt;/h2&gt;

&lt;p&gt;On websites, menus are typically displayed using lists, which are used to display facts in an organised fashion. Lists in React can be built similarly to how lists are created in JavaScript.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const users = [
  {id: 1, name: 'khansa', age: 22},
  {id: 2, name: 'Arshad', age: 33},
  {id: 3, name: 'Mueen', age: 47},
]
function App(){
    return (
        users.map(person =&amp;gt; {
            return &amp;lt;Person name={person.name} age={person.age}/&amp;gt;
        })
    )
} 

const Person = (props) =&amp;gt; {
  return (
      &amp;lt;h1&amp;gt;Name: {props.name}, Age: {props.age}&amp;lt;/h1&amp;gt;
  )
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Props object destructuring
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from "react"
import Card from './component/Card'

function App(){
    return(
    &amp;lt;div className = "App"&amp;gt;
    &amp;lt;Card title="React Course" duration = "1 day"/&amp;gt;
    &amp;lt;/div&amp;gt;
    );
}
export default App;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;These are really basic concepts that I have covered for newcomers and I must finish the following section shortly. For additional updates, ping me on &lt;a href="https://twitter.com/KhansaMueen"&gt;Twitter&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>react</category>
      <category>beginners</category>
      <category>javascript</category>
      <category>node</category>
    </item>
    <item>
      <title>Why Everyone Is Obsessed With Career Path In Software Developments: Expectations vs. Reality</title>
      <dc:creator>Khansa Mueen</dc:creator>
      <pubDate>Mon, 08 Aug 2022 10:23:00 +0000</pubDate>
      <link>https://forem.com/khansa/why-everyone-is-obsessed-with-career-path-in-software-developments-expectations-vs-reality-26jf</link>
      <guid>https://forem.com/khansa/why-everyone-is-obsessed-with-career-path-in-software-developments-expectations-vs-reality-26jf</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;The only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. -Steve Jobs&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Opportunities in the field of software development are expanding at the same rapid rate as technology itself. Management positions are readily available to talented programmers who seek to cultivate their interpersonal interactions and soft skills.&lt;br&gt;
There are a plethora of options to enter the software development industry. Some people fall into programming midway through their careers, while others discover their affinity for coding in a middle school workshop or college group.&lt;/p&gt;

&lt;p&gt;However, all prospective programmers ultimately need to ask themselves the same question: How can I turn my enthusiasm for coding into a career? It doesn't matter how your introduction to software development occurs.&lt;/p&gt;

&lt;p&gt;We have you covered, so don't be concerned.&lt;/p&gt;

&lt;p&gt;This article will cover the career path for software developers, get you ready for the workplace, and demonstrate how to be successful in this field.&lt;/p&gt;
&lt;h2&gt;
  
  
  Will the world ever be ruled by a typical career path for software developers?
&lt;/h2&gt;

&lt;p&gt;Let's start by being clear that there isn't just one type of job description for someone who works in software development. The specifics of your allocated function and its tasks will vary greatly based on your company, the sector you work in, and your professional goals, even though all developers do have a common set of essential duties. As with all careers, getting the best out of a career in software development means you need to be educated and well prepared.&lt;/p&gt;

&lt;p&gt;Software development may be broadly divided into four groups: front end, back end, full stack, and mobile development. In the Stack Overflow poll of professional developers conducted in 2022, 43.38% identified as back end professionals, 46.82% as full stack, 25.96% as front end, and 12.46% as mobile developers.&lt;/p&gt;

&lt;p&gt;What speciality should you choose then? Your choice is yours to make. We'll talk a little bit about each of these four domains and the coding abilities you'll need to be an expert in them below.&lt;/p&gt;
&lt;h2&gt;
  
  
  Front End Developer
&lt;/h2&gt;

&lt;p&gt;Front-end programmers must have a great sense of aesthetics. All elements of a website or app that consumers can see and interact with are created by these aesthetically inclined developers. Consider a site as a whole; the front would include the interior design and furniture.&lt;/p&gt;

&lt;p&gt;Front end developers focus on the aesthetics and functionality of websites. Designers are now tasked with equally optimizing websites for computers, tablets, and smartphones, which has made the profession more challenging over time.&lt;/p&gt;

&lt;p&gt;Front end developers do this by deciding on the appearance, feel, and functionality of a website using the "&lt;strong&gt;building block&lt;/strong&gt;" languages of web development: HTML, CSS, and JavaScript. Although some ardent programmers refuse to employ libraries to speed up their creation process, the majority of front end developers make use of preset packages and tools that facilitate site customization and maintenance.&lt;/p&gt;

&lt;p&gt;Despite this, front end engineers cannot succeed without the assistance of a strong group of back end developers.&lt;/p&gt;
&lt;h2&gt;
  
  
  Back End Developer
&lt;/h2&gt;

&lt;p&gt;Front-end developers are in charge of the inside wiring, insulation, and pipes, while back-end developers build the "&lt;strong&gt;appearance&lt;/strong&gt;" of a house. Backend engineers provide any proprietary software that their company might require, in addition to the computation-based logic that underlies a website.&lt;/p&gt;

&lt;p&gt;These experts make sure that end users receive the information and resources they need as soon as possible. The server and the database are the two parts that make up the back end.&lt;/p&gt;

&lt;p&gt;The server is in charge of responding to client queries, whereas the database is in charge of storing permanent information (such as user profiles or product listings). For instance, when a user tries to sign into their profile, the server receives the request through a login portal, pipes the user's authentication data to the database, and checks it against a list of accounts.&lt;/p&gt;

&lt;p&gt;Backend programmers interact directly with data, APIs, and other back end procedures. The position calls for a high level of technical proficiency and familiarity with multiple back end programming languages.&lt;/p&gt;
&lt;h2&gt;
  
  
  Full Stack Developers
&lt;/h2&gt;

&lt;p&gt;Full stack developers do everything, as the term implies. Due to their significant front and back end programming training, these adaptable specialists can switch between the two specialties with ease.&lt;/p&gt;

&lt;p&gt;The phrase "full stack" in the development community refers to the whole set of languages, frameworks, and technologies utilised to support a company website. In a functioning system, the front and back ends are intrinsically intertwined; when a user interacts with a feature on the front end, the back end ought to respond to their requests right away.&lt;/p&gt;

&lt;p&gt;Full stack developers should have a comprehensive grasp of how a complete operation runs since they are jacks-of-all-trades. They could, however, have greater expertise in one area of study than in another.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BGRHYF-D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9s86sl7sty2iabsg3fov.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BGRHYF-D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9s86sl7sty2iabsg3fov.gif" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What if I'm not interested in leading people?
&lt;/h2&gt;

&lt;p&gt;You're in luck though, as a career in development starts at such a high pay level, allowing you to be recognised for your contributions alone and yet have a fulfilling job. Despite this, there are increasing job prospects for programmers in today's tech-driven environment. Leading to senior management and executive-level jobs, many development occupations proceed linearly up the software developer career ladder.&lt;/p&gt;

&lt;p&gt;Having stated that, not everyone may be suited for managerial positions. Some programmers detest the thought of being a manager. Others might like the addition of a managerial position to their list of personal challenges.&lt;/p&gt;
&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;At the conclusion of the article, I wanted to recommend a podcast video that has many answers to queries that worry developers.&lt;/p&gt;

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

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>BUN IS A LIGHTWEIGHT ALL-IN-ONE JAVASCRIPT RUNTIME.</title>
      <dc:creator>Khansa Mueen</dc:creator>
      <pubDate>Fri, 08 Jul 2022 10:46:07 +0000</pubDate>
      <link>https://forem.com/khansa/bun-is-a-lightweight-all-in-one-javascript-runtime-19oe</link>
      <guid>https://forem.com/khansa/bun-is-a-lightweight-all-in-one-javascript-runtime-19oe</guid>
      <description>&lt;p&gt;Most likely, you've run into a JavaScript bundler before. This is relatively well handled by tools like Rollup or Webpack, but something amazing is on the horizon.&lt;/p&gt;

&lt;p&gt;Let me introduce you to Bun, a bundler you should be familiar with if you plan on developing JavaScript in the near future.&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%2Fk3magpbv6smdc3bvawak.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%2Fk3magpbv6smdc3bvawak.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://twitter.com/jarredsumner" rel="noopener noreferrer"&gt;Jarred Sumner&lt;/a&gt;&lt;/strong&gt;, a former frontend programmer at Stripe, developed the project Bun, which calls itself "experimental software." The MIT licence makes it open source. Yesterday, Sumner unveiled Bun's public beta, calling it &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“an incredibly fast all-in-one JavaScript runtime.” &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;He claimed on Twitter that it can bundle more than a million lines of JavaScript every second.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Bundle, transpile, install and run JavaScript &amp;amp; TypeScript projects — all in Bun. Bun is a new JavaScript runtime with a native bundler, transpiler, task runner and npm client built-in.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  PLEASE ELABORATE ON BUN:
&lt;/h2&gt;

&lt;p&gt;A contemporary JavaScript runtime similar to Node or Deno is Bun. It was created from the ground up with three key objectives in mind:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;quick start (It considers the edge).&lt;/li&gt;
&lt;li&gt;higher standards of performance (expanding the engine's JavaScript Core).&lt;/li&gt;
&lt;li&gt;as a fantastic and comprehensive tool (bundler, transpiler, package manager).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  LET'S DISCUSS ITS PERFORMANCE ⚡
&lt;/h2&gt;

&lt;p&gt;Instead of the V8 engine, which is usually regarded as being quicker, JavaScript Core from WebKit is used. Additionally, the author of Bun stated that ZIG, a low-level programming language comparable to C or Rust, lacks concealed control flow, making it considerably easier to build quick applications.&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%2Fqy4tz7bqjikd3y54afwd.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%2Fqy4tz7bqjikd3y54afwd.png" alt="Bun promises superior performance to Node and Deno."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For developers, the presentation on the official website checks a lot of boxes. Similar to Deno,&lt;a href="https://bun.sh/" rel="noopener noreferrer"&gt;Bun&lt;/a&gt; also takes JavaScript and TypeScript with automated transpilation. The React JSX (JavaScript XML) syntax is also translated by Bun. Both CommonJS and EcmaScript modules (ESM) are supported for Node.js module resolution, although ESM is utilised internally because it is the web standard.&lt;/p&gt;

&lt;p&gt;However, this implies that a lot of npm packages function. Using bun:ffi, native code may be invoked from Bun JavaScript (foreign function interface). Also included is a SQLite database engine.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Most of Bun is written from scratch including the JSX/TypeScript transpiler, npm client, bundler, SQLite client, HTTP client, WebSocket client and more,” states the description.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  STARTING OUT WITH BUN:
&lt;/h2&gt;

&lt;p&gt;Run this install script in your terminal to install bun. From GitHub, Bun is downloaded.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl https://bun.sh/install | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And it will display some output similar to this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;StatusCode        : 200
StatusDescription : OK
Content           : #!/bin/bash

                    # Reset
                    Color_Off=''

                    # Regular Colors
                    Red=''
                    Green=''

                    # Bold
                    BWhite=''
                    BGreen=''

                    Dim='' # White

                    if test -t 1; then
                        # Reset
                        Color_Off='\033[0m' # Text Reset

                        # Regular Colo...
RawContent        : HTTP/1.1 200 OK
                    Transfer-Encoding: chunked
                    Connection: keep-alive
                    x-origin-cache: HIT
                    access-control-allow-origin: *
                    x-proxy-cache: MISS
                    x-github-request-id: CC28:9668:148223F:1576AA7:62C7E60C
                    ...
Forms             : {}
Headers           : {[Transfer-Encoding, chunked], [Connection, keep-alive], [x-origin-cache, HIT],
                    [access-control-allow-origin, *]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 4906

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The HTTP server designed by Bun is based on web standards such as Request and Response.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// http.js
export default {
  port: 3000,
  fetch(request) {
    return new Response("Welcome to Bun!");
  },
};

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run it through with a bun:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bun run http.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, in your browser, navigate to localhost:3000.&lt;br&gt;
Additional samples may be found by reading the &lt;a href="https://github.com/Jarred-Sumner/bun#Reference" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That's all:&lt;br&gt;
Please hit the clap symbol a few times if you appreciated this article and want to help us spread the word 😊&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>react</category>
      <category>programming</category>
    </item>
    <item>
      <title>Missing Introduction To React</title>
      <dc:creator>Khansa Mueen</dc:creator>
      <pubDate>Fri, 24 Jun 2022 15:37:09 +0000</pubDate>
      <link>https://forem.com/khansa/missing-introduction-to-react-2ddo</link>
      <guid>https://forem.com/khansa/missing-introduction-to-react-2ddo</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/3jc-0FHnLrI?start=194"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;React is a popular, high-performance UI library created and maintained by Facebook. React is used to build single-page applications and can be used to build mobile applications as well. But that doesn't make it cool. Because it's cool, it's popular. Most React introductions skip the "why" and immediately start giving you examples of how to utilise React.&lt;/p&gt;

&lt;p&gt;It has an approachable core concept that can be learned in an afternoon, but it takes years of practice to master. That's great. The official documentation contains many tools to help you get started if you want to dive in and start experimenting with React right now.&lt;/p&gt;

&lt;p&gt;This article is for those who are curious about why people react. Why does React function the way that it does? &lt;/p&gt;

&lt;h2&gt;
  
  
  WHY REACT?
&lt;/h2&gt;

&lt;p&gt;React is frequently utilised to design UI for single-page applications (SPA). It is advantageous for desktop and mobile apps alike. Facebook, Bloomberg, Airbnb, Instagram, and Skype are just a few of the websites that use the React Native framework, which is based on React JS. React is a well-liked substitute for building UI applications quickly since it is community-driven.&lt;/p&gt;

&lt;p&gt;React can be used with any JavaScript framework, but it's often paired with another framework called Flux or Redux. These frameworks help make React easier to use when building large applications.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It is easier to live when UI components aren't aware of the network, business logic, or app state. Render the exact same info every time when given the same props&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;React drastically altered how JavaScript libraries operated when it was initially released. React opted to separate view rendering from model representation while everyone else was promoting MVC, MVVM, etc. Flux is a whole new architecture that React introduced to the JavaScript front-end ecosystem.&lt;/p&gt;

&lt;h2&gt;
  
  
  THE VIRTUAL DOM
&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%2Fxhzeorz5zap7fhmyg5ua.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%2Fxhzeorz5zap7fhmyg5ua.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every DOM item has an equivalent "virtual DOM object" in React. A representation of a DOM object, similar to a thin copy, is a virtual DOM object. It’s faster than the real DOM, and it's used to render applications before sending them to the browser. It's also used to calculate the differences between the old and new DOM, so you can update only what has changed.&lt;/p&gt;

&lt;h2&gt;
  
  
  LET'S DISCUSS HOW VIRTUAL DOM GENUINELY SPEEDS UP PROCESSES.
&lt;/h2&gt;

&lt;p&gt;A virtual DOM is constructed and is seen as a tree whenever something new is introduced to the programme. A node in this tree represents each component of the programme. Therefore, a new Virtual DOM tree is constructed whenever the state of any element changes. The former Virtual DOM tree is then compared to the new Virtual DOM tree, and any differences are noted. The optimal technique to make these modifications to the real DOM is then determined. Only the changed items will now be shown once again on the page.&lt;/p&gt;

&lt;h2&gt;
  
  
  DECLARATIVE PROGRAMMING
&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%2Fbmpku0matcrk9pa6rh98.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%2Fbmpku0matcrk9pa6rh98.png" alt="Image description"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Declarative programming is a way of specifying what you want the computer to do rather than how. Often, we specify how in imperative programming, but it can be useful to specify what as well. For example, when we build an app with React and define a button using JSX and HTML-like syntax:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;jsx
Click Me!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We are describing the title of the button (“Click Me!”) and its purpose (to click). We don't need to tell React how to “click”—React does that for us. This makes our code easier for humans to understand because it focuses on what should happen rather than how it should happen (which may be complicated).&lt;/p&gt;

&lt;h2&gt;
  
  
  UNIDIRECTIONAL DATA FLOW
&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%2Fl44bjq3j9c3fxsbg7u8c.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%2Fl44bjq3j9c3fxsbg7u8c.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unidirectional data flow is a concept that comes with React. It's super important and you should read this section if you want to understand why React is as fast as it is. It's easy to get confused with unidirectional data flow because it doesn't seem like much when compared to other models. The main idea behind unidirectional data flow is that there are only two directions for your application's state: &lt;strong&gt;up and down the component hierarchy, but not back up again (the same direction)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Unidirectional data flow helps achieve several goals. First, it makes reasoning about your application much easier; because all actions happen within one direction, you don’t have to worry about how multiple components will interact together or whether some event might cause an unexpected side effect somewhere else in your app. Additionally, unidirectionality makes debugging easier because you can easily trace how each piece of information got into the state at any given time.&lt;/p&gt;

&lt;p&gt;Finally—and perhaps most importantly—unidirectionality helps improve performance by allowing React to optimize its rendering process based on what parts of the DOM need updating after an event occurs; if something changes somewhere high up in your tree where few elements depend on its value (such as another component), then those elements won’t re-render themselves unnecessarily when they only care about their direct parents!&lt;/p&gt;

&lt;h2&gt;
  
  
  REACT’S FUNCTIONAL PARADIGM
&lt;/h2&gt;

&lt;p&gt;React has a functional paradigm, which means that it encourages the use of functions instead of objects. Unlike other popular frameworks, React doesn’t have any built-in state management. Instead, it relies on you to manage your own state and use immutability to prevent code from breaking when data changes. This may not sound like much now, but as you progress through this course, you will learn how to use these features in much more detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  STATELESS COMPONENTS
&lt;/h2&gt;

&lt;p&gt;Stateless components are easier to test, reuse and reason about. They're also easier to refactor, understand and debug.&lt;/p&gt;

&lt;h2&gt;
  
  
  HIGHER-ORDER COMPONENTS
&lt;/h2&gt;

&lt;p&gt;Higher-order components are a way to reuse code by wrapping a component with additional functionality. HOCs are often used to implement stateful behaviour that is not available in a component itself and can be helpful for mocking out APIs or managing complex state. HOCs can also be used as a mechanism for implementing React's Context API.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;IT SEEMS LIKE REACT IS THE RIGHT CHOICE FOR YOUR PROJECT BECAUSE IT BRINGS SEVERAL BENEFITS OVER USING OTHER UI LIBRARIES.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It seems like React is the right choice for your project because it brings several benefits over using other UI libraries.&lt;/p&gt;

&lt;p&gt;• It's a JavaScript library, so you won't have to learn another language to use it.&lt;br&gt;
• React has a small footprint and is easy to integrate into your project.&lt;/p&gt;

&lt;p&gt;However, there are some things that make React less than ideal:&lt;/p&gt;

&lt;p&gt;• The size of the community behind it is smaller than that of Angular or VueJS, though this doesn't really affect performance or ease of use (unless there are bugs in the code).&lt;br&gt;
• It was initially developed by Facebook for internal use, so its design decisions may not be optimal for everyone else (though these issues will probably be fixed as more people contribute to the project).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consider the following example:&lt;/strong&gt;&lt;br&gt;
The idea is to have the properties available on the component's interface but stripped off for the component's consumers when wrapped in the HoC.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
export function withTheme&amp;lt;T extends WithThemeProps = WithThemeProps&amp;gt;(
    WrappedComponent: React.ComponentType&amp;lt;T&amp;gt;
) {
    // Try to create a nice displayName for React Dev Tools.
    const displayName =
        WrappedComponent.displayName || WrappedComponent.name || "Component";

    // Creating the inner component. The calculated Props type here is the where the magic happens.
    const ComponentWithTheme = (props: Omit&amp;lt;T, keyof WithThemeProps&amp;gt;) =&amp;gt; {
        // Fetch the props you want to inject. This could be done with context instead.
        const themeProps = useTheme();

        // props comes afterwards so the can override the default ones.
        return &amp;lt;WrappedComponent {...themeProps} {...(props as T)} /&amp;gt;;
    };

    ComponentWithTheme.displayName = `withTheme(${displayName})`;

    return ComponentWithTheme;
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;There really is a lot to like about React. In addition to being used in production by Facebook, Instagram and their other services, React has also been adopted by Netflix, Yahoo! and others. With that kind of support behind it, React is sure to be around for years to come.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That's all&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I appreciate your patience in reading thus far. Please hit the clap symbol a few times if you appreciated this article and want to help us spread the word let's get together. Stay up to date by following me on &lt;a href="https://www.linkedin.com/in/khansa-mueen/" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
      <category>webdev</category>
      <category>react</category>
    </item>
    <item>
      <title>Wait, what is this Web 5 stuff?</title>
      <dc:creator>Khansa Mueen</dc:creator>
      <pubDate>Mon, 20 Jun 2022 16:29:36 +0000</pubDate>
      <link>https://forem.com/khansa/wait-what-is-this-web-5-stuff-1kgb</link>
      <guid>https://forem.com/khansa/wait-what-is-this-web-5-stuff-1kgb</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcts880olri297etfgs8r.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%2Fcts880olri297etfgs8r.png" alt="Mike Brock (Lead TBD Block)"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At Consensus 2022, Jack Dorsey said that TBD, Block's Bitcoin division, is working on a new internet vision dubbed web5. Thanks to this potentially revolutionary technology, users will be able to take control of their own data rather than handing it over to third parties. According to TBD's mission statement,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"We believe in a decentralized future that returns ownership and control over your finances, data, and identity. Guided by this vision, TBD is building infrastructure that enables everyone to access and participate in the global economy."&lt;/p&gt;
&lt;/blockquote&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%2Fv2rqj33pcwqplsc5frb1.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%2Fv2rqj33pcwqplsc5frb1.png" alt="Source: Web5 Deck"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Reactions to the introduction of the web5 standard
&lt;/h2&gt;

&lt;p&gt;The crypto community has had a lot of fun dissecting what happened to web4, and there have been a lot of funny comments on Crypto Twitter. Snoop Dog even stated that he is currently working on Web6, to which TBD responded, "cool, we got five on it." However, not everyone in the crypto community thinks the statement is a joke. Many proponents of a decentralized internet-based exclusively on Bitcoin exist, which is unsurprising. Victor Zhang, the author of TokenScript and the founder of SmartToken Labs, told CryptoSlate exclusively,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The "web5" Jack wants to make is nothing new… It is still an application-centric framework. Can be considered as web2.5 😂"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On the other hand, some community members tend to feel that the technology underpinning web3 and web5 can coexist; perhaps the future is web8, with both operating simultaneously? Matt Huang, Paradigm's co-founder, called for a shift away from such disputes, saying,&lt;/p&gt;

&lt;p&gt;"&lt;strong&gt;The web2, web3, web5 skirmishes are a distraction. Build from first principles and not through analogy… crypto unlocks possibilities that our 2022 minds cannot fully fathom. Embrace that uncertainty and potential toward a better future!&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%2Fuploads%2Farticles%2Fdin295buzkjqnvwt3icu.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%2Fdin295buzkjqnvwt3icu.png" alt="Jack's tweet"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Web 5.0 - The Symbiotic (Intelligent/Emotional) Web
&lt;/h2&gt;

&lt;p&gt;To put it another way, the Internet of Things (IoT) implies that everything in your life, and I mean everything, may talk to each other about you, in front of your face, behind your back, and without regard for your feelings. With a focus on selling, buying, and persuading you. It was funny to wake up to a robot in the guise of a kitty cat, but Web 5.0 would go much farther. The Intelligent Web foreshadows what is to come with the emergence of smart devices that forecast your requirements based on your patterns without requiring many hints. Symbiotic web algorithms will be able to analyze evidence on a more complicated emotional and cognitive level. This is the Web, which coexists with daily life in a seamless manner, working without thinking and naturally engaging with our actions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Exactly Is Web5?
&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%2Fimubgt4ycy2ixemox519.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%2Fimubgt4ycy2ixemox519.png" alt="Source: Web5 Deck"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We may not be able to be certain just yet.&lt;/p&gt;

&lt;p&gt;After reading Jack Dorsey's tweet and the presentation pack from TBD, a business unit within Block (formerly known as Square), it sounded eerily similar to the approach that the W3C (World Wide Web Consortium) has been working on for some time, as well as the Avast (formerly, Evernym) team's philosophy:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The twin pillars of verifiable credentials and DIDs (decentralized identifiers) are a requirement for a user-controlled, largely privacy-protecting, self-sovereign solution for digital identity.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  So, what's the mechanism?
&lt;/h2&gt;

&lt;p&gt;Web5 Wallet is a decentralized online platform that employs decentralized IDs, verifiable credentials, decentralized web nodes (DWNS), and decentralized web apps (DWAS). Finally, the platform aspires to provide consumers with two use cases: "own their data" and "&lt;strong&gt;control their identity&lt;/strong&gt;"&lt;/p&gt;

&lt;p&gt;TBD used an example to show how people may utilize Web5 to manage their identities. Consider Alice, who uses a digital wallet to protect her identity, data, and permissions for external apps and connections. Consider a case in when Alice signs into a decentralized social networking program with her Waller.&lt;/p&gt;

&lt;p&gt;She no longer must establish a profile on the app because she is connected to it via her decentralized identity. She may also keep track of all her connections, postings, relationships, and other information in her DWNS. DWNS is a private data storage system that allows you to store both public and encrypted data. She has complete control over her identity, as she may switch between apps at any time.&lt;/p&gt;

&lt;p&gt;Users controlling their data is the next use case. Consider Bob, a music fan who "&lt;strong&gt;hates having all of his personal data locked up with a single provider.&lt;/strong&gt;" This means he'll have to rebuild his playlists in various music applications repeatedly. So, what's the answer? Bob can store his info in his DWNS rather than in several applications. As a result, he may allow any music app access to his preferences and settings. This allows consumers to carry their tailored music experience with them wherever they go while maintaining control over their data.&lt;/p&gt;

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

&lt;p&gt;"&lt;strong&gt;WWWW&lt;/strong&gt;" isn't the only way to describe the internet. Web 1.0, 2.0, 3.0, and subsequent functionalities may be used in digital databases. Using these materials from different times does not make a website outdated. It's just as vital to know what was significant in the past as it is to know what is important now. Before 2001, most websites were static (according to the Web 1.0 idea). They served as "business cards," as well as web (hyper) boards that displayed specialized content. They were frequently inefficient and out of touch. Furthermore, Apps are always talking with one another via the Internet. The paper network has been replaced by the data network.&lt;/p&gt;

&lt;p&gt;Web 3.0, meanwhile, is a semantic realm where artificial intelligence and human intelligence coexist. Web 4.0, on the other hand, is a mobile environment where people, as well as physical and interactive things, collaborate to create new values. Finally, web 5.0 is a sensory emotional region that converts the network from an "emotionally deficient" world to one with a rich experience.&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%2Fo1j9r4hl9wmtmswla3t5.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%2Fo1j9r4hl9wmtmswla3t5.png" alt="Source: Web5 Deck"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That's all&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I appreciate your patience in reading thus far. Please hit the clap symbol a few times if you appreciated this article and want to help us spread the word let's get together. Stay up to date by following me on &lt;a href="https://www.linkedin.com/in/khansa-mueen/" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>web3</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>discuss</category>
    </item>
    <item>
      <title>What are the benefits of learning programming languages?</title>
      <dc:creator>Khansa Mueen</dc:creator>
      <pubDate>Sun, 12 Jun 2022 13:27:45 +0000</pubDate>
      <link>https://forem.com/khansa/what-are-the-benefits-of-learning-programming-languages-5dn3</link>
      <guid>https://forem.com/khansa/what-are-the-benefits-of-learning-programming-languages-5dn3</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wu4CFmBH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/82y29dk0v8bccuvatu0n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wu4CFmBH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/82y29dk0v8bccuvatu0n.png" alt="Image description" width="420" height="222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’d want to know why you’re reading this post before we go into depth about it. There might be a variety of causes for this, including the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; You’re a non-programmer curious about how things function in today’s technological world. You’re interested in technology and considering pursuing a career in it.&lt;/li&gt;
&lt;li&gt; You are a novice who has recently entered this area and is unsure whether you made the right decision in picking this career. You may find it frightening, annoying, or even enjoyable.&lt;/li&gt;
&lt;li&gt; You’re an experienced programmer who wants to know how far you’ve gone and what changes you’ve seen since starting out in this area.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7kTQbTb3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0lmea1kc6vwr57fy6oax.png" alt="Image description" width="724" height="483"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are several causes for this, some of which are enumerated in this article.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Increased ability to communicate programming ideas.&lt;/li&gt;
&lt;li&gt;A better foundation for selecting acceptable languages&lt;/li&gt;
&lt;li&gt;Improved capacity to pick up new languages&lt;/li&gt;
&lt;li&gt;Realizing the importance of implementation&lt;/li&gt;
&lt;li&gt;Ability to create new languages has increased.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Increased ability to communicate programming ideas.
&lt;/h2&gt;

&lt;p&gt;The study of programming languages aids in the development of the ability to express programming ideas.&lt;/p&gt;

&lt;p&gt;Dijkstra has expressed it this way:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is the instruments employed to articulate one’s thoughts limit one’s ability to think.&lt;/p&gt;

&lt;p&gt;The expressive capacity of language influences the depth to which we can think. It covers the types of algorithms you can create. Learning new languages broadens the scope of software development thought processes since such constructs may be mimicked.&lt;/p&gt;

&lt;h2&gt;
  
  
  A better foundation for selecting acceptable languages
&lt;/h2&gt;

&lt;p&gt;Studying programming languages also aids in the selection of the appropriate language for a specific job.&lt;/p&gt;

&lt;p&gt;According to Abraham Maslow,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“To the man who only has a hammer in the toolkit, every problem looks like a nail.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is, if your only tool is a hammer, you will tackle every situation as if it were a nail. Some programming languages are better suited to certain tasks than others.&lt;/p&gt;

&lt;h2&gt;
  
  
  Improved capacity to pick up new languages
&lt;/h2&gt;

&lt;p&gt;Good programmers don’t simply know how to code; they also know how to wrap their heads around a difficult problem and write effective code to solve it. While most programming languages can perform most tasks, each has its own set of advantages and disadvantages. Knowing various languages is beneficial since you may not be able to get the same outcomes with each one. You will have a larger knowledge base and be more likely to be able to solve issues faster and more effectively if you study additional languages.&lt;/p&gt;

&lt;p&gt;Acquisition of the syntax and semantics of different programming languages, as well as knowing diverse design techniques, aids in the learning of new languages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Realizing the importance of implementation
&lt;/h2&gt;

&lt;p&gt;Understanding implementation concerns may sometimes lead to a better understanding of why languages are constructed the way they are. This, in turn, leads to effective language usage. Row vs. column-major is one such example. If a programmer understands that two-dimensional arrays are stored column-wise (column-major) in FORTRAN (whereas they are stored row-wise in most other languages), he will process it column-wise, making it more efficient.&lt;/p&gt;

&lt;p&gt;Recursion works in the same way. If a programmer understands how recursion works and how much recursive programs cost, he may utilize that knowledge to create more efficient programs.&lt;/p&gt;

&lt;p&gt;Furthermore, certain defects can only be detected and repaired if the programmer is familiar with technical details.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ability to create new languages has increased.
&lt;/h2&gt;

&lt;p&gt;Learning a variety of programming languages allows one to have a better understanding of the advantages and disadvantages of various language features as well as the challenges that these characteristics might cause. As a result, if one has to create a new language for any reason, this knowledge will be useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  You Enjoy It More
&lt;/h2&gt;

&lt;p&gt;Depending on your work duties, you may find yourself doing the same (or similar) tasks every day, which may soon get tedious. Knowing various languages, on the other hand, may keep your mind awake and your job duties diverse because you’ll be able to concentrate on multiple tasks at once. You’re more likely to appreciate the task you’re doing and have more fun doing it if you have fresh possibilities and challenges.&lt;/p&gt;

&lt;p&gt;Learning a programming language is like learning a foreign language in that after you’ve mastered the second, the third and fourth are considerably simpler. This is because you spend time learning how to learn when learning the second language, and this process gets simpler with practice. You begin to see parallels across languages, which aids in the learning process and the retention of new knowledge. It’s not as difficult as it may appear.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Whether you want to uncover the secrets of the universe, or you just want to pursue a career in the 21st century, basic computer programming is an essential skill to learn. — Stephen Hawking&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;That’s all&lt;/strong&gt;&lt;br&gt;
I appreciate your patience in reading thus far. Please share this message with others so they can find their way as well.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/KhansaMueen"&gt;Twitter&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/khansa-mueen/"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://github.com/khansa20"&gt;GitHub&lt;/a&gt; are all places where you can find me.&lt;/p&gt;

&lt;p&gt;Have fun Programming ❤.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>codenewbie</category>
      <category>programming</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>Which is preferable: JSX or HTML?</title>
      <dc:creator>Khansa Mueen</dc:creator>
      <pubDate>Mon, 30 May 2022 11:52:30 +0000</pubDate>
      <link>https://forem.com/khansa/which-is-preferable-jsx-or-html-399i</link>
      <guid>https://forem.com/khansa/which-is-preferable-jsx-or-html-399i</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Png8t6iD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/axfyzm7di0ndwkcc2d47.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Png8t6iD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/axfyzm7di0ndwkcc2d47.png" alt="Image description" width="880" height="614"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's start with a definition of HTML and JSX.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;HTML&lt;/strong&gt; is fantastic. The standard language for documents that govern the structure of a web page is Hypertext Markup Language (HTML). It regulates how material is displayed online and sets the structure of webpages. What you're looking at right now is HTML code, which your browser has read and processed. HTML, however, is not a programming language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JSX&lt;/strong&gt;, on the other hand, stands for JavaScript Syntax Extension or, as some prefer to call it, JavaScript XML.&lt;/p&gt;

&lt;p&gt;It was built as syntactic sugar for &lt;code&gt;React.createElement()&lt;/code&gt;. It is a JavaScript plugin that allows developers to build HTML directly within JavaScript. So, when you write JSX, you're actually writing JavaScript and HTML at the same time. Instead of HTML, let's speak about JSX. We'll go through the fundamentals of JSX, go over the key distinctions between JSX and HTML, and wrap up with some commonly asked concerns concerning common JSX difficulties.&lt;/p&gt;

&lt;p&gt;HTML is the most fundamental building component of the Internet. It establishes the significance and organization of web content. An HTML element is distinguished from other text in a document by "tags," which are the element name surrounded by "" and "&amp;gt;". JSX, on the other hand, is a syntactic extension to JavaScript and is neither a string nor HTML. JSX simplifies the creation and addition of HTML in React. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Primary Distinctions Between HTML and JSX
&lt;/h2&gt;

&lt;p&gt;The following are some of the differences between HTML and JSX:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. In JSX, you must return a single parent element.&lt;/strong&gt;&lt;br&gt;
One of the most significant distinctions between HTML and JSX is that with JSX, you must return a single parent element, or the code will fail to compile. Many developers use &lt;code&gt;&amp;lt;div&amp;gt; ...&amp;lt;/div&amp;gt;&lt;/code&gt;, however "fragment",  &lt;code&gt;&amp;lt; &amp;gt;...&amp;lt;/&amp;gt;&lt;/code&gt;, is a superior option that many people choose since it makes the code more understandable. You don't have to return a single parent element in HTML, so you may do whatever you want.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cduOpZns--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nj1rukuiuag95m2u9y5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cduOpZns--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nj1rukuiuag95m2u9y5a.png" alt="Image description" width="880" height="578"&gt;&lt;/a&gt;&lt;br&gt;
You can see that JSX isn't compiling since there isn't a parent element in this case.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zuDgpibW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f5k47fbr5vmf1ywxrjua.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zuDgpibW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f5k47fbr5vmf1ywxrjua.png" alt="Image description" width="806" height="532"&gt;&lt;/a&gt;&lt;br&gt;
Because there is a parent element in this case, JSX is compiling (fragment).&lt;/p&gt;
&lt;h2&gt;
  
  
  2. In JSX, you can use JS straight away.
&lt;/h2&gt;

&lt;p&gt;It's feasible to write JavaScript natively in JSX. This may be accomplished by enclosing the JavaScript in curly braces &lt;code&gt;{...}&lt;/code&gt;. To integrate JavaScript in HTML, you'll need a script element or an external JavaScript file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  export const Article() {
  return (
    &amp;lt;&amp;gt;
      &amp;lt;div&amp;gt;This is Khansa's Article&amp;lt;/div&amp;gt;
      &amp;lt;div&amp;gt;Hello There!&amp;lt;/div&amp;gt;
      &amp;lt;p&amp;gt; Add two values together, then multiply them. &amp;lt;/p&amp;gt;
      Result: {100 + 20 * 2}
    &amp;lt;/&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. In JSX, self-closing tags are used.
&lt;/h2&gt;

&lt;p&gt;In JSX, tags can self-close. That is, &lt;code&gt;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;/code&gt; can be used as a &lt;code&gt;&amp;lt;div/&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&lt;/code&gt; may be used as a &lt;code&gt;&amp;lt;span/&amp;gt;&lt;/code&gt;. You don't want to, but it's a possibility.&lt;/p&gt;

&lt;p&gt;In HTML, self-closing tags can shut without the slash before the right angle bracket, so &lt;code&gt;&amp;lt;br /&amp;gt;&lt;/code&gt; might be interpreted as &lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt;. In JSX, however, you must add the slash. This should remind you that JSX is strongly reliant on HTML 4 syntax.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TmnKSdr8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ni81h847u7nb1rdz77z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TmnKSdr8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ni81h847u7nb1rdz77z.png" alt="Image description" width="880" height="539"&gt;&lt;/a&gt;&lt;br&gt;
You can see that JSX is failing to compile since there is no forward slash before the line break tag's right-angle bracket.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--T2b9qmUQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1eyb9dn1xjxtz3o6rej6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--T2b9qmUQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1eyb9dn1xjxtz3o6rej6.png" alt="Image description" width="880" height="539"&gt;&lt;/a&gt;&lt;br&gt;
And you can tell that JSX is compiling since the line break tag has a forward slash in it.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Adding style to an element requires a separate syntax.
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;HTML → &amp;lt;div style='border: 1px solid black; width:'100px' height: '100px' '/&amp;gt;

JSX → &amp;lt;input style={{border: '1px solid black', width: '100px' height: '100px' }}/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There are a few things to keep in mind. To begin, instead of using quotations to surround all of our styles, we use double curly brackets. The outermost set of curly brackets represents a JavaScript variable, whereas the inner set represents a JavaScript object. The object we're utilizing is a collection of key-value pairs that specify the style of the element. The object values are enclosed in quotes in the JSX, and each property is separated by a comma.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: You should avoid using inline style in plain HTML if you don’t want to harm your website’s SEO.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Finally, the conclusion is&lt;/strong&gt;&lt;br&gt;
Because the JSX component represents HTML, you may combine numerous components to create a more complicated HTML page.&lt;br&gt;
The fact that JSX appears like HTML does not make it any less of HTML in fact, you may still build standard functions by passing the HTML-like syntax. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To summarise, JSX is not HTML or a template engine.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;That's all!&lt;/strong&gt;&lt;br&gt;
Thank you for taking the time to read my article :) &lt;br&gt;
 see you soon! &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>webdev</category>
      <category>html</category>
    </item>
    <item>
      <title>The useEffect hook in React 18 has a peculiar behavior.</title>
      <dc:creator>Khansa Mueen</dc:creator>
      <pubDate>Wed, 25 May 2022 16:02:53 +0000</pubDate>
      <link>https://forem.com/khansa/the-useeffect-hook-in-react-18-has-a-peculiar-behavior-4oef</link>
      <guid>https://forem.com/khansa/the-useeffect-hook-in-react-18-has-a-peculiar-behavior-4oef</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9diy60fmz16kw10b71l.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%2Fv9diy60fmz16kw10b71l.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
As we all know, The useEffect hook is called after the screen is rendered. A flickering effect will occur if the client notices the mutation.&lt;br&gt;
Alternatively, We can emulate the componentDidMount lifecycle function by using the useEffect Hook and providing a callback code.&lt;/p&gt;

&lt;h2&gt;
  
  
  So, what kind of changes are we going to talk about now?
&lt;/h2&gt;

&lt;p&gt;When a component mounts in Strict mode, react developers have altered how useEffect behaves.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Take a peek at the Strict mode.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With React 16.3, strict mode was added as a tool for detecting code patterns that might cause problems with React’s (then experimental) concurrent rendering APIs.&lt;br&gt;
There is no apparent UI when  is applied to a React component like Fragment.It causes additional tests and warnings to be performed on its offspring.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is strict mode supported by React?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The React StrictMode component may be thought of as an utility component that helps developers to code more quickly and alerts them to any questionable code that has been mistakenly added to the application.&lt;/p&gt;

&lt;p&gt;The React application applies extra behavior to all of the components it wraps around (only in DEV mode). For example, when executed in “strictmode,” React will purposefully double-render components to flush out any dangerous side effects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Because of the most recent version, several amazing new modifications have occurred.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;StrictMode gains an extra feature with the introduction of React 18 to ensure compatibility with the reusable state. When StrictMode is enabled, React purposefully double-invokes effects for newly mounted components (mount -&amp;gt; unmount -&amp;gt; mount). React, like other strict mode behaviors, will only perform this for development TS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What changes have been made to useEffect?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You’ll need to change your code now that useEffect is called twice during mount.&lt;br&gt;
No changes are necessary if the useEffect has dependents. If you’re using useEffect for an on-mount effect, you’ll need to use the useRef hook.&lt;br&gt;
For instance:&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%2Fuqj39zcxinxf0bxyse5w.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%2Fuqj39zcxinxf0bxyse5w.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re using useEffect for unmount cleaning, you should be alright if the setup function is included within the same useEffect.&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%2Fssrclb4vf7smuk5oeu53.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%2Fssrclb4vf7smuk5oeu53.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Effects fire twice in React 18’s Strict Mode, which simulates unmounting and remounting the component in development mode. Each component is mounted, then unmounted, and lastly re-mounted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There’s a reason React introduced reusable state.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The React team is working on a new offscreen feature that will let us enable things like tabbed containers and virtualized lists, as well as take use of new browser APIs like content-visibility. The component may be attached and unmounted multiple times to do this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disabling strictMode&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If your app’s double invoking effects are creating serious problems, you can disable StrictMode until you can fix them.&lt;/p&gt;

&lt;p&gt;There is currently no way to keep the old  behaviour - enabling it will cause duplicate invoking effects.&lt;br&gt;
&lt;strong&gt;Before we wrap up…&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thank you for sticking with me this far! Let’s get together. You may remark on my &lt;a href="https://www.linkedin.com/in/khansa-mueen-5a4061232/" rel="noopener noreferrer"&gt;Linkdin&lt;/a&gt; profile.&lt;/p&gt;

&lt;p&gt;That’s all I’ve got for now. Soon, I’ll be back with my next piece. Please take care of yourself till then.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
      <category>programming</category>
      <category>react</category>
    </item>
  </channel>
</rss>
