<?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: ShahiLalit</title>
    <description>The latest articles on DEV Community by ShahiLalit (@shahilalit).</description>
    <link>https://dev.to/shahilalit</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%2F234287%2F3cbb94e2-d6b6-42a6-a2ff-ce2c053748a3.jpeg</url>
      <title>DEV Community: ShahiLalit</title>
      <link>https://dev.to/shahilalit</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shahilalit"/>
    <language>en</language>
    <item>
      <title>Console methods that you might not know but can change how you debug your code</title>
      <dc:creator>ShahiLalit</dc:creator>
      <pubDate>Wed, 29 Sep 2021 17:24:04 +0000</pubDate>
      <link>https://dev.to/shahilalit/console-methods-that-you-might-not-know-but-can-change-how-you-debug-your-code-3eee</link>
      <guid>https://dev.to/shahilalit/console-methods-that-you-might-not-know-but-can-change-how-you-debug-your-code-3eee</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;“A problem well stated is a problem half solved.” --John Dewey&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Howdy JavaScript Developers 👋&lt;/p&gt;

&lt;p&gt;We all love to write code, right? Most of us just follow 👇&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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632889545186%2FeK3dQbqGY.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632889545186%2FeK3dQbqGY.png" alt="eat sleep.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Until we get some bugs in our code and we have to break our routine and most of it changes like this 👇&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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632890108390%2FUEXbMxUav.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632890108390%2FUEXbMxUav.png" alt="Eat.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am going to help you here write the magical code which will never have any 🐞.&lt;/p&gt;

&lt;p&gt;Hehe! ok, I am kidding there is no one in this heavenly earth who can teach you to code without bugs. &lt;br&gt;
But there are some ways we can reduce our time to debug and help us understand the 🐞 and source of it.&lt;/p&gt;

&lt;p&gt;I hope you are guys are still with me, if you are good, let's get started -&lt;/p&gt;

&lt;p&gt;As JavaScript Developer we all have used the console inside the dev tool way often. &lt;br&gt;
Our first approach to test or debug our code is to log it to the console.&lt;/p&gt;

&lt;p&gt;But do you know there are different console methods that we can use to differentiate between our logs?&lt;/p&gt;

&lt;h2&gt;
  
  
  console.log("hello world!")
&lt;/h2&gt;

&lt;p&gt;🔸 The most commonly used console method is &lt;code&gt;console.log()&lt;/code&gt; which prints anything passed to it as arguments on the console&lt;/p&gt;

&lt;p&gt;🔸 Multiple arguments can be passed.&lt;/p&gt;

&lt;p&gt;🔸 It can be strings, variables, objects, functions, or HTML elements.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632890947608%2FJ3p5UIZHv.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632890947608%2FJ3p5UIZHv.png" alt="carbon.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  console.assert(expression, message);
&lt;/h2&gt;

&lt;p&gt;🔸 It is used to make conditional log statements on the console.&lt;/p&gt;

&lt;p&gt;🔸 It prints the message (passed as the second argument) if the expression (passed as the first argument) is false.&lt;/p&gt;

&lt;p&gt;🔸 If the assertion is true nothing is printed on the console.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632891730271%2FLH3eeaPn7.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632891730271%2FLH3eeaPn7.png" alt="Screenshot 2021-09-27 at 7.59.45 PM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  console.warn()
&lt;/h2&gt;

&lt;p&gt;🔸 It prints a warning message onto the console.&lt;/p&gt;

&lt;p&gt;🔸 The message would be highlighted with yellow color.&lt;/p&gt;

&lt;p&gt;🔸 It gives us the call stack for the warning log as well which helps to trace the warning in the call stack.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632891867344%2Fw3P3GT3Nx.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632891867344%2Fw3P3GT3Nx.png" alt="Screenshot 2021-09-27 at 8.02.22 PM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  console.error()
&lt;/h2&gt;

&lt;p&gt;🔸 Just like the &lt;code&gt;console.warn()&lt;/code&gt; it prints the error message on the console.&lt;/p&gt;

&lt;p&gt;🔸 The message is highlighted with red color.&lt;/p&gt;

&lt;p&gt;🔸 We get the error call stack for easy debugging.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632892521788%2FXqMCbqQy5.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632892521788%2FXqMCbqQy5.jpeg" alt="error.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  console.count(label);
&lt;/h2&gt;

&lt;p&gt;🔸 It prints the number of times the count method has been called for the argument passed to it.&lt;/p&gt;

&lt;p&gt;🔸 If no argument is passed to it, it counts for the &lt;code&gt;default&lt;/code&gt; label.&lt;/p&gt;

&lt;p&gt;🔸 Argument can only be a string.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632892732043%2FcWZRY7j67.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632892732043%2FcWZRY7j67.png" alt="Screenshot 2021-09-27 at 8.15.16 PM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  console.table(data)
&lt;/h2&gt;

&lt;p&gt;🔸 It prints arrays and objects into tabular form.&lt;/p&gt;

&lt;p&gt;🔸 It needs to have an array or an object as the mandatory argument.&lt;/p&gt;

&lt;p&gt;🔸 First column is labeled as &lt;code&gt;index&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;🔸 For arrays, the first column is the indices of the elements &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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632892958659%2FcE2VqR11B.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632892958659%2FcE2VqR11B.png" alt="Screenshot 2021-09-27 at 8.28.43 PM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;amp; for objects, its keys.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632892997852%2FfwVdKRYsL.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632892997852%2FfwVdKRYsL.jpeg" alt="table.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  console.time(label) &amp;amp; console.timeEnd(label)
&lt;/h2&gt;

&lt;p&gt;🔸 &lt;code&gt;console.time(label)&lt;/code&gt; starts the timer to track the time taken by a task.&lt;/p&gt;

