<?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: Favour Ukonu</title>
    <description>The latest articles on Forem by Favour Ukonu (@faave).</description>
    <link>https://forem.com/faave</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%2F1564082%2F6bc5d94d-60aa-4a67-8ec6-adf11c32f981.jpg</url>
      <title>Forem: Favour Ukonu</title>
      <link>https://forem.com/faave</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/faave"/>
    <language>en</language>
    <item>
      <title>From Local to Live: How to Deploy Your React Application using Netlify.</title>
      <dc:creator>Favour Ukonu</dc:creator>
      <pubDate>Mon, 14 Oct 2024 17:01:43 +0000</pubDate>
      <link>https://forem.com/faave/from-local-to-live-how-to-deploy-your-react-application-using-netlify-52h5</link>
      <guid>https://forem.com/faave/from-local-to-live-how-to-deploy-your-react-application-using-netlify-52h5</guid>
      <description>&lt;p&gt;You've spent hours perfecting your React app, and now it's time to share it with the world. Building a React app is one thing, but getting it live? That's the magic moment✨. Fortunately, with Netlify, taking your project from your laptop to the world is a breeze. Whether you're a seasoned developer or new to deployment this guide will walk you through every step of launching your React app—no headaches, just results. Ready to make your app live in minutes? Let’s make it happen!&lt;/p&gt;

&lt;p&gt;There are several ways to deploy on Netlify but in this guide we'll be looking at two methods- &lt;strong&gt;Deploy with Git&lt;/strong&gt; and &lt;strong&gt;Drag and Drop&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Preparing your React App.
&lt;/h3&gt;

&lt;p&gt;Before deploying, you need to ensure your React app is ready for production. You'll want to:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Run a Final Test:&lt;/strong&gt; Make sure your app works as expected locally by running: &lt;br&gt;
&lt;code&gt;npm run dev&lt;/code&gt; &lt;br&gt;
If it was created with &lt;a href="https://vite.dev/guide/" rel="noopener noreferrer"&gt;Vite&lt;/a&gt;.&lt;br&gt;
&lt;code&gt;npm run start&lt;/code&gt;&lt;br&gt;
If it was created with &lt;a href="https://create-react-app.dev/" rel="noopener noreferrer"&gt;Create-React-App&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I recommend creating with Vite.&lt;/p&gt;

&lt;p&gt;This command launches your app in development mode. Open &lt;a href="http://localhost:5173" rel="noopener noreferrer"&gt;http://localhost:5173&lt;/a&gt; or &lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt; in your browser to see how it performs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Build for production:&lt;/strong&gt; To get your app ready for the web, create a production build:&lt;br&gt;
&lt;code&gt;npm run build&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This will bundle your app into optimized static files in a &lt;code&gt;build&lt;/code&gt; / &lt;code&gt;dist&lt;/code&gt; folder, ready for deployment.&lt;/p&gt;

&lt;p&gt;Do well to make sure your project is on github.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Setting up Netlify
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Sign Up for Netlify:&lt;/strong&gt; Head over to &lt;a href="https://www.netlify.com/" rel="noopener noreferrer"&gt;Netlify's website&lt;/a&gt; and sign up for a free account if you don’t have one already. You can use your GitHub or GitLab account to sign up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Create a New Site:&lt;/strong&gt; Once logged in, click on the "Add New site" button.&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%2Fpdxy49as3tyf83qvwh8j.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%2Fpdxy49as3tyf83qvwh8j.png" alt="Screenshot (384)" width="608" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Deploy with Git.
&lt;/h2&gt;

&lt;p&gt;To deploy with your Git click on "Import an existing project"&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Connecting Your Git Repository
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Choose Your Git Provider:&lt;/strong&gt; Select your Git provider (GitHub, GitLab, or Bitbucket) where your project is hosted.&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%2F7tpjzpqs7iqnq828ud99.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%2F7tpjzpqs7iqnq828ud99.png" alt="Screenshot (385)" width="800" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Authorize Netlify:&lt;/strong&gt; Netlify will ask for permission to access your repository. Authorize it, and you’ll be redirected back to the dashboard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Select Your Repository:&lt;/strong&gt; Choose the repository that contains your React app project. Netlify will scan your project and automatically detect that it’s a React app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Configuring Your Build Settings
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Set Build Command and Publish Directory:&lt;/strong&gt; In the build settings, Netlify typically fills in the correct fields for you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build Command: &lt;code&gt;npm run build&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Publish Directory: &lt;code&gt;build/&lt;/code&gt; or &lt;code&gt;dist/&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&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%2F300cy0zyzmzk6q4krd8q.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%2F300cy0zyzmzk6q4krd8q.png" alt="Screenshot (386)" width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If these fields aren’t filled, simply enter the commands above. These settings will ensure Netlify builds and deploys your app properly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Deploy Site:&lt;/strong&gt; Click on “Deploy site”, and Netlify will start building and deploying your React app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Your Site is Live!
&lt;/h3&gt;

