<?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: Atharva Kamble</title>
    <description>The latest articles on DEV Community by Atharva Kamble (@atharvakamble).</description>
    <link>https://dev.to/atharvakamble</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%2F507867%2F07ccab7b-de00-433e-989b-a1c92138961c.jpeg</url>
      <title>DEV Community: Atharva Kamble</title>
      <link>https://dev.to/atharvakamble</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/atharvakamble"/>
    <language>en</language>
    <item>
      <title>JavaScript Package Manager — Yarn vs NPM</title>
      <dc:creator>Atharva Kamble</dc:creator>
      <pubDate>Sun, 10 Oct 2021 12:19:41 +0000</pubDate>
      <link>https://dev.to/atharvakamble/javascript-package-manager-yarn-vs-npm-52ng</link>
      <guid>https://dev.to/atharvakamble/javascript-package-manager-yarn-vs-npm-52ng</guid>
      <description>&lt;h1&gt;JavaScript Package Manager — Yarn vs NPM&lt;/h1&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VBeIgXvb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://uploads-ssl.webflow.com/60d5a97381523a05b73c87c6/6128bb500ccc6b264c2777cc_5.png"&gt;&lt;p&gt;A package manager is a collection of software tools that keeps track of what computer program is installed on your computer and allows you to easily install, upgrade to newer versions, or remove computer programs that you previously installed. As the name suggests, package managers deal with packages, distributions of software, and data in archive files. It helps to create project environments and easily import external dependencies.&lt;/p&gt;
&lt;p&gt;Two of the most popular package managers among JavaScript (and Node.js) developers are npm and Yarn.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;What is npm?&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;npm (Node Package Manager) is a package manager for the JavaScript programming language. npm is the default package manager for the JavaScript runtime environment Node.js. It consists of three components: the website to manage various aspects of your npm experience, Command Line Interface (CLI) to interact with npm via the terminal, and registry to access an extensive public database of JavaScript software.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;What is Yarn?&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Yarn (Yet Another Resource Negotiator) and is a package manager just like npm. It was developed by Facebook in 2016 and is now open-source. The intention behind creating Yarn was to address some of the performance and security shortcomings of working with npm&lt;/p&gt;
&lt;p&gt;So as now you got the basic idea about npm and yarn, Let’s compare npm - Yarn similarities and differences.&lt;/p&gt;
&lt;p&gt;‍&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;1. Installation&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Installing npm seems much easier than that of Yarn—npm comes already bundled with your Node.js installation, so there’ll be no need to install it.&lt;/p&gt;
&lt;p&gt;Yarn is available as an npm package. So, you can install it by running the following command on the terminal:&lt;/p&gt;
&lt;p&gt;npm install --global yarn&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;2. Managing dependencies&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Yarn and npm have nearly the same ways of managing dependencies. They both provide the package.json file in their project’s working directory. This file keeps all the relevant metadata associated with the project. It assists in managing the project’s dependencies version, scripts, and more. Both the package managers store dependency files into the node_modules folder and auto-generate Lock files (package-lock.json in npm and yarn.lock in yarn).&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;3. Performance&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;One of the main differences between NPM and Yarn is how they handle the package installation process. Yarn installs packages in parallel. Yarn is optimized to fetch and install multiple packages simultaneously. If you install five packages, and two of them take a long time to install, Yarn will go over and install the packages side by side.&lt;/p&gt;
&lt;p&gt;On the other hand, NPM would install each package one at a time. It fetches every package independently. This means that if you install a list of five packages, NPM will perform a serial installation process. Parallel installation is one of the reasons why Yarn beats NPM in Performance.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;4. Security&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;While Yarn was initially regarded as more secure, the npm team has made commendable comebacks with the introduction of significant security improvements. If you try installing code with a known security vulnerability, npm will automatically issue a warning. Also, a new command, npm audit, has been introduced to assist you in recursively assessing your dependency tree to identify anomalies.&lt;/p&gt;
&lt;p&gt;On the other hand, Yarn checks behind the scenes and ensures that you’re not downloading rogue scripts or stuff that can conflict with your project dependencies. Security is one of Yarn’s core features.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;5. Fetching packages&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;npm:&lt;/strong&gt; npm fetches dependencies from the npm registry during every ‘npm install‘ command.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yarn:&lt;/strong&gt; yarn stores dependencies locally and fetches from the disk during a ‘yarn add‘ command (assuming the dependency(with the specific version) is present locally).&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;6. License Checker&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;npm:&lt;/strong&gt; npm doesn’t have a license checker that can give a handy description of all the licenses that a project is bound with due to installed dependencies.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;yarn:&lt;/strong&gt; Yarn has a neat license checker. To see them, run yarn licenses list. &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;7. Popularity&lt;/strong&gt;‍&lt;/h4&gt;
&lt;p&gt;Choosing a widely adopted technology can help you get faster when experiencing any implementation challenges. Since Yarn is newer compared to npm, many people are much skeptical about using Yarn over npm because it is much older. However, with time, Yarn is gaining more popularity than npm&lt;/p&gt;
&lt;p&gt;‍&lt;/p&gt;

</description>
    </item>
    <item>
      <title>A Detailed Roadmap to be a Full Stack Developer in 2021</title>
      <dc:creator>Atharva Kamble</dc:creator>
      <pubDate>Sun, 10 Oct 2021 12:19:16 +0000</pubDate>
      <link>https://dev.to/atharvakamble/a-detailed-roadmap-to-be-a-full-stack-developer-in-2021-4k7i</link>
      <guid>https://dev.to/atharvakamble/a-detailed-roadmap-to-be-a-full-stack-developer-in-2021-4k7i</guid>
      <description>&lt;h1&gt;A Detailed Roadmap to be a Full Stack Developer in 2021&lt;/h1&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuploads-ssl.webflow.com%2F60d5a97381523a05b73c87c6%2F6128e78b589cce142ed848a5_1.png"&gt;&lt;h3&gt;&lt;strong&gt;1. What is Full Stack Development?&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Becoming a full-stack web developer seems to be a daunting task, especially if you are entirely new to the field of coding. As a beginner, you might think that you have a whole lot to learn within a short period.&lt;br&gt;The languages, frameworks, libraries, and databases, along with everything else required, are considered to be a list of tools for full-stack web development. The easiest way to begin any work is to strategize with a roadmap. A roadmap is the best way to kick-start your attempt to become a full-stack web developer.&lt;br&gt;Your objective should be to learn the bare minimum skill-set required so that you can start experimenting and honing your learned skills. Once you have mastered the basics, you can go ahead and learn full-stack technologies, which will give you an edge over others. Follow a structured path and equip yourself steadily rather than trying to learn the entire web development spectrum.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;2. Scopes of a Full Stack Developer&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;According to the United States Bureau of Labour Statistics, there will be 8,53,000 open job roles for Full Stack Developers by 2024. The multi-dimensional job role will provide you with umpteen job opportunities as companies always optimize resource costs. The year 2021 is considered the best time to build your career as a Full Stack Developer. Companies are looking to hire professionals who know all the layers of an application and can take full leadership of a project.&lt;/p&gt;
&lt;p&gt;As a Full Stack Developer, you will be one of the highest-paid professionals. As the demand for skilled Full Stack Developers increases, the companies are willing to pay handsomely to those with the right skillset and diverse field knowledge. According to a survey by Indeed, the average salary for a talented Full Stack Developer is more than the average salary of any other software developer in the industry. Your salaries would vary depending on your expertise and experience.&lt;/p&gt;
&lt;p&gt;Let's find out more about Full Stack Developers.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;3. Where to Start?&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Full Stack Development is no easy task, so many starters may find it very imposing. The reality is that it would be much easier if you start specializing in either Frontend or Backend and then learning about the other one on the way. That being said, if you have the heart. Nothing is going to stop you from learning full-stack development.&lt;/p&gt;
&lt;p&gt;The best place to start is by learning a relevant programming language to its core. Understand concepts profoundly and bring them under your command.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;4. Things to learn&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;It is always good to make a roadmap of what you should learn to start by avoiding confusion or wasting time. Some of the critical things that a full-stack developer should know are as follows.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Choosing a Tech Stack&lt;/li&gt;
&lt;li&gt;Backend&lt;/li&gt;
&lt;li&gt;Frontend&lt;/li&gt;
&lt;li&gt;Database&lt;/li&gt;
&lt;li&gt;Version Control&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong&gt;4.1 Choosing a Tech Stack&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Every company follows its tech stack. The choice of a stack for a full stack web developer depends on the individual goals, performance expected from the application, company requirements, etc.&lt;/p&gt;
&lt;p&gt;Over the years, some tech stacks have become popular, thanks to their extraordinary capabilities and easy-to-use features.&lt;/p&gt;
&lt;p&gt;A tech stack comprises frontend technology, backend technology, and database management technology.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.1.1 Some popular Tech Stacks:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.1.1.1 MERN stack&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Want to master full stack web development? Then dig right into this one!&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;MongoDB: A NoSQL Database that stores data in binary JSON format (called BSON).&lt;/li&gt;
&lt;li&gt;Express: A backend web application framework for Node.js used for designing and building web applications quickly and easily.&lt;/li&gt;
&lt;li&gt;React: A JavaScript library that is used for building user interfaces.&lt;/li&gt;
&lt;li&gt;Node.js: A server-side JavaScript runtime environment.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;4.1.1.2 LAMP stack&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You may start with this old school tech stack, but do not wind yourself up too much around this one ;)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Linux: Open-source operating system that is the foundation for this stack model.&lt;/li&gt;
&lt;li&gt;Apache: A web server that delivers web content through the internet. One of the popular HTTP clients on the web&lt;/li&gt;
&lt;li&gt;MySQL: An open-source database that the scripting language can query to construct a website.&lt;/li&gt;
&lt;li&gt;PHP: A Server-side open-source scripting language.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;4.1.1.3 MEAN stack&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Want to develop robust applications? Then try this one out.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;MongoDB&lt;/strong&gt;: A NoSQL Database that stores data in binary JSON format.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Express&lt;/strong&gt;: A backend web application framework for Node.js used for designing and building web applications quickly and easily.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Angular.js&lt;/strong&gt;: A framework for building single-page client applications using HTML and TypeScript. It implements core and optional functionality as a set of TypeScript libraries that you import into your apps.&lt;/li&gt;
&lt;li&gt;Node.js: A server-side JavaScript runtime environment.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you are just getting started, JavaScript-based tech stacks are relatively fun and easy to learn compared to their counterparts like Java or Python.&lt;/p&gt;
&lt;p&gt;You can always dig into Python-based frameworks (Django/Flask) or Java-based frameworks (Spring/Spring Boot) once you know the functional elements required for full-stack development. The requirements vary, but the essence is pretty much the same.&lt;/p&gt;
&lt;h4&gt;&lt;a href="https://www.raftlabs.co/development/backend-developer-complete-roadmap" rel="noopener noreferrer"&gt;&lt;strong&gt;4.2 Backend&lt;/strong&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;The back-end is the code that runs on the server, receives client requests, and contains the logic to send the appropriate data back to the client. The back-end also includes the database, which will persistently store all of the data for the application.&lt;/p&gt;
&lt;p&gt;This type of web development usually consists of three parts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A server&lt;/li&gt;
&lt;li&gt;An application&lt;/li&gt;
&lt;li&gt;A database.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Code written by backend developers communicates information from the database to the browser.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.2.1 Backend Frameworks&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Developers need a back-end framework so that an application can be created. It is the script side of a dynamic application. A lot of options are available for back-end frameworks.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Express:&lt;/strong&gt; Express.js is a framework used as a web application for Node.js. It is a module of NodeJS. It can be used for apps based on servers that will listen for client connection requests. It can be used for single-page, multi-page, and hybrid web applications. It is fast, easy to use, and assertive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Django:&lt;/strong&gt; Django is a high-level Python web framework that follows model-template-view architecture. It is used to simplify the creation of complex, database-driven websites. It is fast and promotes a clean design.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ruby on Rails:&lt;/strong&gt; Ruby on Rails is a server-side web application framework based on the Ruby language. It provides default structures for databases, web services, and web pages. It uses model-view-controller architecture. This is comparatively hard to learn as you have to learn multiple and independent concepts.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;a href="https://www.raftlabs.co/development/frontend-developer-complete-roadmap" rel="noopener noreferrer"&gt;&lt;strong&gt;4.3 Frontend&lt;/strong&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;This is the client-side part, i.e., the part of the website with which a user sees and interacts. A developer needs to get creative and innovative with graphics and designs for this part. UI/UX is a challenging task in itself and a crucial task.&lt;/p&gt;
&lt;p&gt;The main technologies required for frontend development are HTML5, CSS3, and JavaScript (ES6). For the real bang, you need to use jQuery, Angular, ReactJs, etc., like libraries/frameworks to make your website trendy!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.3.1 Frontend Frameworks&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using a framework to construct your website’s front-end has many advantages (and is pretty easy to boot!). These are packages containing pre-written, standardized code in files and folders. They give you a base to build on while still allowing flexibility with the final design.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.3.1.1 JavaScript frameworks&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AngularJS:&lt;/strong&gt; This is a structural framework for dynamic web apps. The JavaScript-based open-source web framework is maintained by Google and a community of corporations and individuals. They address challenges in a single-page application. It allows the usage of HTML as the template language. Its data-binding and dependency reduce the amount of coding required substantially.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ReactJS:&lt;/strong&gt; A JavaScript library maintained by Facebook and a group of companies as well as individual developers. React is optimal for fetching fast-changing data that needs to be recorded. It is used for building user interfaces for single-page applications. It allows users to create reusable UI components.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VueJS:&lt;/strong&gt; This is yet another open-source JavaScript framework for single-page applications and UIs. It is very compact in size and high in performance. The best option for new coders, it offers hand-picked the choicest features of other frameworks like Angular and React. It is known as the most approachable framework today.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.3.1.2 CSS Frameworks&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bootstrap:&lt;/strong&gt; An initiative by Twitter, Bootstrap takes credit for introducing responsive design on a large scale. It was the first framework to promote the philosophy of “mobile-first.” No longer was designing for smaller screen sizes a separate project in itself; all you needed to do was include the relevant Bootstrap classes, and the design would automatically adjust for different screen sizes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bulma: &lt;/strong&gt;Bulma is a relatively new entrant to the battleground of CSS frameworks and has made a name for itself in a short time. Its attractiveness lies in a strict, CSS-only approach (there are no JavaScript components) and smart defaults, which many developers with a good eye for design have a problem with when working with Bootstrap.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tailwind CSS:&lt;/strong&gt; Tailwind CSS is basically a utility-first CSS framework for rapidly building custom user interfaces. It is a highly customizable, low-level CSS framework that gives you all of the building blocks you need to build bespoke designs without any annoying opinionated styles you have to fight to override. The beauty of tailwind is that it doesn’t impose design specification or how your site should look; you bring tiny components together to construct a unique user interface. Tailwind takes a ‘raw’ CSS file, processes this CSS file over a configuration file, and produces an output.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;4.4 Databases&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;To store and retrieve data, we need a database, right? There are two types of databases - relational and non-relational (SQL v/s NoSQL).&lt;/p&gt;
&lt;p&gt;Developers should be familiar with both types of databases such as MySQL, PostgreSQL, MongoDB, Cassandra.  Additionally, knowledge of caching options such as Redis, Memcached, and Varnish is an absolute plus!&lt;/p&gt;
&lt;p&gt;Some Databases:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;MySQL, SQLite, Postgres -&lt;/strong&gt; These are Relational Database management systems, and the data is stored in table-like schemes. This is good for storing business data. These use SQL&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MongoDB, Cassandra, Apache storm, Sphinx -&lt;/strong&gt; These are the NoSQL databases. Their only commonality is that they do not use a relational database scheme. This type of database covers a wide range of technologies and can be used to find key-value DB, graph DBs, streaming DBs, etc.,&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VoltDB and MemSQL -&lt;/strong&gt; These are a new kind of database, the NewSQL. They follow the relational scheme, but instead of disks, they use memory. The advantage is that they outperform the traditional RDBMS, but the limited amount of memory is definitely a downside to this type of database.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong&gt;4.5 Version Control&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Every product/application goes through many versions and revisions before being compiled and deployed. A version control system should be learned and used like GitHub (popular), GitLab, Apache Subversion.&lt;/p&gt;
&lt;p&gt;Using version control is a common practice and one of the good habits for a developer to have.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;
&lt;strong&gt;Git -&lt;/strong&gt; If you’re looking for a widely used modern version control system to fit your needs, Git is a great option. It is actively maintained and open-sourced, created by the same founder of the Linux operating system. Each developer with a working copy of the code can easily access the full history of the changes, making it easy to edit and restore the code. Git is one of the most high-performing, flexible, and secure among any back-end developer skills list.&lt;/li&gt;&lt;/ol&gt;
&lt;h4&gt;&lt;strong&gt;4.6 Some Additional skills to possess&lt;/strong&gt;&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;SSH-&lt;/strong&gt; Secure shell protocol is used to operate network services securely over an unsecured network. SSH provides a secured remote login from one computer to another. It ensures the privacy and integrity of data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTTP/HTTPS-&lt;/strong&gt; HyperText Transfer Protocol (HTTP) is the protocol used by the world wide web. It defines how messages are transmitted and how actions are taken by web servers and browsers when responding to commands. HTTPS is the secured version of HTTP. Here, the communication protocol is encrypted using Transport Layer Security. It ensures protection against man-in-the-middle attacks and eavesdropping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linux command-&lt;/strong&gt; line basic-Although it is not mandatory that you possess this skill, it is good to know about Linux. It is not necessarily easy or hard to learn. Linux makes the job easier and saves a lot of time by organizing items on the backend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data structures and algorithms-&lt;/strong&gt; Data structures are different ways of storing data, while an algorithm is a generic approach methodology to solve a problem or requirement. Every programmer needs to be familiar with these concepts. These are not core skills, but the more intuitive you are, the easier it is to solve issues or add requirements. The impacts are felt in the efficiency, scalability, and performance of an application. As a full-stack developer, these courses will help you immensely.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;strong&gt;5. Final Note on becoming a Full-Stack Developer&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Full-stack software development has seen a surge in almost every large and small organization in recent years. This roadmap lets you know all the basic and intermediate skills required to become a successful full-stack developer. The more skills you gain, the more your profile gets noticed. Engineering graduates can opt for such courses who are looking for better career growth and a good salary.&lt;br&gt;&lt;br&gt;Get to know more about:  &lt;a href="https://www.raftlabs.co/development/frontend-developer-complete-roadmap" rel="noopener noreferrer"&gt;Frontend Development&lt;/a&gt;  &lt;a href="https://www.raftlabs.co/development/backend-developer-complete-roadmap" rel="noopener noreferrer"&gt;Backend Development&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;‍&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Frontend Developer - Complete Roadmap in 2021</title>
      <dc:creator>Atharva Kamble</dc:creator>
      <pubDate>Sun, 10 Oct 2021 11:51:39 +0000</pubDate>
      <link>https://dev.to/atharvakamble/frontend-developer-complete-roadmap-in-2021-59po</link>
      <guid>https://dev.to/atharvakamble/frontend-developer-complete-roadmap-in-2021-59po</guid>
      <description>&lt;h1&gt;Frontend Developer - Complete Roadmap in 2021&lt;/h1&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuploads-ssl.webflow.com%2F60d5a97381523a05b73c87c6%2F6128e42cc6f5af568bb89dbc_2.png"&gt;&lt;h3&gt;&lt;strong&gt;1. What is Frontend Development?&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;‍&lt;/strong&gt;Front-end web development, also known as client-side development, is the practice of producing HTML, CSS, and JavaScript for a website or Web Application so that a user can see and interact with them directly. The challenge associated with front-end development is that the tools and techniques used to create the front-end constantly change. Hence, the developer needs to be aware of how the field is constantly developing.&lt;/p&gt;