&lt;p&gt;🔸 &lt;code&gt;console.timeEnd(label)&lt;/code&gt; stops the timer for that label and prints the total time taken since it started.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632893791333%2Fa3hzAWr76.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632893791333%2Fa3hzAWr76.png" alt="Screenshot 2021-09-27 at 8.35.18 PM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔸 &lt;code&gt;label&lt;/code&gt; argument has to be the same and once we call &lt;code&gt;console.timeEnd(label)&lt;/code&gt; the timer is removed from the stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  console.timeLog(label)
&lt;/h2&gt;

&lt;p&gt;🔸 It logs the time elapsed since the timer had started after running the &lt;code&gt;console.time(label)&lt;/code&gt; method.&lt;/p&gt;

&lt;p&gt;🔸 Needs to have the same &lt;code&gt;label&lt;/code&gt; argument as the &lt;code&gt;console.time(label)&lt;/code&gt; method.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632894073406%2FlfJade8lY.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632894073406%2FlfJade8lY.jpeg" alt="timeLog.jpeg"&gt;&lt;/a&gt;&lt;br&gt;
🔸 If called after &lt;code&gt;console.timeEnd(label)&lt;/code&gt; it gives the warning message stating &lt;code&gt;Timer Label does not exist&lt;/code&gt; because &lt;code&gt;timer&lt;/code&gt; gets popped out of the stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  console.group() &amp;amp; console.groupEnd()
&lt;/h2&gt;

&lt;p&gt;🔸 &lt;code&gt;console.group()&lt;/code&gt; groups the logs with an indentation&lt;/p&gt;

&lt;p&gt;🔸 &lt;code&gt;console.groupEnd()&lt;/code&gt; closes the group started before.&lt;/p&gt;

&lt;p&gt;🔸 can be used to batch errors and warnings together or print similar information together.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632894530058%2FUvQSrTbBq.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632894530058%2FUvQSrTbBq.png" alt="Screenshot 2021-09-27 at 8.53.59 PM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  console.trace()
&lt;/h2&gt;

&lt;p&gt;🔸 It shows a complete call stack when debugging from the point it is called.&lt;/p&gt;

&lt;p&gt;🔸 It can very handy when debugging a complex code with multiple files and modules.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632894774080%2FCzJmVh_wv1.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632894774080%2FCzJmVh_wv1.jpeg" alt="trace.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  console.clear()
&lt;/h2&gt;

&lt;p&gt;🔸 When the console gets too cluttered, you can use &lt;code&gt;console.clear()&lt;/code&gt; method to clear the console.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus Tip
&lt;/h2&gt;

&lt;p&gt;You can print log statements with your own custom styles. There are a bunch of &lt;code&gt;string substitutions&lt;/code&gt; that you can use to manipulate the log statement. &lt;br&gt;
But it does work only with console methods that accept strings as arguments.&lt;/p&gt;

&lt;p&gt;Check how using &lt;code&gt;%c&lt;/code&gt; with our string in &lt;code&gt;console.log()&lt;/code&gt; changes the output of the log statements.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632896233585%2F-wTmLgVpe.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632896233585%2F-wTmLgVpe.png" alt="Screenshot 2021-09-29 at 11.46.58 AM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Alright! that's the end of today's post. I hope you guys liked it and maybe you would start using the above console methods in proper use-cases instead of using just &lt;code&gt;console.log()&lt;/code&gt; for all your debugging.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“If your only tool is a hammer then every problem looks like a nail.”&lt;br&gt;
-- Abraham Maslow &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you are someone who is interested in Frontend development and wants to know more about it, consider following me 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/LalitSinghShahi" rel="noopener noreferrer"&gt;@Twitter&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/lalitshahi/" rel="noopener noreferrer"&gt;@LinkedIn&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/shahilalit"&gt;@Dev.to&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.lalitshahi.com/" rel="noopener noreferrer"&gt;@Hashnode&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedbacks, good or bad are appreciated 🧡&lt;/p&gt;

&lt;p&gt;Until next time, keep coding, keep learning and KEEP DEBUGGING. 😁&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

&lt;p&gt;Lalit&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>debugging</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Write faster HTML with these quick web tips</title>
      <dc:creator>ShahiLalit</dc:creator>
      <pubDate>Tue, 21 Sep 2021 04:42:52 +0000</pubDate>
      <link>https://dev.to/shahilalit/write-faster-html-with-these-quick-web-tips-3om9</link>
      <guid>https://dev.to/shahilalit/write-faster-html-with-these-quick-web-tips-3om9</guid>
      <description>&lt;p&gt;Hello 🙋‍♂️,&lt;br&gt;&lt;br&gt;
As web developers, we have to write quite a good amount of HTML code. Sometimes, it can get repetitive and can be time-consuming as well. If you also agree to it, this post will definitely help you create HTML elements faster and save a lot of your time.&lt;/p&gt;

&lt;p&gt;The tricks mentioned in this article are helpful because of an amazing plugin called  &lt;a href="https://docs.emmet.io/cheat-sheet/" rel="noopener noreferrer"&gt;Emmet&lt;/a&gt;, which now is supported by mostly all code editors out there.&lt;/p&gt;

&lt;p&gt;Let's get to it then.&lt;/p&gt;
&lt;h2&gt;
  
  
  👉 Boilerplate HTML code ( ! )
&lt;/h2&gt;

&lt;p&gt;Type &lt;code&gt;!&lt;/code&gt; at the beginning and hit enter or tab when helper dropdown appears. You will see a short boilerplate code for your HTML ready to use.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;! -&amp;gt; hit Enter/tab
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This give you the following result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;http-equiv=&lt;/span&gt;&lt;span class="s"&gt;"X-UA-Compatible"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"IE=edge"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Document&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632075079573%2F0zimHXy47.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632075079573%2F0zimHXy47.gif" alt="boilerplate.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 Create Child Elements using "&amp;gt;"
&lt;/h2&gt;