&lt;p&gt;Once the deployment process finishes, Netlify will provide you with a live URL for your React app project. You can click on the link to view your live site.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Custom Domain: If you’d like, you can also change your site name to a custom domain through Netlify. Click on "Site Configuration" &lt;/li&gt;
&lt;/ul&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%2Fphsyqr6808ycn4krq3bk.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%2Fphsyqr6808ycn4krq3bk.png" alt="Screenshot (388)" width="800" height="578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scroll down a bit further till you see "Change site name" click that and edit your site name to any of your choice as long as it's available.&lt;/p&gt;

&lt;p&gt;One of the best features of Netlify is continuous deployment. Anytime you push a change to your Git repository, Netlify will automatically rebuild and redeploy your app. This keeps your site up to date with the latest version of your app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Deploy using Drag and Drop.
&lt;/h3&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%2Fpdxy49as3tyf83qvwh8j.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%2Fpdxy49as3tyf83qvwh8j.png" alt="Screenshot (384)" width="608" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To deploy using drag and drop click on "Deploy Manually"&lt;/p&gt;

&lt;p&gt;Drag your &lt;code&gt;dist&lt;/code&gt; or &lt;code&gt;build&lt;/code&gt; folder and drop it in the circle or you can browse to upload the folder.&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%2Fqaxfdxvmztfs7g6pj8vl.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%2Fqaxfdxvmztfs7g6pj8vl.png" alt="Screenshot (390)" width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After dropping, clicking on "Open Production Deploy" takes you to your live link.&lt;/p&gt;

&lt;p&gt;To enable continuous deployment after using Deploy manually you need to navigate to deploy settings to link your repository. &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%2F891lp5cwgi7hx5yx3dvo.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%2F891lp5cwgi7hx5yx3dvo.png" alt="Options settings" width="800" height="342"&gt;&lt;/a&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%2F57cfot62uoxuqr1i9p9w.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%2F57cfot62uoxuqr1i9p9w.png" alt="Deploy settings" width="800" height="260"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on "Link repository" and follow the steps.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bonus Feature.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Redirects and Rewrites:&lt;/strong&gt; Ever deployed your react app on Netlify and when you try navigating to a page that exists on your local host you get a 404 error?  &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%2Fnujpcgbu4bpdt3i8a0lr.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%2Fnujpcgbu4bpdt3i8a0lr.png" alt="404 error" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Netlify allows you to easily set up redirects and rewrite rules using a simple _redirects file in your project.&lt;/p&gt;