&lt;p&gt;The objective of designing a site is to ensure that when the users open up the site, they see the information in a format that is easy to read and relevant. This is further complicated because users now use a large variety of devices with varying screen sizes and resolutions, thus forcing the designer to consider these aspects when designing the site. They need to ensure that their site comes up correctly in different browsers (cross-browser), different operating systems (cross-platform), and different devices (cross-device), which requires careful planning on the side of the developer.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;2. Scopes of a Front-end Developer&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Front-end development is what you would refer to as the client-side of development. Front-end development is all about analyzing designs and codes as well as debugging applications. The front-end or client-side development objective is to provide your users with a seamless experience of using a website.&lt;/p&gt;
&lt;p&gt;It is all about managing and making better what users would see first in their web browsers. In other words, front-end development is responsible for managing the design as well as the look and feel of a website. Simply put, Front-end Developers are always in hot demand.&lt;/p&gt;
&lt;p&gt;Overall, the future looks bright for anyone who wants to become a front-end developer. The latest studies predict that by 2020, there will be a deficit of approximately 1 million developers in the United States alone. The rest of the world will have it even worse, according to similar studies.&lt;/p&gt;
&lt;p&gt;According to the United States Bureau of Labor Statistics, Web developer employment in the US is projected to grow 15% from 2016 to 2026. The rate is much faster than the average for all other occupations.&lt;/p&gt;
&lt;p&gt;Although these numbers seem incredible, it’s not so surprising if you pause and consider the times. Increased Internet usage, especially in the mobile field, means a greater need for user interfaces, which means more front-end developer jobs. Web development is a field whose potential is tied closely to the Internet’s popularity, and the latter is surging with no signs of letting up. If you want to go where the jobs are, then look no further.&lt;/p&gt;
&lt;p&gt;Please stick with us to find out the important things a front-end developer should know about.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;3. Where to Start?&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;To be a successful Front-end Developer. Some important skills are required.&lt;/p&gt;
&lt;p&gt;Since the front-end developer is the rock star of website/app development, they need a well-stocked personal toolbox. So a front end developer skills include the need to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Be proficient in coding languages such as HTML, CSS, JavaScript, and jQuery&lt;/li&gt;
&lt;li&gt;Be experienced with Web frameworks(e.g., Angular.js, React.js)&lt;/li&gt;
&lt;li&gt;Be experienced with graphic design applications (e.g., Adobe Illustrator)&lt;/li&gt;
&lt;li&gt;Understand the principles of SEO&lt;/li&gt;
&lt;li&gt;Have excellent skills in problem-solving&lt;/li&gt;
&lt;li&gt;Be proficient in communicating with team members, bosses, and clients&lt;/li&gt;
&lt;li&gt;Have good interpersonal skills&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Regardless of learning how to code and create websites and applications, the most important part is constantly trying to improve. Obviously, there are basic technical skills required. Some of us have a better predisposition for learning it than others but let’s not forget that working hard and practicing usually pays off.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;4. Things to learn?&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Required skills vary depending on the position and the project they are going to work on. Some companies need just basics but with solid experience; others are searching for real Prodigies, front-end developers who are also pretty good in UI and UX design.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;4.1 Programming Languages to Learn:&lt;/strong&gt;&lt;/h4&gt;
&lt;h5&gt;&lt;strong&gt;4.1.1. HTML5 and CSS&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;Hypertext markup language (HTML) and cascading style sheets (CSS) are a website’s nuts and bolts. While HTML gives structure to web pages, CSS helps style the HTML elements with the color, fonts, typeface, and more.&lt;/p&gt;
&lt;p&gt;Mastering HTML5 and CSS is a MUST. Honestly, not having it at fingertips is unacceptable for a front-end developer. HTML, the key structural component of any website, together with CSS, the styling part, already allows you to build some basic websites and applications. However, to make it interactive, you need JavaScript! But without knowing HTML and CSS, it won’t be possible to implement into the website or app.&lt;/p&gt;
&lt;h5&gt;&lt;strong&gt;4.1.2. JavaScript&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;This client-side programming language lets you add interactive features to a website, including polls, slideshows, and forms. It also offers support for dynamic elements, including, but not limited to, page animation, scrolling, audio, and video.&lt;/p&gt;
&lt;h5&gt;&lt;strong&gt;4.2 Frameworks&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;Frameworks are prewritten code modules for common website elements like login and search interfaces. They’re easy to incorporate and are reusable.&lt;/p&gt;
&lt;h5&gt;&lt;strong&gt;4.2.1. JavaScript Frameworks&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;Depending on the team you are going to work with, or on the project, most likely, there will be given a framework you should be familiar with. Knowing the language itself is one thing, but knowing how to work within a framework is an additional skill, and you can’t do much without it, especially if you want to create some real project for a client. The most popular are Angular, React, and Vue.js - getting familiar with one of them is a big plus.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.2.1.1. React.js&lt;/strong&gt; : React is a front-end open-source JavaScript library used to create interactive UIs (User Interfaces), which helps improve the speed of applications. It is one of the simplest frameworks to learn and was developed by Facebook to resolve the code maintainability issues due to constant addition and improvements. It is still maintained by Facebook and other individual front-end engineers.&lt;/p&gt;
&lt;p&gt;‍&lt;strong&gt;4.2.1.2. Angular.js&lt;/strong&gt; : Angular is a modern TypeScript-based, open-source framework and one of the top-rated software development tools. Angular features Directives allow developers to program special behaviors of the DOM, making it possible to create rich and dynamic HTML content. Angular has a Hierarchical dependency injection function, which makes code components highly testable, reusable, and easier to control: it helps to define code dependencies as external elements decoupling components from their dependencies.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.2.1.3. Vue.js : &lt;/strong&gt;Vue is one of the beginner-friendliest frameworks, coming with well-elaborated documentation and a supportive community. Vue has an extensive choice of tools, such as end-to-end testing tools, plugin installation systems, browser debugging tools, server renderer, state manager, and others.&lt;/p&gt;
&lt;h5&gt;&lt;strong&gt;4.2.2 CSS Frameworks&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;Like JavaScript frameworks but for CSS - optimizing the workflow. It is better for a developer to know them because you can get the same results in less time and less typing. Another important aspect is a responsive design - sites and apps that work great on each device and size are a must-have in 2019. Knowing how to convert a website from a static to responsive one is essential but saving some time by using frameworks that have it already built-in is even better. Win-win.&lt;/p&gt;
&lt;p&gt;Some examples are given below:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.2.2.1. Bootstrap&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. Bootstrap is considered to be one of the best CSS frameworks due to its responsive design. It contains CSS- and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components. They have an extensive set of documentation, examples, and demos to get you started quickly with responsive web development.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.2.2.2. Tailwind CSS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tailwind is a utility-first CSS framework for rapidly building custom user interfaces. It comes with classes equipped to build custom UI designs directly in the users’ markup. Unlike Bootstrap, where you get pre-designed components that can be used as a base for further development, Tailwind does not come with a predefined template, but it allows you to incorporate your style quickly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4.2.2.3. Bulma&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Bulma is a modern CSS framework based on flexbox. It provides responsive design and mobile-first UI components and has a modular structure to import only the stuff you want to include in your web design. Bulma offers a flexbox-based modern grid system.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;4.3 Tools&lt;/strong&gt;&lt;/h4&gt;
&lt;h5&gt;&lt;strong&gt;4.3.1 Web Browser&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;A web browser is a software used to retrieve, present, and traverse information on the WWW. Typically, browsers run on a desktop or laptop computer, tablet, or phone, but as of late, a browser can be found on just about anything (i.e., on a fridge, in cars, etc.).&lt;/p&gt;
&lt;p&gt;The most common web browsers are (shown in order of most used first):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Safari&lt;/li&gt;
&lt;li&gt;Internet Explorer (Note: not Edge, referring to IE 9 to IE 11)&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;li&gt;Edge&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;With developer tools (which you open in a browser), you can play around with each website element. Why is it important? Because without actually changing anything in the code, you can check how those changes would influence the website or an app while having it open in the browser. It also helps when you search for bugs and weak points.&lt;/p&gt;
&lt;h5&gt;&lt;strong&gt;4.3.2 Design Tools&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;Being able to have a basic understanding of image manipulation, create graphical components, retouch images, design user interfaces, or just set up certain information using graphics, illustrations, and/or images for your website is a huge bonus. It speeds up your productivity, and better gives you value whether you work professionally at a company or startup, you actively freelance.&lt;/p&gt;
&lt;p&gt;Given below are some useful Design tools:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Adobe Photoshop&lt;/li&gt;
&lt;li&gt;Adobe Illustrator&lt;/li&gt;
&lt;li&gt;Adobe XD&lt;/li&gt;
&lt;li&gt;Adobe InDesign&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong&gt;4.4 Web performance optimization (WPO)&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;A slow-loading website can reduce user engagement drastically. Website performance optimization techniques help ensure faster loading times through automation tools.&lt;/p&gt;
&lt;p&gt;For example, Grunt automatically optimizes images and makes page components lighter depending on the device without compromising website functionality.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;4.5 Search engine optimization (SEO)&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Search engine optimization is the practice of increasing traffic to a website organically through search results.&lt;/p&gt;
&lt;p&gt;Generally, there is a separate team to supervise SEO practices. However, knowing the basics can help you determine where to place titles, meta descriptions, and text on a website so search engines can easily find them.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;4.6. Version control using Git:&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large websites, or other collections of information. Version control is a component of software configuration management.&lt;/p&gt;
&lt;h5&gt;&lt;strong&gt;4.6.1. Git&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;If you’re looking for a widely used modern version control system to fit your needs, Git is a great option. It is actively maintained and open-sourced, created by the same founder of the Linux operating system. Each developer with a working copy of the code can easily access the full history of the changes, making it easy to edit and restore the code. Git is one of the most high-performing, flexible, and secure among any back-end developer skills list.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;5. Soft skills&lt;/strong&gt;&lt;/h3&gt;
&lt;h4&gt;&lt;strong&gt;5.1. Problem Solving&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Dealing with a project and each small task is an everyday struggle of a front-end developer, but the issues are solved step by step, together with the team. However, if something doesn’t work on the website, the front-end dev has to rectify it! Solving the problems and making it all work should be the mindset of each professional developer.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;5.2. Teamwork&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;As it was mentioned above, good communication is key! Teamwork is usually a part of the front-end developer’s everyday life. Even if you work as a freelance dev, you’ll have to communicate well with the clients and work with them on the project to some extent. Knowing how to handle teamwork, support other developers, and ask for advice when needed make the workflow smoother, and in the end, you deliver the end product faster.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;5.3. Good Communication&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Breaking the sitcom stereotype about developers, you need to be good at communication. First of all, the work between UI/UX designers, front- and the back-end has to go smoothly to finish a project. Of course, in agile software houses, you also get a project manager who helps with the information flow and a SCRUM master to help with the process. Still, without some basic interpersonal skills, it won’t be that easy to work with others. Effective communication is necessary when you work with other people. What is also important is the ability to state and communicate what you have in mind - writing documentation that others can read and understand is highly appreciated.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A final note on becoming a Front-end Developer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Regardless of learning how to code and create websites and applications, the most important part is constantly improving. There are basic technical skills required. Some of us have a better predisposition for learning it than others but let’s not forget that working hard and practicing usually pays off. Regarding soft skills, even if you are not a fan of talking with people, communication is key when you need to deal with a project for a client, so it is worth working on some of those. Still, as in every job type and company you will work for, those are more flexible.&lt;/p&gt;
&lt;p&gt;‍&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Best CSS frameworks to Check Out in 2021</title>
      <dc:creator>Atharva Kamble</dc:creator>
      <pubDate>Sun, 10 Oct 2021 09:43:44 +0000</pubDate>
      <link>https://dev.to/atharvakamble/best-css-frameworks-to-check-out-in-2021-4p85</link>
      <guid>https://dev.to/atharvakamble/best-css-frameworks-to-check-out-in-2021-4p85</guid>
      <description>&lt;h1&gt;Best CSS frameworks to Check Out in 2021&lt;/h1&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Qty5SFdl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://uploads-ssl.webflow.com/60d5a97381523a05b73c87c6/6128bb6d54aae29a19a81f34_6.png"&gt;&lt;p&gt;‍&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A CSS framework is a library allowing for more accessible, more standards-compliant web design using the Cascading Style Sheets language. In much simpler words, a CSS framework is a collection of CSS stylesheets that are ready-to-use and are used by UI developers to make their jobs easier. You can write CSS for your pages on your own, but that requires you to write hundreds and thousands of lines of code which is time-consuming. That is where CSS Frameworks take their place. They’re tailored for use in common situations, like setting up navbars and are often expanded upon by other technologies such as SASS and JavaScript.&lt;/p&gt;
