<?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: Muhammad Abdullah</title>
    <description>The latest articles on DEV Community by Muhammad Abdullah (@dexter845).</description>
    <link>https://dev.to/dexter845</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%2F973132%2F80eefafa-05de-4c52-bf91-73eaf0c7ecc3.jpeg</url>
      <title>DEV Community: Muhammad Abdullah</title>
      <link>https://dev.to/dexter845</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dexter845"/>
    <language>en</language>
    <item>
      <title>Speed Matters: Why PNPM and Yarn Outpace npm in Package Management</title>
      <dc:creator>Muhammad Abdullah</dc:creator>
      <pubDate>Wed, 24 Apr 2024 16:06:16 +0000</pubDate>
      <link>https://dev.to/dexter845/speed-matters-why-pnpm-and-yarn-outpace-npm-in-package-management-3dp3</link>
      <guid>https://dev.to/dexter845/speed-matters-why-pnpm-and-yarn-outpace-npm-in-package-management-3dp3</guid>
      <description>&lt;p&gt;&lt;strong&gt;pnpm&lt;/strong&gt; and &lt;strong&gt;yarn&lt;/strong&gt; are often perceived as faster alternatives to &lt;strong&gt;npm&lt;/strong&gt; due to several key factors:&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Concurrency:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Both &lt;strong&gt;pnpm&lt;/strong&gt; and &lt;strong&gt;yarn&lt;/strong&gt; leverage parallelization and concurrency to execute operations more efficiently. They can perform multiple tasks simultaneously, such as downloading dependencies or building packages, which speeds up the overall process.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Package Deduplication:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;npm&lt;/strong&gt; installs packages into the &lt;code&gt;node_modules&lt;/code&gt; directory of each project, which can lead to duplication of packages across different projects. pnpm and yarn use a shared global package store and &lt;a href="https://www.futurelearn.com/info/courses/linux-for-bioinformatics/0/steps/201767"&gt;&lt;em&gt;symlink-based&lt;/em&gt; &lt;/a&gt;approach, reducing disk space usage and installation times by avoiding redundant downloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Caching:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;pnpm&lt;/strong&gt; and &lt;strong&gt;yarn&lt;/strong&gt; cache packages locally, reducing the need to re-download dependencies when installing them in subsequent projects or environments. This caching mechanism can significantly improve installation times, especially for large projects or when working in environments with limited internet connectivity.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Offline Mode:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Both &lt;strong&gt;pnpm&lt;/strong&gt; and &lt;strong&gt;yarn&lt;/strong&gt; have an offline mode that allows developers to install packages without an internet connection, provided that the necessary dependencies are already cached locally. This feature is particularly beneficial for scenarios where internet access is unreliable or unavailable.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Network Efficiency:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;yarn&lt;/strong&gt; and &lt;strong&gt;pnpm&lt;/strong&gt; optimize network usage by fetching packages in a more efficient manner compared to &lt;strong&gt;npm&lt;/strong&gt;. They employ strategies such as parallel fetching, selective fetching, and intelligent HTTP request management to minimize the time spent waiting for network responses during dependency installation.&lt;/p&gt;

&lt;p&gt;Overall, while &lt;strong&gt;npm&lt;/strong&gt; remains a popular choice for package management in Node.js projects, &lt;strong&gt;pnpm&lt;/strong&gt; and yarn offer performance improvements and additional features that make them attractive alternatives, particularly for projects with complex dependency graphs or performance-sensitive requirements.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>npm</category>
      <category>programming</category>
    </item>
    <item>
      <title>Roadmap to become a Front-End developer :</title>
      <dc:creator>Muhammad Abdullah</dc:creator>
      <pubDate>Tue, 05 Sep 2023 16:11:45 +0000</pubDate>
      <link>https://dev.to/dexter845/roadmap-to-become-a-front-end-developer--4lhp</link>
      <guid>https://dev.to/dexter845/roadmap-to-become-a-front-end-developer--4lhp</guid>
      <description>&lt;p&gt;Embarking on a journey to become a front-end developer? This post lays out a comprehensive roadmap to guide you through the exciting world of web development. From essential skills and practical tips for success, this roadmap will help you chart a clear path towards becoming an entry-level front-end developer.&lt;/p&gt;

&lt;p&gt;1) &lt;strong&gt;Learn the fundamentals of web:&lt;/strong&gt;&lt;br&gt;
. Difference between Client Side and Server Side&lt;br&gt;
. How websites work?&lt;br&gt;
. Basics of HTTP.&lt;/p&gt;

&lt;p&gt;2) &lt;strong&gt;Learn HTML and CSS&lt;/strong&gt;&lt;br&gt;
. Working with divs, tables and sections.&lt;br&gt;
. Creating forms with HTML.&lt;br&gt;
. Using Images,Videos and audio files in HTML.&lt;br&gt;
. Basic styling properties in CSS.&lt;br&gt;
. Id,Classes and other selectors in CSS.&lt;br&gt;
. Flexbox and grid.&lt;br&gt;
. Media queries&lt;br&gt;
. BEM (Block Element Modifier) methodology. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;NOTE : CSS is an extensive field, and when you're just beginning, there's no need to strive for mastery right away. Focus on grasping the fundamentals until you feel confident in creating visually appealing web pages. Mastery of CSS will naturally come with experience. Avoid immediately diving into libraries like Bootstrap, Tailwind, or Material. Instead, start by working on projects using vanilla CSS. Once you've gained proficiency, you can explore the convenience of utilizing these libraries.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;3) &lt;strong&gt;Learn Javascript (The fun part).&lt;/strong&gt;&lt;br&gt;
. Basic Syntax (Variables, Objects ,arrays, Functions, Data Types, Loops , Conditionals etc.)&lt;br&gt;
. Learn DOM manipulation (Selecting Elements, Dealing with clicks, keyboard events and using the event parameter )&lt;br&gt;
. Animations with JS and CSS.&lt;br&gt;
. Developer tools in browsers (I recommend Firefox)&lt;br&gt;
. Learn about Local and Session Storage&lt;br&gt;
. Learn AJAX and working with JSON data.&lt;br&gt;
. Learn different console methods(Many people don’t do this But I think it helps a lot in debugging.&lt;br&gt;
Fun Fact : There are 20+ console methods.)&lt;br&gt;
. Difference between Reference and object types and how they work behind the scenes&lt;br&gt;
. Learn Es6 Syntax (Arrow functions, Template literals , Promises , Fetch API , Spread operator, Destructuring)&lt;br&gt;
. OOP in JavaScript.&lt;br&gt;
. REST APIs (You can use a fake rest Api such as JSON server for that)&lt;br&gt;
. It is highly recommended that you also do DS and algorithms in JavaScript. It will really sharpen your problem solving skills.&lt;br&gt;
. Optional things : JavaScript Engines (V8, SpiderMonkey etc.)&lt;/p&gt;

&lt;p&gt;4) &lt;strong&gt;Finally Learn a JavaScript framework (React,Vue or Angular)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I will write the roadmaps of these three technologies later and I will make sure to post the link in the comments.&lt;br&gt;
Keep Grinding and Happy Hacking.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>html</category>
    </item>
  </channel>
</rss>