&lt;p&gt;In your editor(VsCode) add a _redirects file in your public folder and add this in it.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/*  /index.html   200&lt;/code&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%2Fccpmb8fysh4aiufj4i0d.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%2Fccpmb8fysh4aiufj4i0d.png" alt="Image description" width="798" height="226"&gt;&lt;/a&gt;&lt;br&gt;
This solves the issue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion🎉.
&lt;/h2&gt;

&lt;p&gt;Deploying your React app doesn’t have to be complicated, especially with a platform like Netlify. With just a few steps, your app is live and accessible to the world, and with continuous deployment, future updates are a breeze. Now that you’ve gone from local to live, you can focus on what matters most—building great features for your users!&lt;/p&gt;

&lt;p&gt;Happy Coding!🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>netlify</category>
      <category>development</category>
    </item>
    <item>
      <title>Navigating CSS Responsive Design.</title>
      <dc:creator>Favour Ukonu</dc:creator>
      <pubDate>Wed, 14 Aug 2024 18:09:27 +0000</pubDate>
      <link>https://forem.com/faave/navigating-css-responsive-design-28ao</link>
      <guid>https://forem.com/faave/navigating-css-responsive-design-28ao</guid>
      <description>&lt;p&gt;One major responsibility of a front-end developer is to create a responsive design layout. This is also one of their challenges.&lt;/p&gt;

&lt;p&gt;You may have believed, as I did, that "it's time to start building responsive designs" when working on projects using HTML/CSS and JavaScript, or you may find it difficult to make your designs responsive. &lt;/p&gt;

&lt;p&gt;Whatever the situation, let's get right in and learn how to navigate CSS responsive design, Sailor. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is Responsive Web Design(RWD)?
&lt;/h2&gt;

&lt;p&gt;The right-hand side of the cover image says it 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%2Fgithub.com%2FThatgirl9%2FNoir-Chef%2Fassets%2F108234015%2F17f9c577-1a0e-4b12-8d89-cb197033e9c1" 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%2Fgithub.com%2FThatgirl9%2FNoir-Chef%2Fassets%2F108234015%2F17f9c577-1a0e-4b12-8d89-cb197033e9c1" alt="A Responsive Design" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;
Responsive Web Design.



&lt;p&gt;Responsive Design involves creating websites to adapt to a user's device, ensuring a consistent experience regardless of the device or the screen size. Responsive design is all about accessibility and usability, making sure your website is accessible and easily navigable.  &lt;/p&gt;

&lt;p&gt;We implement responsive design using HTML and CSS. Let's go over how we can achieve that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Implementing Responsive Web Design 🛠.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Viewport:&lt;/strong&gt; Viewport is a meta tag in HTML located within the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; tag.&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;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;/head&amp;gt;&lt;/span&gt;



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

&lt;/div&gt;

&lt;p&gt;It is the area of a webpage in which the content is visible to the user. It varies with the device, the content would be smaller on a mobile phone than on a computer.&lt;/p&gt;

&lt;p&gt;This tag informs the browser on how to control the page's dimensions and scaling. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;content="width=device-width&lt;/code&gt;&lt;br&gt;
This tells the browser to render the webpage to match the width of the screen currently used, letting the page reflow its content to match different screen sizes.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;initial-scale=1.0"&lt;/code&gt;&lt;br&gt;
This specifies the initial zoom level when the browser first loads the page.&lt;/p&gt;

&lt;p&gt;Make sure your &lt;code&gt;HTML&lt;/code&gt; file has a viewport meta tag.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Images:&lt;/strong&gt; An image is responsive when it scales correctly on different browser sizes. To achieve a responsive image it is recommended you give all images a &lt;code&gt;max-width: 100%&lt;/code&gt;&lt;br&gt;
This ensures that your image shrinks to fit the available space while preventing it from increasing or stretching beyond its original size.&lt;/p&gt;

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

&lt;span class="nx"&gt;img&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nx"&gt;max&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


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

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;3.Layouts:&lt;/strong&gt; A layout represents the structure of a webpage achieved through elements like; &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; These elements help to organize content, define the page's sections, and enhance accessibility. I'll be considering two CSS page layout techniques, these techniques would allow us to control the positioning of such elements intentionally.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flexbox:&lt;/strong&gt; CSS Flexbox is a one-dimensional layout mechanism for arranging elements in rows or columns. It provides flexibility in distributing space and aligning items within a container. Here's a simple example:&lt;/li&gt;
&lt;/ul&gt;

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

&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;flex&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;direction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;row&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cm"&gt;/* or column */&lt;/span&gt;
  &lt;span class="nx"&gt;justify&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;space&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;between&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cm"&gt;/* Distributes space evenly between elements */&lt;/span&gt;
  &lt;span class="nx"&gt;align&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cm"&gt;/* Aligns items vertically in the center */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;



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

&lt;/div&gt;

&lt;p&gt;Flexbox shines when you need to create a layout where items should automatically adjust their size to fit the available space, making it perfect for responsive designs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CSS Grid:&lt;/strong&gt; While Flexbox is excellent for one-dimensional layouts, CSS Grid is a powerful two-dimensional layout mechanism, allowing you to create complex grid-based layouts with ease. You can define rows and columns, and place items precisely within this grid. Here's a simple example:&lt;/li&gt;
&lt;/ul&gt;

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

&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;grid&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;grid&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;template&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;columns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;repeat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="nx"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="cm"&gt;/* Creates 3 equal-width 
  columns */&lt;/span&gt;
  &lt;span class="nx"&gt;grid&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="nx"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cm"&gt;/* Adds space between grid items */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


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