&lt;p&gt;In this article we will take a look at some of the best CSS frameworks of 2021 and help you choose the one that best suit your needs.&lt;br&gt;‍&lt;a href="https://getbootstrap.com/"&gt;&lt;strong&gt;‍&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;1. Bootstrap&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. Bootstrap is considered to be one of the best CSS frameworks due to its responsive design. It contains CSS- and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components. They have an extensive set of documentation, examples, and demos to get you started quickly with responsive web development.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed and Maintained By –&lt;/strong&gt; &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;‍&lt;strong&gt;Statistics:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Stars:&lt;/strong&gt; 152k&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Release Date:&lt;/strong&gt; August 19, 2011&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;‍&lt;strong&gt;Top companies using this:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.spotify.com/"&gt;&lt;strong&gt;Spotify&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/?lang=en"&gt;&lt;strong&gt;Twitter&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.udemy.com/"&gt;&lt;strong&gt;Udemy&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;‍&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Offers lots of examples and a pre-set layout to get you started with.&lt;/li&gt;
&lt;li&gt;It is a 100% responsive framework, and responsiveness is a crucial factor due to which people choose Bootstrap over its competitor.&lt;/li&gt;
&lt;li&gt;The most commonly used CSS framework with broad community support.&lt;/li&gt;
&lt;li&gt;Easy to learn and implement.&lt;/li&gt;
&lt;li&gt;Excellent JavaScript components with custom CDN.&lt;/li&gt;
&lt;li&gt;Maintained by a community of hundreds of developers, ensuring stable releases and long-term support.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;‍&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bootstrap has been extensively used which could potentially imply that all websites look the same.&lt;/li&gt;
&lt;li&gt;The build size of CSS projects is large due to so many modules being loaded in Bootstrap.&lt;/li&gt;
&lt;li&gt;Bootstrap 4 relies on jQuery for many of its interactive features which makes it difficult to with JavaScript frameworks like React or Vue. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;‍&lt;strong&gt;2. Tailwind CSS&lt;/strong&gt;
&lt;/h4&gt;
&lt;p&gt;Tailwind is a utility-first&lt;em&gt;CSS&lt;/em&gt;framework for rapidly building custom user interfaces. It comes with classes equipped to build custom UI designs directly in the users’ markup. Unlike Bootstrap, where you get pre-designed components that can be used as a base for further development, Tailwind does not come with a predefined template, but it allows you to incorporate your style quickly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By –&lt;/strong&gt; &lt;a href="https://adamwathan.me/"&gt;Adam Wathan&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;‍&lt;strong&gt;Statistics:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Stars:&lt;/strong&gt; 45.1k&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Release Date:&lt;/strong&gt; November 2, 2017&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;‍&lt;strong&gt;Top companies using this:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.blablacar.com/"&gt;&lt;strong&gt;BlaBlaCar&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ueberdosis.io/"&gt;&lt;strong&gt;Überdosis&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.superchat.de/"&gt;&lt;strong&gt;Superchat&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tailwind operates on a lower level by providing a developer with a set of CSS helper classes.&lt;/li&gt;
&lt;li&gt;Tailwind allows you to create your own custom components that you can reuse throughout your projects.&lt;/li&gt;
&lt;li&gt;It comes with a menu of predesigned widgets to build your site with.&lt;/li&gt;
&lt;li&gt;More productivity and smaller package size.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There is a steep learning curve to Tailwind and is not best suited for less-experienced developers.&lt;/li&gt;
&lt;li&gt;Complex animations are hard to achieve with Tailwind alone.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;‍&lt;strong&gt;3. Bulma&lt;/strong&gt;
&lt;/h4&gt;
&lt;p&gt;Bulma is a modern CSS framework based on flexbox. It provides responsive design and mobile-first UI components and has the modular structure for you to import only the kinds of stuff that you want to include in your web design. Bulma offers a flexbox-based modern grid system.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By -&lt;/strong&gt; &lt;a href="https://jgthms.com/"&gt;Jeremy Thomas&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Stars:&lt;/strong&gt; 44k&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Release Date:&lt;/strong&gt; January 24, 2016&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.rubrik.com/"&gt;&lt;strong&gt;Rubrik&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.tipoff.dev/"&gt;&lt;strong&gt;Tipoff&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plusdental.de/"&gt;&lt;strong&gt;PlusDental&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The syntax of Bulma is quite simple and easy to use.&lt;/li&gt;
&lt;li&gt;It comes with a clean and modern design.&lt;/li&gt;
&lt;li&gt;Bulma comes with naming conventions that are easy to use and remember.&lt;/li&gt;
&lt;li&gt;Bulma doesn’t include JavaScript features which makes it easy to be integrated with JavaScript Frameworks like React or Vue.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bulma comes with a distinct style and if it is overused, we may end up with similar looking websites as in the case of Bootstrap.&lt;/li&gt;
&lt;li&gt;Does not have a huge development community like bootstrap.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;‍&lt;strong&gt;4. Foundation CSS&lt;/strong&gt;
&lt;/h4&gt;
&lt;p&gt;Foundation is yet another one of the best CSS frameworks. Foundation calls itself&lt;em&gt;‘The most advanced responsive frontend framework in the world.’&lt;/em&gt;It is a sophisticated frontend CSS framework that includes HTML, CSS, SASS, and JavaScript. Foundation is developed with a mobile-first approach and is highly responsive, best suited for large web applications that need a design host.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By –&lt;/strong&gt; &lt;a href="https://zurb.com/"&gt;ZURB&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Stars:&lt;/strong&gt; 29.1k&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Release Date:&lt;/strong&gt; September 2011&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://nubank.com.br/"&gt;&lt;strong&gt;Nubank&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://launchdarkly.com/"&gt;&lt;strong&gt;LaunchDarkly&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.accenture.com/in-en"&gt;&lt;strong&gt;Accenture&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Easy to understand and readable code.&lt;/li&gt;
&lt;li&gt;It is not just a CSS framework but a complete front-end framework loaded with useful tools.&lt;/li&gt;
&lt;li&gt;Provides many optional modular JavaScript components and plugins like tooltips, alerts, carousels, dropdown, placeholder, cookies, etc.&lt;/li&gt;
&lt;li&gt;It is updated constantly to support the newest features such as grids with flexbox support.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It has several features and is inherently more complicated than other frameworks.&lt;/li&gt;
&lt;li&gt;Foundation features depend on JavaScript, jQuery or Zepto, therefore, making it not suitable for React and Angular projects.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong&gt;5. Materialize CSS&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Materialize CSS is a responsive front-end framework based on the material design with collections of UI components with minimal effects on which users can easily attract. It is known for its responsiveness. It is created with CSS, JavaScript, and HTML for web design and mobile app development. Because of its features, it is suited for less experienced developers. Animations are used throughout the framework to provide visual feedback to users in a way that’s easy for developers to work with.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By –&lt;/strong&gt; &lt;a href="https://github.com/Dogfalo"&gt;Alvin Wang&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Stars:&lt;/strong&gt; 38.6k&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Release date:&lt;/strong&gt; 1.0.0 (September 9th, 2018)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.lumeneo.com/"&gt;&lt;strong&gt;Lumeneo&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vernacular.ai/"&gt;&lt;strong&gt;Vernacular&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dronedeploy.com/"&gt;&lt;strong&gt;DroneDeploy&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The documentation of Materialize CSS is very comprehensive and pretty easy to start with.&lt;/li&gt;
&lt;li&gt;Materialize’s components page includes cards, buttons, navigation, and many more added features.&lt;/li&gt;
&lt;li&gt;There are a number of color palette options with an excellent selection of user icons.&lt;/li&gt;
&lt;li&gt;It offers great user experience and interactions. It also easily integrates JavaScript plug-ins.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Even though it has an active community, it is a small and independent project with no corporate support.&lt;/li&gt;
&lt;li&gt;You need to have basic knowledge of HTML, JavaScript, and CSS to make good use of it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;‍&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Backend Developer - Complete Roadmap in 2021</title>
      <dc:creator>Atharva Kamble</dc:creator>
      <pubDate>Sun, 10 Oct 2021 09:39:38 +0000</pubDate>
      <link>https://dev.to/atharvakamble/backend-developer-complete-roadmap-in-2021-2e4n</link>
      <guid>https://dev.to/atharvakamble/backend-developer-complete-roadmap-in-2021-2e4n</guid>
      <description>&lt;h1&gt;Backend Developer - Complete Roadmap in 2021&lt;/h1&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuploads-ssl.webflow.com%2F60d5a97381523a05b73c87c6%2F6128dfb95c2001bbdcd515c3_3.png"&gt;&lt;h3&gt;&lt;strong&gt;1. What is Backend Development?&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Backend development refers to the server-side of an application and everything that communicates between the database and the browser. The primary responsibilities of a backend developer are making updates, changes and monitoring a site's functionality. This type of web development usually consists of three parts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A server&lt;/li&gt;