&lt;p&gt;In most scenarios, you would create a wrapper container div and then would create an inner container div and inside that create a paragraph tag.&lt;/p&gt;

&lt;p&gt;Now, while I was explaining the scenario, it was kind of long and took a lot of time. What if we use this simple "&amp;gt;" to create the elements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;div&amp;gt;div&amp;gt;p 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This would give you the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159151567%2FTF1HVG4go.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159151567%2FTF1HVG4go.gif" alt="child elements.gif"&gt;&lt;/a&gt;&lt;br&gt;
 Isn't this cool?&lt;/p&gt;

&lt;p&gt;Now, we also want to add classes and ids to these elements, for styling them in our CSS. Let's see how we do it with our next trick.&lt;/p&gt;
&lt;h2&gt;
  
  
  👉 Add classes ( . ) and ids ( # )
&lt;/h2&gt;

&lt;p&gt;We need classes and ids to style our elements, and 98% of elements have either classes or ids or a combination of both. Writing class="your-class" or id="your-id", can take some time when you have to write it to all elements. &lt;/p&gt;

&lt;p&gt;We can use &lt;code&gt;.&lt;/code&gt; to create a new class and &lt;code&gt;#&lt;/code&gt; to add new ids to elements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;div.your-class
div#your-id
p.your-class#your-id
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This would turn out to be&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"your-class"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"your-id"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"your-class"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"your-id"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159776264%2Fv4O_cvSuwx.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159776264%2Fv4O_cvSuwx.gif" alt="classes ids.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 Create Sibling elements using +
&lt;/h2&gt;

&lt;p&gt;We can create adjacent elements at one go using the plus(+) symbol.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;div.parent-container&amp;gt;p#sibling1+p#sibling2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will return&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"parent-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"sibling1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"sibling2"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159204328%2FNw1v210c2.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159204328%2FNw1v210c2.gif" alt="siblings.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 Grouping elements using ()
&lt;/h2&gt;

&lt;p&gt;Now, what would you do if you want to create a &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; and few child elements inside it and then a sibling of that parent container &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt;? We need a grouping syntax that will help us just do that.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;(div.parent&amp;gt;p.siblings+p.siblings)+div.parent-sibling&amp;gt;p
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This would give you the following code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"parent"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"siblings"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"siblings"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"parent-sibling"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159846367%2FZY9qd4Rx9.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159846367%2FZY9qd4Rx9.gif" alt="grouping.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 Climb up the elements tree using ^
&lt;/h2&gt;

&lt;p&gt;If you use these short tricks to create your element, then you can use &lt;code&gt;^&lt;/code&gt; to climb up and out of the parent element and create other elements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;div&amp;gt;p+p^div&amp;gt;p&amp;gt;span
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This would return the following code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt; // Came out of parent div
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159227469%2FtEBh4O201.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159227469%2FtEBh4O201.gif" alt="climb up.gif"&gt;&lt;/a&gt;&lt;br&gt;
As the number of &lt;code&gt;^&lt;/code&gt; increases, it will come out of its next parent containers/elements, like the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;div&amp;gt;div&amp;gt;p&amp;gt;span^^^p.climbed-out
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;will return this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
     &lt;span class="nt"&gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
   &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
 &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"climbed-out"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159241844%2F6OAlXyyLt.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159241844%2F6OAlXyyLt.gif" alt="triple climb up.gif"&gt;&lt;/a&gt;&lt;br&gt;
A good amount of code is written very easily if you plan your project before starting. It is recommended to give some time to planning before starting your project.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Setting a goal is not the main thing. It is deciding how you will go about achieving it and staying with that plan. ― Tom Landry, Hall of Fame football coach&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  👉 Create multiple similar elements using *
&lt;/h2&gt;

&lt;p&gt;If you want to create similar elements like list-items &lt;code&gt;&amp;lt;li&amp;gt;&lt;/code&gt; inside &lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt;, you can use this asterisk (*). Or if you want to create the same styled two wrappers with similar kinds of structure, you can use it to do that.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;ul&amp;gt;li.your-class*5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will return this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"your-class"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"your-class"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"your-class"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"your-class"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"your-class"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159254704%2FM7hmQ-6Q2.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159254704%2FM7hmQ-6Q2.gif" alt="multiplication.gif"&gt;&lt;/a&gt;&lt;br&gt;
so, basically, it just multiplies the left part of this asterisk (*) by the number on the right side of it.&lt;/p&gt;

&lt;p&gt;You could also multiply a complete wrapped container using this and another trick learned before. Could you guess what that would be?&lt;/p&gt;

&lt;p&gt;Yes, group and multiply together will help you achieve that.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;div.wrapper&amp;gt;(div.inner-container&amp;gt;p+p)*2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will give you this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"wrapper"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"inner-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"inner-container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632160082016%2FA6q3XlHJf.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632160082016%2FA6q3XlHJf.gif" alt="grouping divs.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 Adding content inside the element { }
&lt;/h2&gt;

&lt;p&gt;It is obvious that when you create an element like a paragraph or span, we would most probably write something inside it. Now, let's see how can we do just that with this short trick.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;div&amp;gt;p{Hello World!}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It creates in return this code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Hello World!&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159281034%2FTfU2EKS-w.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159281034%2FTfU2EKS-w.gif" alt="text.gif"&gt;&lt;/a&gt;&lt;br&gt;
Just a note, in HTML, a simple text is also considered an element, it is a Text element.&lt;/p&gt;

&lt;p&gt;so, the following code can work perfectly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;div&amp;gt;p&amp;gt;{To learn HTML}+a{click here}+{and practice regularly.}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and this will give you:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;To learn HTML &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;click here&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt; and practice regularly.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632160265878%2FcHMwmVJJy.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632160265878%2FcHMwmVJJy.gif" alt="text element.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 Create placeholder Lorem ipsum dummy text
&lt;/h2&gt;

&lt;p&gt;Most of the time when we are building our project, we don't have all the content ready for our sections and paragraphs. In that case, we could use Lorem Ipsum as the dummy text but going to Lorem Ipsum's webpage and then copying, pasting is a time taking process.&lt;/p&gt;

&lt;p&gt;Instead, just type &lt;code&gt;lorem&lt;/code&gt;  and hit enter or tab and you will get the dummy text from Lorem Ipsum.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;Lorem ipsum dolor, sit amet consectetur adipisicing elit. Rerum consectetur commodi ullam doloremque ex, tenetur illo. Unde minus possimus quaerat omnis ea eius similique, dolorem odio earum ullam inventore nostrum.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159302002%2F3YfAZYhgx.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159302002%2F3YfAZYhgx.gif" alt="lorem.gif"&gt;&lt;/a&gt;&lt;br&gt;
Now, sometimes we have some character limit for the element and in that case, we just write the number of words we want from Lorem and hit enter like the code below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;lorem20

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Facere qui beatae, vero dolore numquam soluta aut. Dolorem nostrum sapiente quibusdam.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159312689%2F33rONkVbg.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159312689%2F33rONkVbg.gif" alt="lorem20.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 Adding Attributes to elements using [ ]
&lt;/h2&gt;

&lt;p&gt;We can use square brackets to add attributes to our HTML elements. Check the code below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;div&amp;gt;p&amp;gt;{To learn HTML} + a[href="https://html.com/"]{click here} + {and practice regularly.}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;this will give you the following code, in which a tag has href attribute with the value.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;To learn HTML &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"https://html.com/"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;click here&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt; and practice regularly.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632160346649%2FKiTzTyyVz.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632160346649%2FKiTzTyyVz.gif" alt="attributes.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 Adding numbers to elements
&lt;/h2&gt;

&lt;p&gt;Ok, we have learned a lot of tricks now, but what if we want to add numbering to our elements, what if we want to create &lt;code&gt;&amp;lt;li&amp;gt;&lt;/code&gt; elements inside &lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; but want to have different classes that are numbered.&lt;/p&gt;

&lt;p&gt;Check the code for better understanding:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;ul&amp;gt;li.list-item-$*5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;this will give you 5 list items &lt;code&gt;&amp;lt;li&amp;gt;&lt;/code&gt; inside &lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; because of the multiplication trick but along with that, it will add classes with numbering from 1-5.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-2"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-3"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-5"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159331001%2FBE71Q9CM3.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159331001%2FBE71Q9CM3.gif" alt="numbering.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: The numbering trick will only work with the multiplication trick because without multiplication it will always print &lt;code&gt;1&lt;/code&gt; where we add the &lt;code&gt;$&lt;/code&gt; sign.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And if you want to create a double-digit numbering system that starts from &lt;code&gt;01&lt;/code&gt;, just add two &lt;code&gt;$&lt;/code&gt; signs and if you want three-digit numbering like &lt;code&gt;001&lt;/code&gt; then three &lt;code&gt;$&lt;/code&gt; signs and so on.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;ul&amp;gt;li.list-item-$$*5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;will return&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-01"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-02"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-03"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-04"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-05"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159341795%2Fff1AIQLZE.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159341795%2Fff1AIQLZE.gif" alt="double number.gif"&gt;&lt;/a&gt;&lt;br&gt;
If you want to create a reverse numbering then, we need to add &lt;code&gt;@-&lt;/code&gt; just after the &lt;code&gt;$&lt;/code&gt; sign and it will add numbers in reverse. And it will start from the number, which we multiply with.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;ul&amp;gt;li.list-item-$$@-*5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-05"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-04"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-03"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-02"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"list-item-01"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159356131%2Fcjrmetoou.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632159356131%2Fcjrmetoou.gif" alt="reverse numbering.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: These shortcodes work without space, so if there is any space in between the codes it won't work.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632163155448%2FaSyGw2buJ.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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1632163155448%2FaSyGw2buJ.gif" alt="space issue.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up 👋
&lt;/h2&gt;

&lt;p&gt;Woah! too many tricks to learn and practice from this article. This might seem a little bit of hassle at the beginning but when you use these short tricks often and plan your structure properly, these shortcodes will help you write HTML way faster.&lt;/p&gt;

&lt;p&gt;If you liked the article, please give your reaction. It really means a lot. I have more amazing articles like this lined up in the coming days. &lt;br&gt;
You can follow me here or on  &lt;a href="https://twitter.com/LalitSinghShahi" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;  if you want to get updated when I post new articles.&lt;/p&gt;

&lt;p&gt;Till then be safe.&lt;br&gt;
Keep Learning, Keep coding... 👩‍💻 🧑‍💻&lt;/p&gt;

&lt;p&gt;Cheers!✌️&lt;/p&gt;

&lt;p&gt;Lalit&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>webdevlopment</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Complete roadmap: How to get started with Frontend Development?</title>
      <dc:creator>ShahiLalit</dc:creator>
      <pubDate>Tue, 14 Sep 2021 05:18:52 +0000</pubDate>
      <link>https://dev.to/shahilalit/complete-roadmap-how-to-get-started-with-frontend-development-m9p</link>
      <guid>https://dev.to/shahilalit/complete-roadmap-how-to-get-started-with-frontend-development-m9p</guid>
      <description>&lt;p&gt;Hello World!&lt;/p&gt;

&lt;p&gt;Today we will look into the complete roadmap for becoming a frontend developer step by step.&lt;/p&gt;

&lt;p&gt;In the previous blog, we talked about if getting into  &lt;a href="https://blog.lalitshahi.com/a-career-in-web-development-in-2021" rel="noopener noreferrer"&gt;a web development career in 2021&lt;/a&gt;  is still a good option. We discussed why it can be a good option for people who are interested in it. We also discussed that web development consists of Frontend Development and Backend Development. And what quick steps one can take to get into any of these fields as an absolute beginner.&lt;/p&gt;

&lt;p&gt;Now, in this article, we will dive deep into the complete guide on how one can plan his/her career in front-end development.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is Frontend Development?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;As an absolute beginner, I am sure you must be asking a question to yourself, what is front-end development? What does a front-end developer do?&lt;/p&gt;

&lt;p&gt;You see as the name suggests, a front-end developer creates everything a user sees on any website or application.&lt;/p&gt;

&lt;p&gt;To make it easier for you to understand and remember, let's make a list of tasks that a frontend developer handles.&lt;/p&gt;

&lt;p&gt;A front-end developer:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Creates the static User Interfaces (UIs) for the website/application.&lt;/li&gt;
&lt;li&gt;Responsible for adding and handling the user interactions, e.g. click of a button, filling out a form, etc.&lt;/li&gt;
&lt;li&gt;Integrates the Application Programming Interfaces (APIs) shared by the backend team with the UI.&lt;/li&gt;
&lt;li&gt;Linking pages together on a website/application for users to move back and forth.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Apart from these, there will be other tasks that you will have to do as a developer in a small team but those tasks can be handled by or delegated to anyone. So, let's not talk about what you don't do and talk about as a front-end developer what you do.&lt;/p&gt;

&lt;p&gt;As a beginner, it is very helpful when you have a clear idea about the processes and paths you need to know to achieve anything in your career. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://roadmap.sh/" rel="noopener noreferrer"&gt;Roadmap.sh&lt;/a&gt;  has done a wonderful job of doing extensive research and created this complete frontend developer roadmap for us and for every beginner who is planning to build a career as a frontend developer.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631524436448%2FufCCcUG5W.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631524436448%2FufCCcUG5W.png" alt="frontend.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Skills that you need to learn to be a frontend developer
&lt;/h2&gt;

&lt;p&gt;Now, that we have some idea about what you will do as a front-end developer, let's find out the skills that are needed to do all that.&lt;/p&gt;

&lt;p&gt;There are three technologies that you need to start with:-&lt;/p&gt;

&lt;h3&gt;
  
  
  HTML - HyperText Markup Language
&lt;/h3&gt;

&lt;p&gt;HTML is the basic foundation of web development. HTML is not a programming language, it's a markup language but it does not mean that it is any less than any programming language like Python or JavaScript.&lt;/p&gt;

&lt;p&gt;Almost all web pages that you see on the web are written in HTML. We can confidently state that HTML is the A B C of web development.&lt;/p&gt;

&lt;p&gt;HTML consists of elements also called tags. Each tag has its meaning and purpose. With the help of HTML, you would create the basic structure of your website and element should be written in the order they are going to be shown on the website.&lt;br&gt;
Some of the best resources to learn HTML:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;a href="https://html.com/" rel="noopener noreferrer"&gt;html.com&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://w3schools.com/" rel="noopener noreferrer"&gt;W3Schools&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://freecodecamp.org/" rel="noopener noreferrer"&gt;FreeCodeCamp&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;CSS - Cascading Style Sheets:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;CSS helps to style the webpage when you are done writing your HTML elements. You can target your HTML elements in a CSS file using various selectors, but mostly you would use classes, ids, and tag names. &lt;/p&gt;

&lt;p&gt;In the CSS file, you would define properties like the color, size of the text and background, how big you want your image to be and which font style to use and so many other properties. &lt;/p&gt;

&lt;p&gt;This is where you get to show your creativity and make the website as beautiful you can make, but keeping in mind the performance of the webpage.&lt;/p&gt;

&lt;p&gt;Some of the best resources to learn CSS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://w3schools.com/" rel="noopener noreferrer"&gt;W3Schools&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://freecodecamp.org/" rel="noopener noreferrer"&gt;FreeCodeCamp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://css-tricks.com/" rel="noopener noreferrer"&gt;CSS-Tricks&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;JS - JavaScript:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;JS is the most popular language out there. According to the StackOverflow survey, also discussed in our previous blog, A career in web development in 2021, JavaScript has been winning this race for 9 years in a row. &lt;/p&gt;

&lt;p&gt;And this is because JavaScript can be used in frontend and backend development. &lt;/p&gt;

&lt;p&gt;But as a beginner, you just have to focus on the fundamental concepts of programming that apply to JavaScript and that would be the stepping stone for you to learn any other language later if you choose to.&lt;/p&gt;

&lt;p&gt;Some of the best resources to learn JavaScript online:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://learnjavascript.online/" rel="noopener noreferrer"&gt;Learn JavaScript Online&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://freecodecamp.org/" rel="noopener noreferrer"&gt;FreeCodeCamp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://javascript.info/" rel="noopener noreferrer"&gt;JavaScript Info&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=pN6jk0uUrD8&amp;amp;list=PLlasXeu85E9cQ32gLCvAvr9vNaUccPVNP" rel="noopener noreferrer"&gt;Namaste JavaScript Playlist&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To understand the use of these three, as an absolute beginner, let's take an example.&lt;/p&gt;

&lt;p&gt;Our body is the website or the application that we have to build.&lt;/p&gt;

&lt;p&gt;For creating our body we need to have the elements like bones, skin, all kinds of body organs.&lt;/p&gt;

&lt;p&gt;Now, same as our body organs, we use HTML to create elements for our website. We create them in order we will be using them on our website. As the header of the website will be on top and footer of the website would be at the bottom, and so on.&lt;/p&gt;

&lt;p&gt;We have created elements that are needed now, we need to define how they should look as per the design and where they should be placed.&lt;/p&gt;

&lt;p&gt;Just like our bodies look different and beautiful in their way with all the hairstyle, clothes, etc. To do all that for our website, CSS comes into the picture.&lt;/p&gt;

&lt;p&gt;CSS (Cascading Style Sheets) defines how a user sees our website. We use CSS, to define what size of the image to put, what color of the text and background should be on our website. CSS also helps us define how our website should look when viewed on different screen sizes.&lt;/p&gt;

&lt;p&gt;Till now, we have created our body with all the structure, bones, muscles, and skin, and everything. But we do want a working body, we want to use our feet to work for walking and hands to help us type this blog, that you can see and read with your eyes.&lt;/p&gt;

&lt;p&gt;So, for this interaction, we have our brain and the nervous system to help us understand the world around us and interact with it.&lt;/p&gt;

&lt;p&gt;Likewise, we have JavaScript that does the work of our brain on our website. It tells the website what to open when a user clicks on a login button and what to do when the user clicks on the logout button.&lt;/p&gt;

&lt;p&gt;JavaScript also helps us get the feedback of our users after they read this blog, and post it down below in the comments section.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If this analogy helped you understand even a bit about HTML, CSS, and JavaScript please drop a comment down below and see the JavaScript in action.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After you have done a basic course on the above three, you will have some idea of how these technologies are used in front-end development.&lt;/p&gt;

&lt;p&gt;It's time to move ahead and learn some of the following technologies which a frontend developer should be aware of, and will have to use in his/her day-to-day work.&lt;/p&gt;
&lt;h3&gt;
  
  
  Understand how the web works?
&lt;/h3&gt;



&lt;p&gt;&lt;code&gt;How the internet works?&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The basic idea is browser sends a request, the server returns a response, that's how we see a webpage on browsers.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;How do you get the data on hitting a URL in your browser and What is DNS?&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;our browsers and servers talk to each other using numbers and they are called IP Addresses e.g. 255.0.23.3 but we as users can't remember all these IP addresses for all the websites we need, this is where DNS (Domain Name System) comes into the picture and maps our domain names like &lt;code&gt;yourdomain.com&lt;/code&gt; to its IP address.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Understand the difference between client-side and server-side programming.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;DOM - Document Object Model:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This represents the page that contains the webpage and all the elements that we created using HTML. Let's understand it this way, DOM is the document that consists of elements as objects which has their properties and methods.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Why do you need to learn DOM? you may ask!&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;so, DOM helps you target and grab any element on your website, and use it or its properties to change it or use it in any way you want in your project. e.g. you want to show a modal that pops up on the screen when you hit a button, so we can use DOM to achieve that.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;CSS Pre-processors like LESS, SCSS:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Pro-processors like LESS and SCSS help in creating better organized and re-usable CSS snippets. &lt;/p&gt;

&lt;p&gt;The pre-processors contain features like mixins, functions, variables, and the ability to use multiple files and import those into one main file. &lt;/p&gt;

&lt;p&gt;Basic idea is, it helps you write extensible, re-usable, and less code.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Version Control System:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When you start working on a project, you would need to have a way to control the different versions of your project, and have a clear idea about the code changes done by you or any other developer working with you on the same project. &lt;/p&gt;

&lt;p&gt;So, Version Control System helps in handling this by maintaining a history of what changes have happened and who has done it. GIT, CVS, &amp;amp; SVN are few popular open-source version control systems, which you can use to track your changes. &lt;/p&gt;

&lt;p&gt;Most of the companies use GitHub, GitLab, or BitBucket as their version control systems which are based on GIT. Learning GIT can be a bit difficult for a beginner, but when you are working alone on your first few projects, you would only need to remember these commands and you will be good to go.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;git init&lt;/code&gt;- it adds git to your new project and creates a master branch to your repository.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git status&lt;/code&gt; - it checks the new changes to your project&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git add -p&lt;/code&gt; - it shows you changes in small chunks so that you can check and confirm those changes one by one. There is another command (git add .) which adds all changes to git without confirmation and I would not suggest doing it.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git commit -m "write your commit-change msg here"&lt;/code&gt; - commits changes to git with the message written inside quotes about the changes after &lt;strong&gt;-m&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git push origin remote-branch-name&lt;/code&gt; - it pushes your code to the remote branch which you have mentioned in the command.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git checkout branch-name&lt;/code&gt; - it takes you to the branch you checkout to.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git checkout -b new-branch-name&lt;/code&gt; - it creates a new branch for you with the name provided by you and checks out to that branch.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git pull&lt;/code&gt; - this will pull all the changes from the remote branch to your remote branch.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Ability to use libraries in the project:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As a developer, you would have to do some development in your project which could require a lot of time and effort but you can also use libraries created by other developers and graciously open-sourced for other developers to use and take benefit from it. &lt;/p&gt;

&lt;p&gt;You must gain some experience in integrating and using open-sourced libraries. They can be for any use cases, could be for creating UIs, like using a bootstrap library or using an image slider library.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Understand the difference between Static, Dynamic Websites and SPAs:&lt;/strong&gt;
&lt;/h3&gt;



&lt;p&gt;&lt;code&gt;Static Websites&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Static websites&lt;/strong&gt; are the website in which the content of the website does not change very often or does not change at all. &lt;/p&gt;

&lt;p&gt;And it is the same for every user, for the time of the day, and the time zone. &lt;/p&gt;

&lt;p&gt;Static websites don't usually need any database design and are good for cases when there are fewer pages and very few update cycles.  To build a static website you just need to have HTML, CSS, and JavaScript knowledge.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Dynamic Websites&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;On other hand, &lt;strong&gt;dynamic websites&lt;/strong&gt; content can change very often, based on its users, timezone, etc. To develop a dynamic website, you necessarily need to have a backend and a database design, because Dynamic websites are mostly database-driven. &lt;/p&gt;

&lt;p&gt;To build a dynamic website you would need to have a fair amount of backend knowledge as well along with HTML, CSS, and JS because mostly all the content is server-rendered and you have to use some server scripting language like node.js, PHP, .Net, or Python to develop and fill the webpage with the content. It is not very much popular and in use nowadays because of SPAs.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Single Page Applications&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SPAs&lt;/strong&gt; or &lt;strong&gt;Single Page Applications&lt;/strong&gt; are the modern ways of developing a web application that gives users the app ecosystem kind of feel and it does not load content from the server on each page load. &lt;/p&gt;

&lt;p&gt;SPAs are popular and in high demand, because they have the ability of dynamic websites and are easy to build like static websites. Popular frameworks that help you develop SPAs are React.js, Angular,.js, Vue.js, and Svelte, etc.&lt;/p&gt;

&lt;p&gt;But it should also be noted that static websites are cheaper to build and faster in performance than dynamic websites or SPAs, that's why it is very important to understand the requirement of the project and then decide what kind of approach we should have for our next project. &lt;/p&gt;

&lt;p&gt;As a beginner it can be confusing for you to decide what to choose for your next project, should it be a static website or a dynamic one. &lt;/p&gt;

&lt;p&gt;Now, you can decide it better when you have a clear idea about the requirement of the project. Try to find out the answers to the following questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do you need to have login functionality? If Yes: Choose SPA&lt;/li&gt;
&lt;li&gt;Is the data going to change more often? If Yes: Choose SPA.&lt;/li&gt;
&lt;li&gt;Are there chances of adding more pages and functionalities in near future? If Yes: Choose SPA.&lt;/li&gt;
&lt;li&gt;It's going to be just a simple landing page of the company or a portfolio - Choose Static Website.&lt;/li&gt;
&lt;li&gt;You need an e-commerce kind of feature: Choose SPA.
These are some of the scenarios but do give some time before starting your project, and very clearly understand the project requirements.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Popular JavaScript Frameworks and Libraries:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;So, you have taken all the requirements and you came to the conclusion that you would have to develop a Single Page Application for your next project then it's time to learn some popular JavaScript frameworks and libraries. &lt;/p&gt;

&lt;p&gt;My personal preference is React.js and of course, you should try and test yourself all the options available and choose the one which you like the most. &lt;/p&gt;

&lt;p&gt;If you want to learn React.js, it's good to have a look at the  &lt;a href="https://reactjs.org/docs/getting-started.html" rel="noopener noreferrer"&gt;React.js official documentation&lt;/a&gt;  once.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Application Programming Interface (API) Integrations:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As a frontend developer, you will have to connect with the backend team and get the APIs for your SPA. An API connects your frontend with the backend and the database for the data that the user needs to see and interact with. &lt;/p&gt;

&lt;p&gt;It would be your job role as a frontend developer to integrate different types of APIs to your frontend, e.g. if the user wants to send some details about something maybe his/her profile info, then you need to connect a proper API to do that, and then to show the same data back to the user on the profile page, you would need to connect another API. &lt;/p&gt;

&lt;p&gt;In the same way, you will have to link all the pages and actions of your application with the backend with the help of APIs.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;NPM and Yarn:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When you start working on SPAs, there will be a lot of dependencies that your frontend code will require, and to manage all that, you have npm and yarn. &lt;/p&gt;

&lt;p&gt;NPM is short for Node Package Manager, it helps you manage packages used in your project. &lt;/p&gt;

&lt;p&gt;It keeps an eye on the version number of the packages in use and even the dependencies of the packages that you use in your project. &lt;/p&gt;

&lt;p&gt;Both NPM and Yarn have the same purpose, it is debatable which one is better than the other, but basic idea is, you should use only one of the two and you should have a basic understanding of the two. &lt;/p&gt;

&lt;p&gt;To find out which packages are being used by your project, open package.json inside your project and you will see the list of package dependencies and the versions of those packages used in your project.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Learn how to use browser dev tools:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As a frontend developer, regardless of your experience level, you will need to use your browser dev tools, for inspecting your website elements, debugging issues, and fixing UI-related problems. &lt;/p&gt;

&lt;p&gt;Browser dev tools would be your friend in all scenarios. It would be a plus point for you if you learn to use dev tools efficiently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;As a final note, frontend development is a very promising career for a developer and opportunities are endless. Once you get a good hold of the web frontend technologies and have created a couple of projects using JavaScript Frameworks, try learning technologies that help you build the frontend for the mobile applications. &lt;/p&gt;

&lt;p&gt;The web keeps changing with new technologies so, it is essential to keep yourself up-to-date with the latest trends and technologies, and never stop learning. &lt;/p&gt;

&lt;p&gt;It's good to have your fundamentals clear, even when you have gained a bit of experience so that you can grasp any new technology that comes in your way easily.&lt;/p&gt;

&lt;p&gt;That is it for now, until next time.&lt;/p&gt;

&lt;p&gt;Keep learning, keep coding...&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

&lt;p&gt;Lalit&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>career</category>
      <category>development</category>
      <category>frontend</category>
    </item>
    <item>
      <title>A career in web development in 2021</title>
      <dc:creator>ShahiLalit</dc:creator>
      <pubDate>Tue, 14 Sep 2021 05:11:20 +0000</pubDate>
      <link>https://dev.to/shahilalit/a-career-in-web-development-in-2021-lan</link>
      <guid>https://dev.to/shahilalit/a-career-in-web-development-in-2021-lan</guid>
      <description>&lt;p&gt;&lt;strong&gt;Should I choose Web Development as my career in 2021?&lt;/strong&gt; I bet most of the college students must be asking this question to themselves and to their seniors who are working at some company.&lt;/p&gt;

&lt;p&gt;I won't waste your much time and tell it straight away -&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Yes! you should choose web development as your career in 2021".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you want a job that gives you a decent salary and a skill that you can use to create other income sources, then&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Yes! you should choose web development as your career in 2021".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You only need 3 things, to begin with, web development:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Laptop
2. Internet
3. Will to learn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is all anyone needs to start learning web development. You have to give 1 month to it.&lt;/p&gt;

&lt;p&gt;And I guarantee you that, after one month, you would be able to understand how you create a website from scratch.&lt;/p&gt;

&lt;p&gt;Web development is divided into two parts-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Frontend Development
- Backend Development
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Frontend Development
&lt;/h3&gt;

&lt;p&gt;In front-end development, you would work on the visible part of any website or application. &lt;br&gt;
It means as a front-end developer, you would work on creating the User Interface (UI).&lt;br&gt;
And integrate the Application Programming Interfaces (a.k.a APIs) to complete the user interaction.&lt;/p&gt;
&lt;h3&gt;
  
  
  Backend Development
&lt;/h3&gt;

&lt;p&gt;In backend development, you would work on creating APIs, which help users to see the data or the content displayed on the frontend UI. &lt;br&gt;
In the backend development, your code adds utility to everything the front-end developer develops. &lt;br&gt;
You would also be responsible for managing the databases for saving the data needed for the website to run and display content.&lt;/p&gt;
&lt;h3&gt;
  
  
  What Interests you more?
&lt;/h3&gt;

&lt;p&gt;So, before starting your web development course you can think of your interest, what would interests you more -&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Is it working on the design stuff and developing the UI components for the websites and applications?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Or is it working on the data part, creating the APIs, working with databases &amp;amp; servers?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, that you have decided to do learn web development, and decided to give your 1 month.&lt;/p&gt;

&lt;p&gt;and you want to go into the frontend development path, I would suggest you divide your 1 month into 1-1-2 weeks.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- 1 week to learn HTML. 
- 1 week to learn CSS, &amp;amp; 
- 2 weeks to learn JavaScript.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is all you need to start.&lt;/p&gt;

&lt;p&gt;Now, once you get comfortable with the above three, you should start looking into popular JavaScript frameworks and libraries.&lt;/p&gt;

&lt;p&gt;Here is a  &lt;a href="https://insights.stackoverflow.com/survey/2021/#section-most-popular-technologies-web-frameworks" rel="noopener noreferrer"&gt;survey by StackOverflow&lt;/a&gt;  for the popular web frameworks and libraries. According to it, React.js is the most popular one, so you could try learning it.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631028087977%2FsQnoWbkvR.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631028087977%2FsQnoWbkvR.png" alt="Screenshot 2021-09-07 at 8.40.34 PM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But if you prefer backend development, then you have a long list of languages that you could learn to start your backend development journey.&lt;/p&gt;

&lt;p&gt;Some of the popular languages out there for backend development are Python, Node.js, Java, .Net, PHP, Ruby, etc.&lt;/p&gt;

&lt;p&gt;If we look at  &lt;a href="https://insights.stackoverflow.com/survey/2021/#section-most-popular-technologies-programming-scripting-and-markup-languages" rel="noopener noreferrer"&gt;another survey by StackOverflow&lt;/a&gt;  for the popular languages used by developers, JavaScript is selected as the most popular language out of all.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631028065996%2F2olmzHNPN.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.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1631028065996%2F2olmzHNPN.png" alt="Screenshot 2021-09-07 at 4.11.50 PM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, the main reason for JavaScript being the most popular language is -&lt;br&gt;
Once you learn JavaScript fundamentals,  you would be able to work on the frontend as well as on the backend development.&lt;/p&gt;

&lt;p&gt;So, that being said, you are still free to use any programming language to learn backend development. And even once you learn JavaScript ( JS ) it is not set in stone that you have to use JS only for the backend development.&lt;br&gt;
When you learn a programming language and the basic fundamental concepts of programming, you would be able to pick up any language out there if you are interested.&lt;/p&gt;

&lt;p&gt;For starting a career as a backend developer you must learn:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Data structure and algorithm basics.&lt;/li&gt;
&lt;li&gt;Any programming language of your choice, be it Python, Java, or JavaScript.&lt;/li&gt;
&lt;li&gt;A framework suitable to the programming language of your choice, to make your life easier in developing the APIs.&lt;/li&gt;
&lt;li&gt;Basics of databases.&lt;/li&gt;
&lt;li&gt;Hosting your application and handling servers.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As a final takeaway, I’d just like to say that in addition to inculcating the required skills, to be successful as a frontend or a backend developer, you need to be dedicated, patient, and hard-working.&lt;/p&gt;

&lt;p&gt;In the end, I would like to emphasize that &lt;strong&gt;"Web Development in 2021 is still a good choice to choose as a career"&lt;/strong&gt;, but to grow with the world, you will have to learn and evolve yourself with new technologies in trend and high demand.&lt;/p&gt;

&lt;p&gt;Later, we will discuss more deeply what to learn specifically in frontend and backend development and how to grow as a Full Stack Developer from a Frontend or a Backend Developer.&lt;/p&gt;

&lt;p&gt;Till then be safe &amp;amp; keep coding...&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

&lt;p&gt;Lalit&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>codenewbie</category>
      <category>career</category>
    </item>
  </channel>
</rss>