&lt;/div&gt;

&lt;p&gt;CSS Grid is ideal for creating layouts that require both row and column alignment, like a gallery or a full-page layout.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.Media Queries:&lt;/strong&gt; Media queries are the cornerstone of responsive web design. They allow you to apply different styles based on the screen size, orientation, and other characteristics of the device. Here's an example:&lt;/p&gt;

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


&lt;span class="cm"&gt;/* Default styles */&lt;/span&gt;
&lt;span class="nx"&gt;body&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;font&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="nx"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="cm"&gt;/* Styles for devices with a width of 768px or more */&lt;/span&gt;
&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;min&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;768&lt;/span&gt;&lt;span class="nx"&gt;px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;body&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;font&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="nx"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="cm"&gt;/* Styles for devices with a width of 1200px or more */&lt;/span&gt;
&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;min&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1200&lt;/span&gt;&lt;span class="nx"&gt;px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;body&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;font&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="nx"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


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

&lt;/div&gt;

&lt;p&gt;This code adjusts the font size based on the device's width, ensuring that the text remains readable on different screen sizes. Media queries are essential for fine-tuning your design across various devices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.Fluid Typography:&lt;/strong&gt; Fluid typography allows your text to scale smoothly between different viewport sizes. You can achieve this using the &lt;code&gt;clamp()&lt;/code&gt; function in CSS:&lt;/p&gt;

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

&lt;span class="nx"&gt;h1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;font&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;clamp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;1.5&lt;/span&gt;&lt;span class="nx"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="nx"&gt;vw&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="nx"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="nx"&gt;rem&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


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

&lt;/div&gt;

&lt;p&gt;This line of code ensures that your &lt;code&gt;h1&lt;/code&gt; elements are never smaller than &lt;code&gt;1.5rem&lt;/code&gt; or larger than &lt;code&gt;3rem&lt;/code&gt;, and within those bounds, the size will adjust based on the viewport width.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.Testing and Debugging:&lt;/strong&gt; Responsive design isn't complete without thorough testing. Tools like Chrome's DevTools, Browser extension like Mobile Simulator, responsive design mode in Firefox, and online emulators like BrowserStack can help you simulate various devices and screen sizes to ensure your design works flawlessly everywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion🏁.
&lt;/h2&gt;

&lt;p&gt;Responsive design is not just a trend but a necessity in today's multi-device world. By mastering CSS techniques like Flexbox, Grid, media queries, and fluid typography, you can create websites that provide an optimal user experience on any device. Remember, the key to success in responsive design is constant testing and refining your layout as you build.&lt;/p&gt;

&lt;p&gt;Now that you know the ropes, go ahead and make your designs as responsive as the best of them. &lt;/p&gt;

&lt;p&gt;Happy Coding!🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>html</category>
      <category>frontend</category>
    </item>
    <item>
      <title>A Deep Dive into Frontend Frameworks: React and Vue.</title>
      <dc:creator>Favour Ukonu</dc:creator>
      <pubDate>Thu, 27 Jun 2024 21:22:22 +0000</pubDate>
      <link>https://forem.com/faave/a-deep-dive-into-frontend-frameworks-react-and-vue-8k7</link>
      <guid>https://forem.com/faave/a-deep-dive-into-frontend-frameworks-react-and-vue-8k7</guid>
      <description>&lt;p&gt;You might have seen or read questions like, &lt;strong&gt;"React or Vue, which do you prefer using?"&lt;/strong&gt;, &lt;strong&gt;"Vue or React: Which one to choose in 2024?"&lt;/strong&gt;, &lt;strong&gt;"React vs Vue: Which JavaScript Framework Wins?"&lt;/strong&gt;. I have seen and read questions like that, I have even asked a question like the ones above. &lt;br&gt;
You know both Frameworks and sometimes wonder which one to use, or, you don't even know both, but you've heard them around.&lt;/p&gt;

&lt;p&gt;Alas, here's the article you've been awaiting. Let's talk about both Frameworks🚀 while highlighting their characteristics, advantages and situations in which you might use them. I'll also share my thoughts on utilising React.js and what I hope to gain from the HNG internship.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React.js&lt;/strong&gt; and &lt;strong&gt;Vue.js&lt;/strong&gt; are both Frontend Frameworks, popular ones at that. They both have robust ecosystems, energetic communities and a wide range of use cases, which makes them a developer's suitable choice. Though they share a bit of similarities, they have different approaches and concepts that can influence which one is the best fit for a particular project.&lt;/p&gt;