&lt;li&gt;An application&lt;/li&gt;
&lt;li&gt;A database.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Code written by backend developers communicates information from the database to the browser.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;2. Scopes of a Backend Developer&lt;br&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;A backend web developer is responsible for server-side web application logic and integrating the work of frontend web developers. Backend developers usually write web services and APIs used by frontend developers and mobile application developers. Backend developers are always in hot demand because they are responsible for maintaining and monitoring what is happening off-screen. It designs database schemas, writes backend logic, creates Backend APIs, etc.&lt;/p&gt;
&lt;p&gt;That being said, there are some crucial technologies that every Backend Developer must know about. Please stick with us until the end of the article to know more about them.&lt;/p&gt;
&lt;h3&gt;3. &lt;strong&gt;Where to Start?&lt;/strong&gt;
&lt;/h3&gt;
&lt;p&gt;To be a successful backend developer. You need to know the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A programming language like JavaScript, Python or PHP&lt;/li&gt;
&lt;li&gt;A Web Framework&lt;/li&gt;
&lt;li&gt;A database like SQL or MongoDB&lt;/li&gt;
&lt;li&gt;Version Control using Git&lt;/li&gt;
&lt;li&gt;Some important non-technical skills&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Before we dig into these skills, let's first discuss backend development in its broader context. While frontend developers manage the visible parts of a website, such as the design or functionality of its display, backend programmers dedicate their time to designing, fixing, and altering the aspects of a software application or information system that a typical user never sees. They serve as the wizards to the tech sector's Oz, crafting the core features and components of the programs that drive consumers' digital experiences.&lt;/p&gt;
&lt;p&gt;When a user requests the system through a front end (i.e., consumer-side) framework, it's a backend developer's responsibility to ensure that a program can deliver any requested data or information. These developers have other duties, too. They maintain core databases, manage application program interfaces (APIs), and test and debug backend processes to ensure that a program functions smoothly and effectively at all times.&lt;/p&gt;
&lt;p&gt;Sound complicated? It is. But if the prospect of picking apart the nuts and bolts of an application and learning how to make it run better thrills you, there's no better time to take on the challenge. With the world's growing social and economic reliance on digital channels, employers need talented backend developers more than ever.&lt;strong&gt;‍&lt;/strong&gt;‍&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;4. Things to Learn&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;The majority of backend developers have at least some formal training, and many have bachelor's degrees in computer science or advanced mathematics. As one writer for CareerExplorer explains, "Compared to frontend developers, backend developers may have to do more abstraction — they could be data mining, writing abstract algorithms, and so forth."&lt;/p&gt;
&lt;p&gt;Though requirements vary between jobs, backend developers will need to have a passing familiarity with several technical languages and programs, if not a command of them. These essential backend developer skills include but are not limited to Python, Java, SQL, NoSQL, and Git.&lt;/p&gt;
&lt;p&gt;There are countless routes an aspiring development professional can take to hone their skill set. As mentioned above, a four-year degree is a standard option. However, if you're unable to commit the time or funds necessary to complete an undergraduate study — or you already hold a degree in another field, you might want to consider alternative education solutions such as coding boot camps to learn web development, which can teach technical skills that backend developers need, in a short period and at a reasonable cost.&lt;/p&gt;
&lt;p&gt;At the end of the day, whichever educational route you take is less important than the technical and non-technical skills you acquire to build a career in backend development. Let's now look at the backend development skills in more depth.&lt;/p&gt;
&lt;h4&gt;4.1. &lt;strong&gt;Programming Languages to choose from:&lt;/strong&gt;
&lt;/h4&gt;
&lt;p&gt;First and foremost, Developers generally have to be trained in any of the programming languages available for backend development. This is the most important part of being not just a backend of any developer. Some examples are given below:&lt;/p&gt;
&lt;h5&gt;4.1.1. &lt;strong&gt;&lt;em&gt;Python&lt;/em&gt;&lt;/strong&gt;
&lt;/h5&gt;
&lt;p&gt;While it has nothing to do with the snake that inspired its name, Python is one of the premier languages used in development today. In 2019, a study conducted by Stack Overflow deemed Python the "fastest-growing major programming language" in the world above Java and second only to Rust in likeability rankings. A full 41.7 percent of the report's 90,000 respondents said that they used Python in 2018.&lt;/p&gt;
&lt;p&gt;The language's popularity is well-earned. It handles simple and complex web projects with equal ease and has been deployed across various fields, from healthcare to finance to travel. Well-known industry giants such as Spotify, Instagram, Disqus, and Dropbox have built their applications using Python's syntax.&lt;/p&gt;
&lt;p&gt;The reason behind Python's popularity is simple: It supports multiple programming styles and provides excellent data visualizations. With Python, developers can use procedural, functional, and object-oriented programming approaches with equal ease. The language's support for expansive data libraries makes visualization easy and development speedy. Plus, Python is relatively easy to learn.&lt;/p&gt;
&lt;p&gt;As a tech writer for Django Stars noted on the subject: "The simplicity of the syntax allows you to deal with intricate systems and ensure that all the elements have a clear relationship with each other. Thanks to this, more newbie coders can learn the language."&lt;/p&gt;
&lt;p&gt;Of all the skills that back end developers must have, Python tops the list.&lt;/p&gt;
&lt;h5&gt;4.1.2. &lt;strong&gt;&lt;em&gt;Java&lt;/em&gt;&lt;/strong&gt;
&lt;/h5&gt;
&lt;p&gt;First, let's get one thing out of the way: Java is not JavaScript. While the two have similar names — and did, during the Netscape era, briefly intersect — they are incredibly different. To borrow a quote from tech journalist David Diehl, "The evolution of the two languages took such wildly different paths from [Netscape] that the common joke is that Java is to JavaScript as ham is to a hamster."&lt;/p&gt;
&lt;p&gt;Simply put, Java is a general-purpose programming language for application development, while JavaScript is applied primarily to incorporate animation and interactivity into websites. The two do have similarities; both can run on a browser or server, for example. However, they are vastly different in their capabilities and execution.&lt;/p&gt;
&lt;p&gt;Java is primarily intended for back end development. A more robust system, Java, is typically written in an Integrated Development Environment (IDE) before being compiled in bytecode or low-level code that can be read by a software interpreter rather than human developers. JavaScript, in contrast, can typically be executed in its original syntax via a JavaScript engine. Generally, Java is capable of handling more robust programming tasks than its frontend counterpart.&lt;/p&gt;
&lt;p&gt;Java is a beneficial skill for backend developers; it's a high-performance language that supports object-oriented programming and can run in any system that supports a Java Virtual machine.&lt;/p&gt;
&lt;h5&gt;4.1.3. &lt;strong&gt;&lt;em&gt;PHP&lt;/em&gt;&lt;/strong&gt;
&lt;/h5&gt;
&lt;p&gt;PHP, or Hypertext Preprocessor, is one of the most common and usable server-side languages in the development sector. Unlike Python or Java, PHP is a scripting language, which means that it interprets scripts — i.e., programming instructions — at runtime to automate routine processes or improve performance for an application.&lt;/p&gt;
&lt;p&gt;According to statistics shared by Guru99, over 20 million websites and applications have been developed via PHP. For a good reason: PHP is open-source, has a gentle learning curve, and is cost-effective because most web hosting servers already support the language by default. As a bonus, it also offers built-in support for the popular relational database MySQL (see below).&lt;/p&gt;
&lt;p&gt;While PHP might not be a critical skill for backend developers if they know other major programming languages, having familiarity with it would undoubtedly make an aspiring programmer more marketable.&lt;/p&gt;
&lt;h5&gt;4.1.4. &lt;strong&gt;&lt;em&gt;Web Development Trifecta(JavaScript, CSS, HTML)&lt;/em&gt;&lt;/strong&gt;
&lt;/h5&gt;
&lt;p&gt;This list of backend developer skills would be incomplete without three fundamental programming languages: HTML, CSS, and JavaScript. While these languages are more often used on the front end, they're still valuable skills for backend developers. After all, the three determine everything a visitor sees, from a page's text to images to scrolling drop-down menus.&lt;/p&gt;
&lt;p&gt;So, what are these languages?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;HTML&lt;/em&gt;&lt;/strong&gt;: HTML is the most fundamental building block of the Internet. It determines the structure of web pages when working in conjunction with the other two languages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;CSS&lt;/em&gt;:&lt;/strong&gt; This language determines how elements will be rendered on a webpage and standardize display across all browsers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;JavaScript&lt;/em&gt;:&lt;/strong&gt; This language is most commonly used as a scripting language for web pages but can also be used in non-browser elements, like Adobe Acrobat.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The three languages work together for frontend development and form a website design from the frontend perspective. They provide direction and information on the style and content of a website, as well as how users interact with it.&lt;/p&gt;
&lt;p&gt;You may be wondering why these frontend skills are essential for a backend developer. The truth is, there isn't a clear distinction between the two career paths. Even when developers focus exclusively on frontend or backend development, there will be some overlap in the skills required for both web development specialties. Moreover, companies like to hire developers with multidisciplinary skills; versatility is the major reason cross-functional "full-stack" developers can be so attractive in the hiring pool.&lt;/p&gt;
&lt;p&gt;That said, not all companies will need multi-specialty programmers. While full-stack developers can be helpful for companies with thin resources and can't justify separate back and frontend teams, many larger companies have separate divisions for their developers and require back-end-specific professionals.&lt;/p&gt;
&lt;h4&gt;4.2. &lt;strong&gt;Backend Frameworks to choose from:&lt;/strong&gt;
&lt;/h4&gt;
&lt;p&gt;Backend frameworks are the libraries of server-side languages that aid in building the server configuration of any website. It is essential to use the right technology to develop websites or seriously affect your application usage.&lt;/p&gt;
&lt;h5&gt;4.2.1. &lt;strong&gt;&lt;em&gt;Node.js&lt;/em&gt;&lt;/strong&gt;&lt;em&gt; &amp;amp; &lt;/em&gt;&lt;strong&gt;&lt;em&gt;Express.js&lt;/em&gt;&lt;/strong&gt;
&lt;/h5&gt;
&lt;p&gt;Node.js has been one of the biggest game-changer since its release. More prominent companies like Uber, Medium, PayPal &amp;amp; Walmart switched their tech stack to Node.js. You can make powerful applications with Node.js, such as real-time tracking apps, video and text chat engines, social media apps, etc. And learning Node.js is becoming one of the hottest skills for developers. Before starting to work in Node.js, Make sure that you have a clear &amp;amp; concise goal of what you want to build with Node.js; otherwise, you will give up on the learning path. Keeping a goal will help you focus on learning the essential skills on the top instead of figuring out whether you need to learn them or not.&lt;/p&gt;
&lt;p&gt;Express.js, also known as Express, is a Node.js web application framework and open-source software available under the MIT license. It is used for building APIs and web applications and is considered a standard Node.js server framework.&lt;/p&gt;
&lt;p&gt;Express is a MEAN stack backend component along with the AngularJS frontend framework and MongoDB databases. Express is viewed as one of the best web application development frameworks.&lt;/p&gt;
&lt;h5&gt;4.2.2. &lt;strong&gt;&lt;em&gt;Django&lt;/em&gt;&lt;/strong&gt;
&lt;/h5&gt;
&lt;p&gt;Django is a leading open-source backend framework based on Python, which follows the model view controller (MVC) pattern. Django is suitable for the development of sophisticated and feature-rich database-driven websites. Hence, it is considered one of the best backend web development frameworks.&lt;/p&gt;
&lt;p&gt;This backend framework facilitates optimal pluggability, reduced coding, more excellent reusability, and faster development. It uses Python for all its operations and provides an optional admin interface to help create, read, update, and delete operations. Django is utilized by many renowned websites such as Disqus, Mozilla, and The Washington Times.&lt;/p&gt;
&lt;h5&gt;4.2.3. &lt;strong&gt;&lt;em&gt;Laravel&lt;/em&gt;&lt;/strong&gt;
&lt;/h5&gt;
&lt;p&gt;Laravel is an open-source PHP web framework for developing Symfony-based web applications that follow the Model View Controller (MVC) architecture. It offers a modular packaging system equipped with a dedicated dependency manager. Laravel is rated as one of the best web frameworks.&lt;/p&gt;
&lt;p&gt;Laravel also provides its users with multiple ways of accessing relational databases along with application maintenance and deployment utilities. Laravel has an MIT license and has a source code hosted on GitHub.&lt;br&gt;4.3. &lt;strong&gt;Databases to Choose From:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Generally, there are two types of databases to choose from based on your requirement: Relational databases and Non-Relational Databases.&lt;/p&gt;
&lt;p&gt;A relational database is a type of database that stores and provides access to data points related to one another. Relational databases are based on the relational model, an intuitive, straightforward way of representing data in tables. Each row in the table is a record with a unique ID called the key in a relational database. The columns of the table hold attributes of the data, and each record usually has a value for each attribute, making it easy to establish the relationships among data points.&lt;/p&gt;
&lt;p&gt;Non-relational databases (often called NoSQL databases) are different from traditional relational databases in that they store their data in a non-tabular form. Instead, non-relational databases might be based on data structures like documents. A document can be highly detailed while containing a range of different types of information in different formats. This ability to digest and organize various types of information side-by-side makes non-relational databases much more flexible than relational databases.&lt;/p&gt;
&lt;h5&gt;4.3.1. &lt;strong&gt;&lt;em&gt;SQL&lt;/em&gt;&lt;/strong&gt;
&lt;/h5&gt;
&lt;p&gt;Technology might get outmoded quickly, but SQL seems to be an exception to the rule. Since being ruled an industry-standard language by the American National Standards Institute (ANSI) in 1986, SQL, or Structured Query Language, has empowered backend developers to access and manipulate relational databases as needed. SQL allows programmers to insert and delete records quickly, file queries against a database, create new tables and store procedures in a database, and even establish permissions on those tables and procedures. If you ever need to deal with relational databases — and if you're a backend developer, there's little doubt that you will — you need to know SQL.&lt;/p&gt;
&lt;p&gt;If you want to familiarize yourself with the language, try an open-source platform like MySQL. Named for creator Mondy Widenius's daughter My and offered by Oracle, MySQL provides free access to SQL database source code. It's also reasonably easy to use, as it can be installed on desktops and servers. It also runs on platforms including but not limited to Linux, Windows, and UNIX.&lt;/p&gt;
&lt;p&gt;That said, SQL isn't the only type of language used to manipulate databases. In 1998, developer Carl Strozz introduced the concept of a NoSQL language. NoSQL's name is a point of contention for programmers. While some believe that the term stands for non-SQL, others insist that it means not only SQL. In any case, a NoSQL language communicates with databases that store information through means other than a relational table.&lt;/p&gt;
&lt;p&gt;The decision to use SQL or NoSQL depends entirely on a developer's needs. Both work well; as programmers for MongoDB explain in an overview on the subject, "A common misconception is that NoSQL databases or non-relational databases don't store relationship data well. NoSQL databases can store relationship data — they store it differently than relational databases do."&lt;/p&gt;
&lt;p&gt;As such, backend developers would do well to have both skills in their repertoire.&lt;/p&gt;
&lt;h5&gt;4.3.2. &lt;strong&gt;&lt;em&gt;MongoDB&lt;/em&gt;&lt;/strong&gt;
&lt;/h5&gt;
&lt;p&gt;MongoDB, developed by MongoDB Inc., is a cross-platform database program. It is categorized as a NoSQL database program that stores data in JSON-like documents.&lt;/p&gt;
&lt;p&gt;MongoDB, a distributed database at its core, provides high performance, scalability, and flexibility in querying and indexing data. It is easy to integrate with applications as the document model can map objects in the code. It provides drivers for major languages, and there is also a lot of professional support available.&lt;/p&gt;
&lt;p&gt;The MongoDB Community Edition is free and open-source, while the MongoDB Enterprise Edition is for commercial purposes and has more advanced features.&lt;/p&gt;
&lt;h4&gt;4.4. &lt;strong&gt;Version control using Git&lt;/strong&gt;
&lt;/h4&gt;
&lt;p&gt;In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large websites, or other collections of information. Version control is a component of software configuration management.&lt;/p&gt;
&lt;h5&gt;4.4.1. &lt;strong&gt;&lt;em&gt;Git&lt;/em&gt;&lt;/strong&gt;
&lt;/h5&gt;
&lt;p&gt;If you're looking for a widely used modern version control system to fit your needs, Git is a great option. It is actively maintained and open-sourced, created by the same founder of the Linux operating system. Each developer with a working copy of the code can easily access the entire history of the changes, making it easy to edit and restore the code. Git is one of the most high-performing, flexible, and secure among any backend developer skills list.&lt;/p&gt;
&lt;h4&gt;4.5. &lt;strong&gt;Non-Technical Skills&lt;/strong&gt;
&lt;/h4&gt;
&lt;p&gt;While there are many technical skills a backend developer needs, there are some useful non-technical ones.&lt;/p&gt;
&lt;h5&gt;4.5.1. &lt;strong&gt;&lt;em&gt;Communication&lt;/em&gt;&lt;/strong&gt;
&lt;/h5&gt;
&lt;p&gt;Establishing well-honed communication skills means you'll find it easier to collaborate, whether with other backend developers or with the frontend developers who are working on the same projects. Communicating also helps when working with business leaders and other professionals who do not have the same background in development and programming.&lt;strong&gt;‍&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A Final Note on Becoming a Back End Developer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A career in backend development is an excellent option for those interested in programming and passionate about technology. As you work toward deciding what career path you want to take, you'll also be deciding what your educational path looks like.&lt;/p&gt;
&lt;p&gt;Remember, there are various ways you can gain the backend developer skills you need to be successful. You can choose a formal degree program or opt for a coding boot camp to learn web development. The best educational path depends on your needs, whether you're looking for a variety of topics or want more specialized training that you can complete in a shorter period.&lt;/p&gt;
&lt;p&gt;‍&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Popular Resources to Learn TypeScript!</title>
      <dc:creator>Atharva Kamble</dc:creator>
      <pubDate>Fri, 08 Oct 2021 08:44:25 +0000</pubDate>
      <link>https://dev.to/atharvakamble/popular-resources-to-learn-typescript-2agb</link>
      <guid>https://dev.to/atharvakamble/popular-resources-to-learn-typescript-2agb</guid>
      <description>&lt;h1&gt;Popular Resources to Learn TypeScript!&lt;/h1&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LbeE21no--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://uploads-ssl.webflow.com/60d5a97381523a05b73c87c6/6128bcef7668e0b82b53343c_15.png"&gt;&lt;p&gt;&lt;em&gt;TypeScript&lt;/em&gt; is a language that aims at easing the development of large-scale applications written in JavaScript. TypeScript adds common concepts such as classes, modules, interfaces, generics, and (optional) static typing to JavaScript. It is a superset of JavaScript: all JavaScript code is valid TypeScript code, which You can add seamlessly to any project. The TypeScript compiler emits JavaScript.&lt;/p&gt;
&lt;p&gt;The 5 free resources to learn TypeScript are as follows:&lt;/p&gt;
&lt;p&gt;‍&lt;a href="https://blog.teamtreehouse.com/getting-started-typescript"&gt;&lt;strong&gt;‍&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;1. Getting started with TypeScript&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Getting started with TypeScript is a beginner's guide to TypeScript. It covers all the essential factors like TypeScript origin, syntax, interfaces, classes, etc. Readers will get a brief idea of what TypeScript is and how it works.&lt;em&gt;‍&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Created by Andrew Chalkley.&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;‍&lt;a href="https://basarat.gitbook.io/typescript/getting-started"&gt;&lt;strong&gt;‍&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;2. TypeScript Deep Dive&lt;/strong&gt;
&lt;/h4&gt;
&lt;p&gt;An eBook that serves as a deep dive into what TypeScript is and how it works. In this eBook, you can not only learn but also understand every aspect of typescript. How it came to be and where you should use it. It is an impressive Gitbook for both beginners and advanced developers. It also serves as a reference and will help users for tests and interviews.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Created by Basarat.&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;‍&lt;strong&gt;3. TypeScript Quick Start&lt;/strong&gt;
&lt;/h4&gt;
&lt;p&gt;Official TypeScript documentation that contains everything about TypeScript. It is a fantastic guide for everything TypeScript-related. It is also well written and updated.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Created by TypeScript Devs.&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;‍&lt;strong&gt;4. Learn X in Y minutes where X=TypeScript&lt;/strong&gt;‍&lt;/h4&gt;
&lt;p&gt;This website conveys the idea of TypeScript in a very engaging and exciting manner. The users are presented with blocks of code. The comments of the code are the actual lessons. Reading through the comments will make us understand what each piece of code does.&lt;/p&gt;
&lt;p&gt;‍&lt;em&gt;Created by Philippe Vierick.&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;‍&lt;strong&gt;5. Clean code concepts of TypeScript&lt;/strong&gt;
&lt;/h4&gt;
&lt;p&gt;An article that educates readers about the rules they should follow to generate clean code in TypeScript. The article has over 4.6K GitHub stars. Clean coding is a necessary factor in programming and should be followed by all the development team members. This article helps beginners in TypeScript to generate clean and readable code.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Created by mheob. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;‍&lt;/p&gt;

</description>
    </item>
    <item>
      <title>26 Must-Know Git Commands in 2021</title>
      <dc:creator>Atharva Kamble</dc:creator>
      <pubDate>Fri, 08 Oct 2021 07:27:50 +0000</pubDate>
      <link>https://dev.to/atharvakamble/26-must-know-git-commands-in-2021-5djp</link>
      <guid>https://dev.to/atharvakamble/26-must-know-git-commands-in-2021-5djp</guid>
      <description>&lt;h1&gt;26 Must-Know Git Commands in 2021&lt;/h1&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J5v9J5N3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://uploads-ssl.webflow.com/60d5a97381523a05b73c87c6/6128bfe8ea2f0553a99500b7_24.png"&gt;
&lt;p&gt;Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. It's a system that tracks changes to our project files over time. It enables us to record project changes and go back to a specific version of the tracked files, at any given point in time.  This change history lives on your local machine and lets you revert to a previous version of your project with ease in case something goes wrong. Git makes collaboration easy. Knowing how to use Git is one of the most important skills for any developer nowadays - and it's definitely a great addition to your resume!&lt;/p&gt;
&lt;p&gt;Here we will look at some of the git commands to get you started with git.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Check your Git configuration&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          The command below&lt;strong&gt; &lt;/strong&gt;returns a list of information about your git configuration including user name and email.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git config –l&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="2"&gt;&lt;li&gt;Setup your Git username&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;          git config --global user.name "your-name"&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="3"&gt;&lt;li&gt;Setup your Git user email&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;          git config --global user.email "your-email"&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="4"&gt;&lt;li&gt;Cache your login credentials in Git&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          You can store login credentials in the cache so you don't have to type them in each time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git config --global credential.helper cache&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="5"&gt;&lt;li&gt;Initialize a Git repo&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          The first step to creating your git repository is initializing it. You can initialize a git repo for a new or existing project using the following command:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git init&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="6"&gt;&lt;li&gt;Add a file to the staging area&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          The next step is to add the files in the project to the staging area. You can add a file using the following command:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;           git add &amp;lt;filename&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;          To add all the files in the current directory, use the following command:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git add .&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="7"&gt;&lt;li&gt;Check a repository's status&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          This command will show the status of the current repository including staged, unstaged, and untracked files.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git status&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="8"&gt;&lt;li&gt;Commit changes in the editor&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          The common way to commit changes made to your repo is with the –m option which lets you specify a shot summary for your commit message.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git commit -m "your commit message here"&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;          You can add and commit files in one step using the following command:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git commit -a –m "your commit message here"&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="9"&gt;&lt;li&gt;See your commit history in Git&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          To see your commit history for the current repo, use the following command:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git log&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;          To see your commit history including all the files and their changes, type:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git log –p&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="10"&gt;&lt;li&gt;Remove tracked files from the current working tree in Git&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;          git rm filename&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="11"&gt;&lt;li&gt;Rename files in Git&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;          git mv oldfile newfile&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="12"&gt;&lt;li&gt;Ignore files in Git&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          Create a .gitignore file and commit it.&lt;/p&gt;
&lt;ol start="13"&gt;&lt;li&gt;Rolling back commits&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          Use the below command to roll back the last commit:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git revert HEAD&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;          To revert an old commit in git:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git revert commit_id_here&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="14"&gt;&lt;li&gt;Create a new branch in git&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          Branch allows teams to work on the same code base in parallel. If you want to add some functionality to a branch without changing the actual code, you can create a branch and if your team likes the changes, you can merge the two branches together. To create a new branch, use the command below:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git branch branch_name&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="15"&gt;&lt;li&gt;Switch to a newly created branch&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;          git checkout branch_name&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="16"&gt;&lt;li&gt;Delete a branch&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;          git branch –d branch_name&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="17"&gt;&lt;li&gt;Merge two branches in git&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;          git merge branch_name&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="18"&gt;&lt;li&gt;Show the commit log as a graph&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;          git log –graph –online&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="19"&gt;&lt;li&gt;Add a remote repository&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;          git add remote &lt;a href="https://repo_here"&gt;https://repo_here&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="20"&gt;&lt;li&gt;See all remote repositories&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;          git remote –v&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="21"&gt;&lt;li&gt;Push changes to a remote repo&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          When all your work is ready to be saved on a remote repository, you can push all changes using the command below:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git push&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="22"&gt;&lt;li&gt;Pull changes from a remote repo&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          If other team members are working on your repository, you can retrieve the latest changes made to the remote repository with the command below:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git pull&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="23"&gt;&lt;li&gt;Fetch remote repo changes&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          This command will download the changes from a remote repo but will not perform a merge on your local branch (as git pull does that instead).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git fetch&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="24"&gt;&lt;li&gt;Merge a remote repo with your local repo&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          If the remote repository has changes you want to merge with your local, then use the following command&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git merge origin/main&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="25"&gt;&lt;li&gt;Push a new branch to a remote repo&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;          git push -u origin branch_name&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="26"&gt;&lt;li&gt;Clone a git repository&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;          The git clone command is used to download the source code from a remote repository. When you clone a repo, the code is automatically downloaded to your local machine. To clone a git repo, use the following command:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;          git clone &amp;lt;&lt;a href="https://url-of-the-repository"&gt;https://url-of-the-repository&lt;/a&gt;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;‍&lt;/p&gt;