&lt;h2&gt;
  
  
  React: A Library for Building User Interfaces.
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is React?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://react.dev/" rel="noopener noreferrer"&gt;React&lt;/a&gt; is an open-source JavaScript library developed and maintained by Facebook. React aims at building user interfaces, especially for single-page applications(SPA), through a component-based structure.   &lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features.
&lt;/h3&gt;

&lt;p&gt;Some important characteristics of React.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Virtual DOM:&lt;/strong&gt; React uses a Virtual DOM to optimize updates and rendering of contents. This allows React to update the actual DOM more efficiently by only making the necessary changes, rather than re-rendering the entire DOM each time there is a change.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;JSX:&lt;/strong&gt; React enables JSX, a syntax extension that combines JavaScript and HTML. JSX makes it easier to write and understand component structures.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Robust Ecosystem:&lt;/strong&gt; React's ecosystem includes tools like Create React App, Next.js for server-side rendering, and a wide array of community-built libraries and components.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Advantages.
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance:&lt;/strong&gt; The virtual DOM and efficient diffing algorithm provide good performance for dynamic applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Community and Ecosystem:&lt;/strong&gt; React's large and active community provides extensive resources, libraries, and tools.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flexibility:&lt;/strong&gt; React’s component-based structure offers flexibility in constructing your applications.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Use cases.
&lt;/h3&gt;

&lt;p&gt;In which situation would you want to use React?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Single Page Applications(SPA):&lt;/strong&gt; If you're building a single page application, React is well-suited due to its prompt and efficient rendering and state management.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Complex UIs:&lt;/strong&gt; The React component-based approach concentrates on building complex and interactive UIs which comes in handy if you're building a complex UI which consists of multiple components, features, and interactions that make it challenging to develop, and maintain.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;React-Native:&lt;/strong&gt; Are you a Mobile developer? React Native enables the development of mobile applications using React.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Vue: The Progressive JavaScript Framework.
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is Vue?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://vuejs.org/guide/introduction.html" rel="noopener noreferrer"&gt;Vue&lt;/a&gt; is a progressive JavaScript framework for building user interfaces, Evan You created it. Vue is designed to be flexible and incrementally adoptable meaning you can use as much or as little of it as you need. Vue combines the best features of existing frameworks while maintaining simplicity and ease of use, making it beginner-friendly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features.
&lt;/h3&gt;

&lt;p&gt;Some important characteristics of Vue.js.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reactive Data Binding:&lt;/strong&gt; Vue’s reactivity system allows for automatic tracking and efficient updates to the DOM when the underlying data changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Single-File Components(SFC):&lt;/strong&gt; Vue encourages the use of single-file components, which encapsulate HTML, CSS, and JavaScript in a single file giving the vibes of the Regular HTML file with inline styles and JavaScript.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Directives:&lt;/strong&gt; Vue provides a set of built-in directives for common tasks, such as v-if for conditional rendering and v-for for loops.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Advantages.
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Simplicity and Easy to Use:&lt;/strong&gt; Vue’s syntax and design principles are natural and easy to learn, making it accessible for beginners.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flexibility:&lt;/strong&gt; Vue can be used for both small projects and large-scale applications, adapting to various needs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Comprehensive Documentation:&lt;/strong&gt; Vue’s documentation is thorough and well-maintained, providing clear guidance and examples. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Use cases.
&lt;/h3&gt;

&lt;p&gt;In which situation would you want to use Vue?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Progressive Web Apps(PWAs):&lt;/strong&gt; If you're building a progressive web app, Vue's reactivity and efficient state management make it ideal for progressive web apps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Component Libraries:&lt;/strong&gt; Vue is often used to build component libraries due to its flexible and encapsulated SFC components.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integrating with Existing Projects:&lt;/strong&gt; Worried you've started a project without Vue? no worries, Vue can be incrementally adopted in existing projects, making it easy to integrate with other technologies. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My thoughts on utilising React.
&lt;/h2&gt;

&lt;p&gt;Between Vue and React Framework, I use React more and I'm open to using Vue.&lt;/p&gt;