</description>
    </item>
    <item>
      <title>23 Must-Know Linux Commands for Beginners(in 2021)</title>
      <dc:creator>Atharva Kamble</dc:creator>
      <pubDate>Thu, 07 Oct 2021 19:37:33 +0000</pubDate>
      <link>https://dev.to/atharvakamble/23-must-know-linux-commands-for-beginners-in-2021-39mh</link>
      <guid>https://dev.to/atharvakamble/23-must-know-linux-commands-for-beginners-in-2021-39mh</guid>
      <description>&lt;h1&gt;23 Must-Know Linux Commands for Beginners(in 2021)&lt;/h1&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3-1RADA---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://uploads-ssl.webflow.com/60d5a97381523a05b73c87c6/6128c0497ecd4b13867bf9f0_30.png"&gt;&lt;p&gt;Linux is an entire family of open-source Unix operating systems that are based on the Linux Kernel. This includes all the most popular Linux-based systems like Ubuntu, Fedora, Mint, Debian, etc. More accurately, they're called distributions or distros. Linux seems a bit hard to use and understand for people coming from Windows or macOS, and most people give up on using Linux because they are unaware of the commands and shortcuts that Linux provides. Knowing the useful commands and their proper usage can significantly speed up your work on Linux than if you were using other operating systems.   &lt;/p&gt;
&lt;p&gt;In this article, we will look at some frequently used Linux commands.   &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;   &lt;/strong&gt; &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;1. ls command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;The ls is the list command in Linux. It will show the complete list or content of your directory. You can pair it with several options to get different results. Ls with no option list files and directories in a raw format where we won't be able to view details like file types, size, modified date and time, permission and links, etc. Some of the most common options are listed below:   &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ls -l: shows file or directory, size, modified date and time, file or folder name and owner of the file, and its permission.   &lt;/li&gt;
&lt;li&gt;ls -a: List all files, including hidden files starting with '. '.   &lt;/li&gt;
&lt;li&gt;ls -lh: List files in human-readable format.   &lt;/li&gt;
&lt;li&gt;ls -r: List files in reverse order.   &lt;/li&gt;
&lt;li&gt;ls -R: Recursively list sub-directories.  &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;strong&gt;2. cd command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;cd stands for change directory. You can use the cd command to navigate through Linux files and directories. It requires either the full path or the directory's name, depending on the current working directory that you're in.   &lt;/p&gt;
&lt;p&gt;If you want to go to a subdirectory of the directory you are in, type cd followed by the directory name.   &lt;/p&gt;
&lt;p&gt;If you want to go to a directory outside the current directory, for example, from /home/user/downloads to /home/user/photos, you have to give the absolute path of the directory like 'cd /home/user/photos. There are also some shortcuts to navigate quickly:   &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cd .. to move one directory up.   &lt;/li&gt;
&lt;li&gt;cd to go straight to the home folder.   &lt;/li&gt;
&lt;li&gt;cd- to move to your previous directory   &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;strong&gt;3. PWD command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;PWD command is used to find the path of the current directory. It will return the absolute path, which contains all the directories from the root that starts with a forward slash. An example of an absolute path is /home/user.   &lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;4. rmdir command &lt;/strong&gt;  &lt;/h4&gt;
&lt;p&gt;rmdir command allows you to delete empty directories.  &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;5. rm command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;rm command allows you to delete directories with contents inside them. The options that can be used with rm are:   &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;rm -i: will ask before deleting each file.   &lt;/li&gt;
&lt;li&gt;rm -r: will recursively delete a directory and all of its contents.   &lt;/li&gt;
&lt;li&gt;rm -f: will forcibly delete files without asking.   &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;strong&gt;6. touch command &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;touch command allows you to create a new blank file with the given file name.    &lt;/p&gt;
&lt;p&gt;Usage:    &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;touch hello.js will create a file called hello with the extension .js in your current directory.   &lt;/li&gt;
&lt;li&gt;touch home/user/documents/hello.html will create the given HTML file in the Documents folder.    &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;strong&gt;7. cp command &lt;/strong&gt;  &lt;/h4&gt;
&lt;p&gt;cp command lets you copy files from your current directory to your desired directory.   &lt;/p&gt;
&lt;p&gt;Usage:   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;cp hello.js /home/user/documents will copy the hello.js from the current directory to the documents folder.   &lt;/li&gt;&lt;/ul&gt;
&lt;h4&gt;
&lt;strong&gt;8. mv command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;mv command is used to move files the same way the cp command is used to copy files. But it can also be used to rename files.   &lt;/p&gt;
&lt;p&gt;Usage:   &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To move files: mv hello.js /home/user/documents will move the hello.js from the current directory to the documents folder.   &lt;/li&gt;
&lt;li&gt;To rename files, type: mv oldname.ext newname.ext    &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;strong&gt;9. cat command &lt;/strong&gt;  &lt;/h4&gt;
&lt;p&gt;cat is one of the most frequently used commands in Linux. Cat is short for concatenate. Cat is used to concatenate and print the contents of files. Cat command allows us to create single or multiple files, view contents of a file, concatenate files, and redirect output in terminal or files.   &lt;/p&gt;
&lt;p&gt;Usage:   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Display contents of a file   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;cat /etc/passwd: will show the contents of passwd.   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;View contents of multiple files in terminal   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;cat test test1: will show the contents of the test and test1 in the terminal.   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Create a file   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;cat &amp;gt;test2: will create a file test2. It then awaits input from the user. Write in the desired text and press CTRL+D to exit.   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;cat with a redirection operator   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;cat test &amp;gt; test1: We can redirect the standard output into a new file else existing file with '&amp;gt; '. Existing contents of the test1 will be overwritten by the contents of the test file.   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Appending standard output with a redirection operator   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;cat test &amp;gt;&amp;gt; test1: Appends an existing file with '&amp;gt;&amp;gt; '. Here, the contents of the test file will be appended at the end of test1 file.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;10. locate command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;locate command in Linux is used to find the files by name. An alternative to locating is find. But, the difference between both commands is that locate command is a background process and searches the file in the database whereas find command searches in the filesystem. The locate command is much faster than the find command.   &lt;/p&gt;
&lt;p&gt;If you cannot find a file with locate command, then it means that your database is out of date, and you can update it with the "updatedb" command.   &lt;/p&gt;
&lt;p&gt;Syntax: locate [OPTION]... PATTERN...   &lt;/p&gt;
&lt;p&gt;Usage:   &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;locate sample.txt: will search for sample.txt.   &lt;/li&gt;
&lt;li&gt;locate “&lt;em&gt;.html” -n 20: will show 20 results for the searching of file ending with .html.   &lt;/em&gt;
&lt;/li&gt;
&lt;li&gt; locate -c [.txt]: will count files ending with .txt and display the result.   &lt;/li&gt;
&lt;li&gt;locate -i &lt;em&gt;SAMPLE.txt&lt;/em&gt;: Ignore Case Sensitive Locate Outputs. This command is configured to process queries in a case-sensitive manner. It means SAMPLE.TXT will show a different result than sample.txt.   
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;strong&gt;11. find command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;Similar to the locate command, using find also searches for files and directories. The difference is, you use the find command to locate files within a given directory.   &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To find files in the current directory use, find . -name notes.txt   &lt;/li&gt;
&lt;li&gt;To look for directories use, / -type d -name notes.txt   &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;strong&gt;12. grep command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;The grep filter searches a file for a particular pattern of characters and displays all lines that contain that pattern.    &lt;/p&gt;
&lt;p&gt;Syntax: grep [options] pattern [files]   &lt;/p&gt;
&lt;p&gt;Usage:   &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;grep -i "Unix" file.txt: Performs a case-insensitive search in the given file and returns the lines that contain the word Unix.   &lt;/li&gt;
&lt;li&gt;grep -c "Unix" file.txt: Display the number of lines that match the word Unix.   &lt;/li&gt;
&lt;li&gt;grep -w "Unix" file.txt: By default, grep matches the given string/pattern even if it is found as a substring in a file. The -w option to grep makes it match only the whole words.    &lt;/li&gt;
&lt;li&gt;grep -n "Unix" file.txt: show the line number of the file with the line matched.    &lt;/li&gt;
&lt;li&gt;grep "^unix" file.txt: Matches the lines that start with the given string.   &lt;/li&gt;
&lt;li&gt;grep "os$" file.txt: Matches the lines that end with the given string.   &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;strong&gt;13. sudo command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;sudo stands for "superuser do!". If you prefix "sudo" with any Linux command, it will run that command with elevated privileges. Elevated privileges are required to perform specific administrative tasks.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;14. df command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;df command is used to get a report on the system's disk space usage. It is shown in percentage and in KBs. To get the report in MBs, type df -m.   &lt;br&gt;&lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;15. du command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;the du command is used to find the disk usage of a file or a directory. The disk usage summary is shown in disk block numbers instead of KBs.   &lt;/p&gt;
&lt;p&gt;To see it in bytes, KBs, and MBs, add the -h argument to the command.   &lt;br&gt;&lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;16. echo command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;echo is a command that outputs the strings it is being passed as arguments. It is a command available in various operating system shells and typically used in shell scripts and batch files to output status text to the screen or a computer file, or as a source part of a pipeline.    &lt;/p&gt;
&lt;p&gt;Syntax: echo [option] [string]   &lt;/p&gt;
&lt;p&gt;Some options of echo command are mentioned below:   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Input a line of text and display on standard output:   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt; echo Hello User   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;echo value of a variable:   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;x=5   &lt;/p&gt;
&lt;p&gt;echo The value of x is $x   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Using option' \b '— backspace with backslash interpreter '-e 'removes all the spaces between.   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;echo -e “This \bis \ba \btest \bmessage”   &lt;/p&gt;
&lt;p&gt;Output: Thisisatestmessage   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Option' \t '— horizontal tab with backspace interpreter '-e 'has horizontal tab spaces. You can use \n or a combination of \n and \t in the same way where \n inserts a new line.   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt; echo -e “This \tis \ta \ttest \tmessage”   &lt;/p&gt;
&lt;p&gt;Output: This is a test message.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;17. zip command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;ZIP is used to compress files to reduce file size and is also used as a file package utility. The zip program puts one or more compressed files into a single zip archive, along with information about the files (name, path, date, time of last modification, protection, and check information to verify file integrity).   &lt;/p&gt;
&lt;p&gt;Syntax: zip [options] zipfile files list   &lt;/p&gt;
&lt;p&gt;Usage:   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Creating a zip file:   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;zip myfile.zip filename.txt   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;-d option removes the file from the zip archive.   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;zip –d filename.zip file.txt   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;-u option is used to update the specified list of files or add new files to the existing zip file.   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;zip –u filename.zip file.txt   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;-r option is used to recursively zip the files in a directory.   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;zip –r filename.zip directory_name   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;-x option is used to exclude the specified files while creating the zip.   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;zip –x filename.zip file_to_be_excluded   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;18. help command&lt;/strong&gt;   &lt;/h4&gt;
&lt;p&gt;&amp;lt;command-name&amp;gt; --help lists all the available commands in the terminal. You can use '-h' or '–help' (help has two hyphens here) option with any command to get help for that specific command.  &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;19. whatis command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;whatis &amp;lt;command-name&amp;gt; shows a single-line description for the given command.   &lt;br&gt;&lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;20. man command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;man &amp;lt;command-name&amp;gt; shows the manual page for the given command.   &lt;br&gt;&lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;21. tar command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;"tar" stands for tape archive, which is used by many Linux/Unix system administrators to deal with tape drives backup. The tar is the most widely used command to create compressed archive files that can be moved easily from one disk to another or machine to machine.   &lt;/p&gt;
&lt;p&gt;Syntax:   &lt;/p&gt;
&lt;p&gt;tar [options] [archive-file] [file or directory to be archived]   &lt;/p&gt;
&lt;p&gt;Options:    &lt;/p&gt;
&lt;p&gt;-c : Creates Archive    &lt;/p&gt;
&lt;p&gt;-x : Extract the archive    &lt;/p&gt;
&lt;p&gt;-f : creates archive with given filename    &lt;/p&gt;
&lt;p&gt;-t : displays or lists files in archived file    &lt;/p&gt;
&lt;p&gt;-u : archives and adds to an existing archive file    &lt;/p&gt;
&lt;p&gt;-v : Displays Verbose Information    &lt;/p&gt;
&lt;p&gt;-A : Concatenates the archive files    &lt;/p&gt;
&lt;p&gt;-z : zip, tells tar command that creates tar file using gzip    &lt;/p&gt;
&lt;p&gt;-j : filter archive tar file using tbzip    &lt;/p&gt;
&lt;p&gt;-W : Verify an archive file    &lt;/p&gt;
&lt;p&gt;-r : update or add file or directory in already existed .tar file    &lt;/p&gt;
&lt;p&gt;Usage:   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Creating an uncompressed tar Archive using option -cvf:   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;tar cvf file.tar *.c — This will create a tar file called file.tar, the Archive of all .c files in the current directory.    &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Extracting files from Archive using option -xvf :   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;tar xvf file.tar    &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;gzip compression on the tar Archive, using option -z:   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;tar cvzf file.tar.gz *.c — This command creates a tar file called file.tar.gz, the Archive of .c files.     &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Extracting a gzip tar Archive *.tar.gz using option -xvzf:   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;tar xvzf file.tar.gz    &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Creating compressed tar archive file in Linux using option -j:   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;tar cvfj file.tar.tbz example.CPP — This command compresses and creates archive files less than the gzip size, but it takes more time to compress and decompress.   &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Applying pipe to 'grep command' to find what we are looking for:   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;tar tvf file.tar | grep “text to find”   &lt;/p&gt;
&lt;p&gt;Or   &lt;/p&gt;
&lt;p&gt;tar tvf file.tar | grep “filename.file extension”   &lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;22. gzip command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;gzip &amp;lt;filename&amp;gt; creates and extracts gzip archives. You can use its gzip -d &amp;lt;filename&amp;gt; to extract gzip archives.   &lt;br&gt;&lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;23. unzip command  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;unzip &amp;lt;archive-to-extract.zip&amp;gt; unzips a given zip archive. You can use unzip -l &amp;lt;archive-to-extract.zip&amp;gt; to view the zip file's contents without extracting it. It's the same as you using an archive program to extract zip archives in GUI.   &lt;br&gt;‍&lt;/p&gt;