&lt;p&gt;I consider React to be a flexible and strong library for building user interfaces. I find its syntax(JSX) easy to implement, down to its component-based structure that allows for modular and reusable code, to its extensive community support, with plenty of tutorials, documentation, and third-party libraries that can help solve almost any development challenge. This makes it a go-to choice for many developers, including myself.&lt;/p&gt;

&lt;h2&gt;
  
  
  My expectations in the HNG Internship.
&lt;/h2&gt;

&lt;p&gt;At HNG, React is the Framework used extensively, and as I've discussed earlier, React's efficiency and flexibility make it an excellent choice. The ability to integrate React with other technologies and frameworks means that it can adapt to a wide range of project requirements, from simple web applications to complex, enterprise-level solutions.&lt;/p&gt;

&lt;p&gt;But first, &lt;strong&gt;What is HNG?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;HNG is a global internship program that focuses on training young individuals in software development. Participants are given real-world projects to work on and are mentored by industry professionals. &lt;/p&gt;

&lt;p&gt;Curious as to how the HNG Internship program works?&lt;/p&gt;

&lt;p&gt;Click Here- &lt;a href="https://hng.tech/internship" rel="noopener noreferrer"&gt;HNG Internship&lt;/a&gt; to satisfy your curiosity. And Here &lt;a href="https://hng.tech/hire" rel="noopener noreferrer"&gt;HNG Hire&lt;/a&gt; if you looking to hire.&lt;/p&gt;

&lt;p&gt;It's my first experience with HNG and participating in it is an exciting and scary opportunity for me. I have several expectations that I hope to achieve during this experience but I'll be listing a few of them.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Skill Enhancement:&lt;/strong&gt; Through hands-on projects and real-world applications, I strive to deepen my understanding and proficiency in developing high-quality web applications and significantly enhance my skills in ReactJS and other front-end technologies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Collaboration and Teamwork:&lt;/strong&gt; One of my key expectations is to collaborate with a diverse group of developers. Working in teams will help me improve my communication skills, learn from others' experiences, and contribute effectively to collective goals.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Understanding Real-World Challenges:&lt;/strong&gt; I aim to understand and tackle real-world challenges that come with building and maintaining web applications. This includes problem-solving under constraints, optimizing for performance, and ensuring scalability and maintainability of code.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Overall, Both React and Vue.js are powerful tools for building modern web applications, each with its strengths and trade-offs and I am enthusiastic about the learning journey ahead and confident that the HNG Internship will provide a comprehensive platform for professional and personal growth.&lt;/p&gt;

&lt;p&gt;Thank you for Reading!🚀&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>react</category>
      <category>vue</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Getting Started with Frontend Development - A Beginner's Guide.</title>
      <dc:creator>Favour Ukonu</dc:creator>
      <pubDate>Thu, 06 Jun 2024 11:27:02 +0000</pubDate>
      <link>https://forem.com/faave/getting-started-with-frontend-development-a-beginners-guide-50e5</link>
      <guid>https://forem.com/faave/getting-started-with-frontend-development-a-beginners-guide-50e5</guid>
      <description>&lt;p&gt;Front-end development is an exciting and important part of web development that deals with creating visual aspects of websites and applications that users interact with daily.&lt;br&gt;&lt;br&gt;
If you are new to this field or looking for a career path to get started in tech, this article will help you get started with the basics and offer you a roadmap to becoming a proficient Front-end Developer.&lt;/p&gt;

&lt;p&gt;Let's get right into it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Front-end Development?
&lt;/h2&gt;

&lt;p&gt;Front-end Development involves creating the user interface(UI) and user experience(UX) of a website or application. Simply put, it includes everything the user sees such as text, images, buttons, links, forms, animations and so on. &lt;/p&gt;

&lt;h4&gt;
  
  
  What does a Frontend Developer do?
&lt;/h4&gt;

&lt;p&gt;As a Frontend developer, you use a combination of HTML, CSS and JavaScript to create interfaces that the user can see and interact with.&lt;/p&gt;

&lt;h2&gt;
  
  
  Essential Skills for Frontend Development 🤹‍♀️.
&lt;/h2&gt;

&lt;h4&gt;
  
  
  1. HTML (HyperText Markup Language)
&lt;/h4&gt;