</description>
    </item>
    <item>
      <title>19 Must-Have Visual Studio Code Plugins of 2021 for Web Developers</title>
      <dc:creator>Atharva Kamble</dc:creator>
      <pubDate>Thu, 07 Oct 2021 19:35:58 +0000</pubDate>
      <link>https://dev.to/atharvakamble/19-must-have-visual-studio-code-plugins-of-2021-for-web-developers-2onh</link>
      <guid>https://dev.to/atharvakamble/19-must-have-visual-studio-code-plugins-of-2021-for-web-developers-2onh</guid>
      <description>&lt;h1&gt;19 Must-Have Visual Studio Code Plugins of 2021 for Web Developers&lt;/h1&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---pwQt5qW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://uploads-ssl.webflow.com/60d5a97381523a05b73c87c6/6128c0540ccc6beeb82ad8bf_31.png"&gt;&lt;p&gt;&lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt; is one of the most widely used code editors in the developer community. And one of the reasons for its popularity being the number of extensions available to make development easier. From extensions that make learning how to code painless to functional extensions that make development processes more efficient, there's something for every kind of developer.   &lt;/p&gt;
&lt;p&gt;Here, we will discuss some of the most useful Visual Studio Code plugins that could help speed up your development process.   &lt;/p&gt;
&lt;p&gt;  &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;1. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync"&gt;&lt;strong&gt;Settings Sync&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;Settings sync is a plugin that allows you to sync your VS Code settings, themes, file icons, key bindings, etc., to GitHub. This way, you'll have access to your preferred IDE from whichever device you want, instead of having to program from a vanilla VS Code environment on new devices or having to manually set up everything again.    &lt;/p&gt;
&lt;p&gt;Go to the &lt;a href="https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync"&gt;link&lt;/a&gt; and read the instructions to properly configure your VS Code editor to take advantage of the plugin.   &lt;/p&gt;
&lt;p&gt;2,635,278 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.6 out of 5.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;2. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode"&gt;&lt;strong&gt;Prettier&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;Prettier is an opinionated code formatter. Prettier is one of the best code formatters available. It comes in handy when you are working on a project and sharing your code with the team; everyone will have the same code format. It makes for easier readability and efficient coding. You can set your code to be formatted on every save by properly configuring prettier.   &lt;/p&gt;
&lt;p&gt;14,140,068 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 3.7 out of 5.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;3. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint"&gt;&lt;strong&gt;ESLint&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;ESLint is a tool for identifying and reporting patterns found in ECMAScript/JavaScript code, intending to make code more consistent and avoid bugs. In simple words, ESLint helps you fix errors in your code and also format it. ESLint statically analyses your code to quickly find problems.   &lt;/p&gt;
&lt;p&gt;15,643,858 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.4 out of 5.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;4. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode"&gt;&lt;strong&gt;Visual Studio IntelliCode&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;The &lt;a href="https://go.microsoft.com/fwlink/?linkid=872679"&gt;Visual Studio IntelliCode&lt;/a&gt; extension provides AI-assisted development features for Python, TypeScript/JavaScript, and Java developers in Visual Studio Code, with insights based on understanding your code context combined with machine learning. It helps developers and programmers with intelligent code completion suggestions.   &lt;/p&gt;
&lt;p&gt;It comes with default support for Python, TypeScript/JavaScript, React, and Java.   &lt;/p&gt;
&lt;p&gt;12,581,106 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4 out of 5.    &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;5. Icons  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;Icons help you identify files and folders more easily and helps you differentiate between different file types by looking at the file icon. It gives a more pleasant look and feels to the native boring editor. There are different types of icons available in the market. You can choose to apply a minimalistic look to the editor or go crazy with the icons, as there are many icon packs to choose from. Listed below are some popular icon packs:   &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=vscode-icons-team.vscode-icons"&gt;vscode-icons&lt;/a&gt;   &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme"&gt;Material Icon Theme&lt;/a&gt;   &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=Equinusocio.vsc-material-theme-icons"&gt;Material Theme Icons&lt;/a&gt;   &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=LaurentTreguier.vscode-simple-icons"&gt;Simple icons&lt;/a&gt;   &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
&lt;strong&gt;6. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh"&gt;&lt;strong&gt;Remote - SSH&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;  &lt;/h4&gt;
&lt;p&gt;The Remote - SSH extension lets you use any remote machine with an SSH server as your development environment. No source code needs to be on your local machine to gain these benefits since the extension runs commands and other extensions directly on the remote machine. You can open any folder on the remote machine and work with it just as you would if the folder were on your own machine.   &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Develop on the same operating system you deploy to or use more extensive, faster or more specialized hardware than your local machine.   &lt;/li&gt;
&lt;li&gt;Quickly swap between different, remote development environments and safely make updates without worrying about impacting your local machine.   &lt;/li&gt;
&lt;li&gt;Access an existing development environment from multiple machines or locations.   &lt;/li&gt;
&lt;li&gt;Debug an application running somewhere else, such as a customer site or in the cloud.   &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;4,201,807 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.3 out of 5.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;7. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer"&gt;&lt;strong&gt;Live Server&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;The live server plugin lets you launch a local development Server with live reload feature for static &amp;amp; dynamic pages. You don't have to worry about reloading your webpage manually in your browser after writing your code. The live server takes care of it. You have to properly configure it to work correctly. Every time you save your code, it reloads the webpage for you. This saves you a lot of time and makes development more straightforward.   &lt;/p&gt;
&lt;p&gt;13,643,332 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.4 out of 5.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;8. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost"&gt;&lt;strong&gt;Import Cost&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;This extension will display inline in the editor the size of the imported package. The extension utilizes a webpack with a babili-webpack-plugin to detect the imported size. Importing hefty packages can affect the user experience. This extension helps you with that. When the import is too large, Import Cost warns you by displaying the size in red. You can configure what size should be considered small, medium, or large.   &lt;/p&gt;
&lt;p&gt;1,205,738 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 3.8 out of 5.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;9. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=xabikos.JavaScriptSnippets"&gt;&lt;strong&gt;JavaScript (ES6) code snippets&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;This extension is a must-have for every JavaScript developer. It provides code snippets, and it comes with pre-built support not just for JavaScript ES6 but also for Typescript, ReactJS, Vue, and HTML.   &lt;/p&gt;
&lt;p&gt;5,877,947 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.8 out of 5.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;10. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-rename-tag"&gt;&lt;strong&gt;Auto Rename Tag&lt;/strong&gt;&lt;/a&gt;   &lt;/h4&gt;
&lt;p&gt;Renaming a particular tag can be tricky when there are hundreds of lines of code within a single tag and when there are many nested tags. Auto Rename Tag is a super helpful VS Code extension for web developers. As the name suggests, Auto Rename Tag renames the second tag as the first one is updated and vice versa. This extension helps you not only with HTML but also with React because of JSX.   &lt;/p&gt;
&lt;p&gt;6,119,516 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 3.3 out of 5.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;11. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome"&gt;&lt;strong&gt;Debugger for Chrome&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;Debugger for chrome is a VS Code extension developed by Microsoft, and it allows you to debug your JS code in VS Code. You can set breakpoints, step your way through the code, debug scripts added dynamically, and more.   &lt;/p&gt;
&lt;p&gt;It helps to detect errors earlier in the development process, gain helpful information on data structures, and allow straightforward interpretation.   &lt;/p&gt;
&lt;p&gt;8,352,266 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.2 out of 5.    &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;12. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker"&gt;&lt;strong&gt;Docker&lt;/strong&gt;&lt;/a&gt;   &lt;/h4&gt;
&lt;p&gt;The Docker extension is developed by Microsoft, making it easy to build, manage, and deploy containerized applications from Visual Studio Code. It also provides one-click debugging of Node.js, Python, and .NET Core inside a container.   &lt;/p&gt;
&lt;p&gt;9,990,340 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.7 out of 5.  &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;13. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=mikestead.dotenv&amp;amp;ssr=false#qna"&gt;&lt;strong&gt;DotENV&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;It's pretty common to configure Node.js applications using environment variables. And, one of the most popular modules for managing environment variables is &lt;a href="https://www.npmjs.com/package/dotenv"&gt;dotenv&lt;/a&gt;. The DotENV extension for VS Code adds convenient syntax highlighting when editing a .env file.   &lt;/p&gt;
&lt;p&gt;18,97,756 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.7 out of 5.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;14. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=dsznajder.es7-react-js-snippets"&gt;&lt;strong&gt;ES7 React/Redux/GraphQL/React-Native snippets&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;This is for advanced developers who are now working with JavaScript frameworks such as React and other technologies compatible with its production and complex applications. With the help of this snippet, you can easily create class-based components, functional components.   &lt;/p&gt;
&lt;p&gt;3,222,181 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.3 out of 5.&lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;15. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph"&gt;&lt;strong&gt;Git Graph&lt;/strong&gt;&lt;/a&gt;   &lt;/h4&gt;
&lt;p&gt;Git Graph lets you view a Git graph of your repository and efficiently perform Git actions from the graph. You can also configure it to look the way you want. You can display the local and remote branches, perform git actions, compare two commits, and a lot more with this handy tool.   &lt;/p&gt;
&lt;p&gt;1,537,777 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 5 out of 5.   &lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;16. &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens"&gt;&lt;strong&gt;GitLens&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;GitLens is an open-source extension for Visual Studio Code created, developed, and maintained by Eric Amodio.   &lt;/p&gt;
&lt;p&gt;GitLens simply helps you better understand code. Quickly glimpse into whom, why, and when a line or code block was changed. Jump back through history to gain further insights as to how and why the code evolved. Effortlessly explore the history and evolution of a codebase.   &lt;/p&gt;
&lt;p&gt;GitLens is robust, feature-rich, and highly customizable to meet your needs.   &lt;/p&gt;
&lt;p&gt;10,103,571 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.8 out of 5.   &lt;/p&gt;
&lt;h4&gt;17.&lt;strong&gt; &lt;/strong&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=christian-kohler.npm-intellisense"&gt;&lt;strong&gt;npm Intellisense&lt;/strong&gt;&lt;/a&gt;   &lt;/h4&gt;
&lt;p&gt;npm Intellisense is a Visual Studio Code plugin that autocompletes NPM modules in import statements.   &lt;/p&gt;
&lt;p&gt;3,295,873 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.6 out of 5.   &lt;/p&gt;
&lt;h4&gt;18. &lt;a href="https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense"&gt;&lt;strong&gt;Path Intellisense&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;Path Intellisense is a Visual Studio Code plugin that autocompletes filenames. This helps in reducing the time taken to type the file paths and also helps in reducing errors related to wrong paths.   &lt;/p&gt;
&lt;p&gt;5,133,441 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.8 out of 5.   &lt;/p&gt;
&lt;h4&gt;19. &lt;a href="https://marketplace.visualstudio.com/items?itemName=WakaTime.vscode-wakatime"&gt;&lt;strong&gt;WakaTime&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;  &lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;WakaTime is an open-source VS Code plugin for metrics, insights, and time tracking automatically generated from your programming activity. You can see the time spent on each programming language, find the time you spent per feature/commit, and you can get fully automatic reports via email.   &lt;/p&gt;
&lt;p&gt;475,008 installs   &lt;/p&gt;
&lt;p&gt;Average Rating: 4.4 out of 5.   &lt;/p&gt;
&lt;p&gt;‍&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Best UI Frameworks for React.js</title>
      <dc:creator>Atharva Kamble</dc:creator>
      <pubDate>Thu, 07 Oct 2021 19:35:22 +0000</pubDate>
      <link>https://dev.to/atharvakamble/best-ui-frameworks-for-react-js-1250</link>
      <guid>https://dev.to/atharvakamble/best-ui-frameworks-for-react-js-1250</guid>
      <description>&lt;h1&gt;Best UI Frameworks for React.js&lt;/h1&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuploads-ssl.webflow.com%2F60d5a97381523a05b73c87c6%2F6128bfdb609eaf075c0f13fe_23.png"&gt;&lt;p&gt;&lt;strong&gt;React &lt;/strong&gt;(also known as React.js or ReactJS) is a free and &lt;strong&gt;open-source JavaScript library&lt;/strong&gt; for building user interfaces or UI components. It is maintained by Facebook and a community of individual developers and companies. React is a prevalent Front end framework with over 172k stars on GitHub. There is a growing range of support libraries that helps us customize our UI components efficiently.&lt;/p&gt;