&lt;p&gt;HTML is the standard markup language for creating webpages, it provides the structure and content for a webpage and it is also the backbone of any website. Learning HTML is the first step in your journey to becoming a front-end developer. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Concepts:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Things you should look out for while learning HTML.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Elements and Tags:&lt;/strong&gt; HTML uses tags to create elements. For example, &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; is for headings and &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; for paragraphs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Attributes:&lt;/strong&gt; Attributes provide additional information about HTML elements. For example, &lt;code&gt;&amp;lt;a href="https://example.com"&amp;gt;Link&amp;lt;/a&amp;gt;&lt;/code&gt; &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2. CSS (Cascading Style Sheets)
&lt;/h4&gt;

&lt;p&gt;CSS is a style sheet language used to style and layout a webpage. It allows you to apply colours, fonts and more to HTML elements. It brings colour, think of CSS as the life of the party, bringing life to your HTML elements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Concepts:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Things you should look out for while learning CSS.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Selectors:&lt;/strong&gt; These are used to target HTML elements you want to style. For example, &lt;code&gt;p:{&lt;br&gt;
color: red}&lt;/code&gt; This targets all &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; elements and gives them a text-colour of &lt;code&gt;red&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Box Model:&lt;/strong&gt; Explains how Margins, Borders and Padding work together, understanding this is essential for layout design.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flexbox and Grid:&lt;/strong&gt; These are CSS advanced layout systems that make it easier to design responsive web pages.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  3. JS (JavaScript).
&lt;/h4&gt;

&lt;p&gt;JavaScript is a programming language that adds interactivity to your web page. It allows you to create dynamic content like navbar, forms, sliders and other interactive elements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Concepts:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Things you should look out for while learning JavaScript.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Variables and Data Types:&lt;/strong&gt; Understanding how to store and manipulate Data Types like strings, numbers, arrays and objects is important.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Functions:&lt;/strong&gt; Learn how to write reusable blocks of code that perform specific tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;DOM Manipulation:&lt;/strong&gt; Learn how to interact with, create or modify HTML elements using JavaScript.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started 👩‍💻.
&lt;/h2&gt;

&lt;p&gt;Since you know the essential skills for front-end development, let's walk you through how to get started as a front-end developer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Set your Development Environment.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Text Editor:&lt;/strong&gt; Text editors are tools that help you write and manage your code efficiently. Choose a text editor like Visual Studio Code(VScode), Sublime Text or Atom Editor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Web Browser:&lt;/strong&gt; To test and debug your web pages, use modern browsers like Google Chrome, Microsoft Edge, Firefox or Safari. &lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Learn the Basics.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. HTML and CSS:&lt;/strong&gt; Start with the basics of HTML and CSS. Create simple web pages with HTML and style with CSS. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. JavaScript:&lt;/strong&gt; Once you're comfortable with HTML and CSS, start learning JavaScript. Practice by including interactive elements in your web pages.&lt;/p&gt;

&lt;p&gt;Websites like &lt;a href="https://www.w3schools.com/" rel="noopener noreferrer"&gt;W3schools&lt;/a&gt; and &lt;a href="https://developer.mozilla.org/en-US/docs/Web" rel="noopener noreferrer"&gt;MDN Web Docs&lt;/a&gt; offer excellent tutorials.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Build Projects.
&lt;/h3&gt;

&lt;p&gt;Apply what you've learnt by building projects. Start with simple projects like replicating a design with code, a personal portfolio or a signup form. This hands-on experience is important for improving and reinforcing your skills and knowledge.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Learn Version Control.
&lt;/h3&gt;

&lt;p&gt;Git is a version control system that tracks changes in your code and allows for collaboration with others. Platforms like Github allow you to host and share your projects. Learning Git is essential for web development.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Stay Updated and Keep Learning.
&lt;/h3&gt;

&lt;p&gt;Front-end development is an ever-evolving field. Follow blogs, join online communities and participate in forums to stay updated with the latest trends and technologies. Here are some popular resources to check out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CSS-Tricks:&lt;/strong&gt; A blog that covers everything about CSS and front-end development.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Frontend Masters:&lt;/strong&gt; A platform that offers comprehensive courses on frontend development.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stack Overflow:&lt;/strong&gt; A Question and Answer site where you can ask questions and get answers from the developer community.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Becoming a Front-end developer requires dedication and continuous learning. Start with the basics and gradually move on to more complex topics and projects. By practising regularly and staying updated with the latest trends, you'll be well on your way to becoming a proficient Front-end Developer.&lt;/p&gt;

&lt;p&gt;Thank you for reading and Happy Coding🚀!&lt;/p&gt;

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