&lt;p&gt;Here we will look at some of the best &lt;strong&gt;React UI Frameworks&lt;/strong&gt; that you can adopt in your project.&lt;/p&gt;
&lt;p&gt;The comparison made here is based on user reviews from the following trusted sources:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub &lt;/li&gt;
&lt;li&gt;npm.js &lt;/li&gt;
&lt;li&gt;StackShare &lt;/li&gt;
&lt;li&gt;Stackoverflow &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;    &lt;/p&gt;
&lt;h4&gt;1)  &lt;strong&gt;Ant Design&lt;/strong&gt; - The world's second most&lt;strong&gt; popular react UI framework&lt;/strong&gt; &lt;/h4&gt;
&lt;p&gt;It is an enterprise-class UI design language  with a set of high-quality React UI components.&lt;strong&gt; &lt;/strong&gt;It is one of the best React UI library for enterprises. It offers many polished components that could be used to build an entire application. The documentation is extensive, with tons of examples, and stays up to date.  &lt;/p&gt;
&lt;p&gt;To find the examples of websites built on Ant Design, go &lt;a href="https://ant.design/docs/spec/cases" rel="noopener noreferrer"&gt;here.&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By: &lt;/strong&gt;&lt;a href="https://ant.design/" rel="noopener noreferrer"&gt;&lt;strong&gt;Ant Design&lt;/strong&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Stars: &lt;/strong&gt;73.4k &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://trends.builtwith.com/websitelist/ANT-Design/Historical" rel="noopener noreferrer"&gt;11,749&lt;/a&gt; websites use ANT Design &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.binance.com/en" rel="noopener noreferrer"&gt;&lt;strong&gt;Binance&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.tencent.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Tencent&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://intl.alipay.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Alipay&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Internationalization support for dozens of languages, &lt;/li&gt;
&lt;li&gt;Powerful theme customization, and Typescript support.  &lt;/li&gt;
&lt;li&gt;Ant design is supported by modern browsers and Internet Explorer 11. &lt;/li&gt;
&lt;li&gt;Enterprise look and feel. &lt;/li&gt;
&lt;li&gt;High quality icons.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;2)  &lt;strong&gt;Material UI &lt;/strong&gt;- &lt;strong&gt;React UI components&lt;/strong&gt; for faster and easier web development.   &lt;/h4&gt;
&lt;p&gt;Material-UI is the most popular React UI framework that provides Google Material Design out of the box. Material design takes inspiration from the physical world and textures while keeping the actual UI elements to a minimum. &lt;/p&gt;
&lt;p&gt;See the full showcase of public apps using Material UI &lt;a href="https://material-ui.com/discover-more/showcase/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By: &lt;/strong&gt;&lt;a href="https://www.linkedin.com/in/hihai" rel="noopener noreferrer"&gt;&lt;strong&gt;Hai Nguyen&lt;/strong&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;‍&lt;strong&gt;Statistics:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Stars: &lt;/strong&gt;70k &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://trends.builtwith.com/websitelist/Material-UI/Historical" rel="noopener noreferrer"&gt;193,907&lt;/a&gt; websites use Material-UI &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://medium.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Medium.com&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.makit.lv/en/" rel="noopener noreferrer"&gt;&lt;strong&gt;MAK IT&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://scale.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Scale&lt;/strong&gt;&lt;/a&gt;  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automatic color changes. &lt;/li&gt;
&lt;li&gt;Switch between RTL and Non-RTL &lt;/li&gt;
&lt;li&gt;Integration with Design Kits like Figma, Sketch and Adobe XD. &lt;/li&gt;
&lt;li&gt;A wide range of helpful components are available, like app bars, auto complete, badges, buttons, cards, dialog boxes, icons, menus, sliders and more.  &lt;/li&gt;
&lt;li&gt;Material-UI also offers React themes and templates, so you can have a custom color theme for your app. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;3)  &lt;strong&gt;React Bootstrap&lt;/strong&gt; - The most &lt;strong&gt;popular front-end UI framework &lt;/strong&gt;rebuilt for React.  &lt;/h4&gt;
&lt;p&gt;React-Bootstrap replaces the Bootstrap JavaScript. Each component has been built from scratch as a true React component, without unneeded dependencies like jQuery. React Bootstrap is one of the oldest React UI libraries and has grown steadily with React itself. While React-Bootstrap doesn’t offer any official support, there is a massive, active community and plenty of resources supporting Bootstrap. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By: &lt;/strong&gt;&lt;a href="https://twitter.com/mdo?lang=en" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark Otto&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;, &lt;/strong&gt;&lt;a href="https://www.linkedin.com/in/jacob-thornton-13a6a5162" rel="noopener noreferrer"&gt;&lt;strong&gt;Jacob Thornton&lt;/strong&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
&lt;strong&gt;GitHub Stars: &lt;/strong&gt;19.7k &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://isgood.ai/" rel="noopener noreferrer"&gt;&lt;strong&gt;isgood.ai&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://initrode-it.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;initrode&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://chaskiq.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;Chaskiq&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bootstrap’s grid system allows fully responsive series of containers, rows, and columns for your layout. &lt;/li&gt;
&lt;li&gt;Choose between &lt;a href="https://react-bootstrap.github.io/components/alerts/" rel="noopener noreferrer"&gt;dozens of components&lt;/a&gt;, including badges, carousels, toasts, and jumbotrons. &lt;/li&gt;
&lt;li&gt;The React component model gives us more control over form and function of each component. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;4)  &lt;strong&gt;Semantic UI React&lt;/strong&gt; - The official plugin for Semantic UI &lt;/h4&gt;
&lt;p&gt;Semantic UI React is the official plugin for Semantic UI. The library boasts a collection of over fifty components, including segments, progress bars, transitions, pagination, and more. However, despite all of its unique features, if you do not have hands-on experience in JavaScript, you may find the library a bit complex.   &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By: &lt;/strong&gt;&lt;a href="https://www.linkedin.com/in/jacklukic" rel="noopener noreferrer"&gt;&lt;strong&gt;Jack Lukic&lt;/strong&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
&lt;strong&gt;GitHub Stars: &lt;/strong&gt;12.4k &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.lumeneo.com/" rel="noopener noreferrer"&gt;Lumeneo&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="http://hacker.works/" rel="noopener noreferrer"&gt;hacker.works&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://rev.io/" rel="noopener noreferrer"&gt;Rev.io&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Impressive customization and theming capabilities. &lt;/li&gt;
&lt;li&gt;Zero traces of any jQuery code, simplifying the application development. &lt;/li&gt;
&lt;li&gt;Wide collection of over 50 UI components for developers. &lt;/li&gt;
&lt;li&gt;Complete SUI component definition support. &lt;/li&gt;
&lt;li&gt;Simple declarative component APIs vs brittle HTML markup. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;5)  &lt;strong&gt;Chakra UI&lt;/strong&gt; - Simple, Modular &amp;amp; Accessible &lt;strong&gt;React UI Component&lt;/strong&gt;s for your React Applications   &lt;/h4&gt;
&lt;p&gt;Chakra UI provides a set of accessible, reusable, and composable &lt;strong&gt;R&lt;/strong&gt;eact UI components that make it easy to create websites and apps. Chakra UI components are built on top of a React UI&lt;strong&gt; &lt;/strong&gt;Primitive for endless composability. The community of Chakra UI is very active. You will get all the help required whenever you feel stuck. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By: &lt;/strong&gt;&lt;a href="https://twitter.com/thesegunadebayo?lang=en" rel="noopener noreferrer"&gt;Segun Adebayo&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
&lt;strong&gt;GitHub Stars: &lt;/strong&gt;19.6k &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://bonton.app/" rel="noopener noreferrer"&gt;&lt;strong&gt;Bonton&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://orbital.chat/" rel="noopener noreferrer"&gt;&lt;strong&gt;Orbital Chat&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://luggit.app/" rel="noopener noreferrer"&gt;&lt;strong&gt;LUGGit&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chakra UI contains a set of layout components like Box and Stack that make it easy to style your components by passing props. &lt;/li&gt;
&lt;li&gt;Most components in Chakra UI are dark mode compatible. &lt;/li&gt;
&lt;li&gt;Chakra UI components follows the WAI-ARIA guidelines specifications. &lt;/li&gt;
&lt;li&gt;You can use the same react component as much as you want and customize it for further use. &lt;/li&gt;
&lt;li&gt;Chakra UI library provides you modular&lt;strong&gt; &lt;/strong&gt;react UI components&lt;strong&gt; &lt;/strong&gt;that help in writing clean and optimal code. &lt;/li&gt;
&lt;li&gt;This library does not require any heavy set up to implement and is simple and easy to use.   &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;6) &lt;strong&gt;Blueprint&lt;/strong&gt; - A React-based UI toolkit for the web   &lt;/h4&gt;
&lt;p&gt;Blueprint is a newly open-sourced design system implemented as a collection of composable React components and optimized for desktop applications. This is not a mobile-first UI toolkit.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By: &lt;/strong&gt;&lt;a href="https://www.palantir.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Palantir&lt;/strong&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
&lt;strong&gt;GitHub Stars: &lt;/strong&gt;18k &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.onedot.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Onedot&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.allocate.co.uk/" rel="noopener noreferrer"&gt;&lt;strong&gt;Allocate&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://onvoard.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;OnVoard&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The React UI libraries has over forty components optimized in particular for complex data-dense interfaces for desktop applications. &lt;/li&gt;
&lt;li&gt;Contains many useful components like breadcrumbs, buttons, callouts, cards, dividers, navbars, tabs, tags, and much more. &lt;/li&gt;
&lt;li&gt;The library supports Chrome, Firefox, Safari, IE 11, and Microsoft Edge.  &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;7)  &lt;strong&gt;Grommet&lt;/strong&gt; - Focus on the essential experience &lt;/h4&gt;
&lt;p&gt;Grommet is a react-based framework that provides accessibility, modularity, responsiveness, and theming in a tidy package. Grommet is a component library designed for responsive, accessible, and mobile-first web projects. It even has a list of SVG icons.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By: &lt;/strong&gt;&lt;a href="https://www.hp.com/in-en/home.html" rel="noopener noreferrer"&gt;&lt;strong&gt;Hewlett Packard Enterprise&lt;/strong&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
&lt;strong&gt;GitHub Stars: &lt;/strong&gt;7.4k &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.netflix.com/in/" rel="noopener noreferrer"&gt;&lt;strong&gt;Netflix&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.uber.com/in/en/" rel="noopener noreferrer"&gt;&lt;strong&gt;Uber&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.boeing.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Boeing&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.hp.com/in-en/home.html" rel="noopener noreferrer"&gt;&lt;strong&gt;HP&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.samsung.com/in/" rel="noopener noreferrer"&gt;&lt;strong&gt;Samsung&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.twilio.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Twilio&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It embraces atomic design methods and allows for keyboard navigation, screen reader tags, and more. &lt;/li&gt;
&lt;li&gt;Powerful theming tools which lets you tailor the component library to align with your color, type, and layout needs. You can even control component interaction. &lt;/li&gt;
&lt;li&gt;Tailor composite components. &lt;/li&gt;
&lt;li&gt;Flexible layouts. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;8)  &lt;strong&gt;Evergreen&lt;/strong&gt; - React UI Framework by Segment &lt;/h4&gt;
&lt;p&gt;Evergreen contains a set of polished React UI components that work out of the box. It features a UI design language for enterprise-grade web applications.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By: &lt;/strong&gt;&lt;a href="https://segment.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Segment&lt;/strong&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
&lt;strong&gt;GitHub Stars: &lt;/strong&gt;10.9k &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
&lt;strong&gt;Dashboard, Stack&lt;/strong&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Evergreen contains a set of polished React UI components that work out of the box. &lt;/li&gt;
&lt;li&gt;Evergreen features a UI design language for enterprise-grade web applications. &lt;/li&gt;
&lt;li&gt;Evergreen has over 30 components which include buttons, filepickers, select menus, spinners, side sheets, tables, and more. &lt;/li&gt;
&lt;li&gt; They offer a figma library, and they are working on patterns for handling “Error Messages” and “Table Layouts”.    &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;9)  &lt;strong&gt;Fluent UI&lt;/strong&gt; - Microsoft UI Kit for Web, Mobile &amp;amp; Desktop App Development. &lt;/h4&gt;
&lt;p&gt;Fluent UI web represents a collection of utilities, React components, and web components for building web applications. It has Web Components and native libraries for iOS, macOS, Android, and Windows. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By: &lt;/strong&gt;&lt;a href="https://www.microsoft.com/en-us" rel="noopener noreferrer"&gt;&lt;strong&gt;Microsoft&lt;/strong&gt;&lt;/a&gt;  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Stars: &lt;/strong&gt;11.8k &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://trends.builtwith.com/websitelist/Fluent-UI/Historical" rel="noopener noreferrer"&gt;97&lt;/a&gt; websites use Fluent UI &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weekly Downloads on NPM: &lt;/strong&gt;53,498 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
&lt;a href="https://www.microsoft.com/en-us" rel="noopener noreferrer"&gt;&lt;strong&gt;Microsoft&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; It has components for building forms and lists but also offers very specific ones like a PeoplePicker for example. &lt;/li&gt;
&lt;li&gt;Good default styling capabilities without any code. &lt;/li&gt;
&lt;li&gt;Good flexibility and ability to customize the look and functionality of the components. &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;10)  &lt;strong&gt;Rebass&lt;/strong&gt; - React primitive UI components built with styled-system.   &lt;/h4&gt;
&lt;p&gt;Rebass is one of the best grid libraries that provides UI components, leaving the developer to focus only on page development. Rebass offers &lt;a href="https://rebassjs.org/recipes/" rel="noopener noreferrer"&gt;documentation on recipes&lt;/a&gt; for common use cases like grids, navbar, and image cards. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Developed By: &lt;/strong&gt;&lt;a href="https://twitter.com/jxnblk?lang=en" rel="noopener noreferrer"&gt;&lt;strong&gt;Brent Jackson&lt;/strong&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Statistics:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Stars: &lt;/strong&gt;7.4k &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weekly Downloads on NPM: &lt;/strong&gt;65,779 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Top companies using this:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.tourlane.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Tourlane&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.charlietango.dk/" rel="noopener noreferrer"&gt;&lt;strong&gt;Charlie Tango&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First-class support for theming &amp;amp; full compatibility with Theme UI. &lt;/li&gt;
&lt;li&gt;Quick, mobile-first responsive styles with array-based syntax. &lt;/li&gt;
&lt;li&gt;Flexbox layout with the Box and Flex components. &lt;/li&gt;
&lt;li&gt;Minimal footprint at about 4KB. &lt;/li&gt;
&lt;li&gt;Best-in-class developer ergonomics with &lt;a href="https://styled-system.com/" rel="noopener noreferrer"&gt;Styled System&lt;/a&gt; props.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;‍&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
