<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Kasun Perera</title>
    <description>The latest articles on Forem by Kasun Perera (@kasuncodes).</description>
    <link>https://forem.com/kasuncodes</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%2F650698%2F36f633fc-79cc-4de5-91cd-f17ce647dec3.png</url>
      <title>Forem: Kasun Perera</title>
      <link>https://forem.com/kasuncodes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kasuncodes"/>
    <language>en</language>
    <item>
      <title>Introduction to Web 3.0</title>
      <dc:creator>Kasun Perera</dc:creator>
      <pubDate>Sun, 12 Jun 2022 11:34:42 +0000</pubDate>
      <link>https://forem.com/kasuncodes/introduction-to-web-30-30gb</link>
      <guid>https://forem.com/kasuncodes/introduction-to-web-30-30gb</guid>
      <description>&lt;p&gt;If you're reading this, you have come across the word &lt;strong&gt;"Web 3.0"&lt;/strong&gt; and trying to participate in the modern web. The internet is constantly changing as the technology advanced, and the internet we are experiencing today is going through a significant paradigm shift.&lt;/p&gt;

&lt;p&gt;In this article, I will explain how the web has evolved, "what is web 3.0?", and why it matters to us.&lt;/p&gt;

&lt;p&gt;As the name suggests, Web 3.0 is the third and latest phase of the internet, and Web 1.0 and Web 2.0 are the previous phases. There're unique defining characteristics for these shifts in the history of the internet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwc9b2cydx99oc11oxuch.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwc9b2cydx99oc11oxuch.png" alt="web_evolution_kasun_codes" width="800" height="496"&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Web 1.0
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Read-Only (1990-2004)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43e5109hqu5l9bw0bdko.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43e5109hqu5l9bw0bdko.png" alt="web_1_kasun_codes" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Web 1.0 was the web's initial version, and this era's main feature was providing information. The participants were consumers of the content, and the developers who built websites were the creators. The websites contained information mainly in text or image format.&lt;/p&gt;

&lt;p&gt;The Web 1.0 experience lacked interactive elements and served static content instead of dynamic content. You can consider Web 1.0 as the read-only (static) web.&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Web 2.0
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Read-Write (2004-now)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpqm4vi2w33821bgs11j9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpqm4vi2w33821bgs11j9.png" alt="web_2_kasun_codes" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Web 2.0 is the current phase of the web that we have primarily experienced. With the rise of social media platforms, the internet shifted towards a dynamic web experience instead of a static nature.&lt;/p&gt;

&lt;p&gt;In the Web 2.0 world, anyone can participate in content creation since most apps are built in a way that easily allows one to be a creator. Users can interact, write their content, and share it with an audience instead of only consuming the information.&lt;/p&gt;

&lt;p&gt;Along with being dynamic,  another prominent characteristic of Web 2.0 is centralization. This means the big tech giants/social media companies own our content and personal data as we create content and interact with their platforms. We're the original data owners, but they monetize personal information for advertisements and can shut down anything anytime.&lt;/p&gt;

&lt;p&gt;Web 2.0 is great in most ways, but transparency, privacy, and single point of failure are some main issues we have to deal with Web 2.0 world. These issues arise from a centralized nature and are the main concerns currently driving the shift toward Web 3.0. So what exactly is Web 3.0?&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Web 3.0
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Read-Write-Own (The Future?)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiw8e7v3re0craurtdk2z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiw8e7v3re0craurtdk2z.png" alt="web_3_kasun_codes" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Web 3.0 is the future iteration of the internet that aims to solve the issues in Web 2.0 by decentralization. This next generation of the internet is powered by blockchain technology and cryptocurrency. The aim of Web 3.0 is to provide users ownership and control over their data.&lt;/p&gt;

&lt;p&gt;From what we've discussed so far, the main idea of Web 3.0 is to keep data decentralized using the blockchain instead of centralized in servers, as is the general practice of Web 2.0.&lt;/p&gt;

&lt;p&gt;Moreover, another main component of Web 3.0 is dApps. As the name suggests, dApps are essentially decentralized applications. Web 2.0 applications run and store data on centralized servers and databases (usually hosted and managed on a single cloud service provider). Instead, Web 3.0 applications (dApps) run on blockchains, decentralized networks of peer-to-peer nodes.&lt;/p&gt;

&lt;p&gt;The followings are the main characteristics of Web 3.0:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Decentralized:&lt;/strong&gt; Ownership gets distributed among its builders and users instead of the centralized cooperations that controlled and owned the most of internet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Permissionless:&lt;/strong&gt; No one gets excluded or banned since everyone has equal access to the Web 3.0 world.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trustless:&lt;/strong&gt; It doesn't depend on trusted third parties to operate. It uses incentives and other economic mechanisms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native Built-In payments:&lt;/strong&gt; Instead of depending on the complex and strict infrastructure of banks and payment processors, it uses cryptocurrency for spending and sending money online.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why does it matter?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Ownership
&lt;/h3&gt;

&lt;p&gt;In the Web 3.0 world, it allows for direct ownership of your assets through non-fungible tokens (NFTs). Once you stop participating in the platforms, you can trade or sell your in-platform items on open markets and regain their value. No one, not even the platform owners, has the power to take away your ownership.&lt;/p&gt;

&lt;p&gt;E.g., In a Web 2.0 game, if you purchase an in-game item, it is bound to your game's account. If the game creators decide to delete or ban your account, you will lose all the valuable things you have purchased within the game. Also, you can lose the value you invested into the game if you stop playing the game. But in Web 3.0 games, your assets are tied into you through NFTs that no one has the power to take them down.&lt;/p&gt;

&lt;h3&gt;
  
  
  Censorship Resistance
&lt;/h3&gt;

&lt;p&gt;In Web2.0 platforms, users can't freely share their content because they have to obey the rules that platforms have. Sometimes they remove the posts and ban accounts when the users don't follow their policies or when they change their policies. In this kind of scenario, all the reputation a creator earns within the platform will be gone. So there's a massive imbalance between the platforms and content creators.&lt;/p&gt;

&lt;p&gt;But on Web3.0, you can take your reputation with you when you leave the platform as your data lives on the blockchain. So you don't have to depend on the platforms, and censorship resistance is a native feature of Web 3.0 platforms.&lt;/p&gt;

&lt;h3&gt;
  
  
  Identity
&lt;/h3&gt;

&lt;p&gt;In the Web 2.0 world, it uses OAuth or email + password as authentication methods, and you almost always have to hand over personal information to create accounts. You would create an account for every platform you use. If you want to change the display name or profile picture, you have to do it across every account. Also, these platforms can lock you out of your entire online life with a single click.&lt;/p&gt;

&lt;p&gt;The identity works differently in Web 3.0, and identities will be bound to the wallet addresses of the user. The wallet address is entirely anonymous unless the user decides to attach their identity to it publicly. Users can use the same wallet across multiple platforms (dApps), and their identity is transferrable. It helps them to build their reputation over time.&lt;/p&gt;

&lt;p&gt;In Web 3.0, you have a single login across platforms that is secure, anonymous, and censorship-resistant.&lt;/p&gt;

&lt;h3&gt;
  
  
  Native Payments
&lt;/h3&gt;

&lt;p&gt;Web 2.0 payments depend on the banks and other payment processors, excluding people without bank accounts or those who live in the wrong country. Also, they ask for personal information to set up accounts and take longer transaction times when sending money.&lt;/p&gt;

&lt;p&gt;Web 3.0 uses cryptocurrencies to simplify these processes, and you can send money directly in the browser without needing a trusted third party.&lt;/p&gt;

&lt;h3&gt;
  
  
  Decentralized Autonomous Organizations (DAOs)
&lt;/h3&gt;

&lt;p&gt;A DAO is a community-led entity with no central authority. It lets you coordinate decentralized ownership of a platform and make decisions about its future. DAOs are fully autonomous and transparent. This is a new way of building companies in Web 3.0.&lt;/p&gt;

&lt;p&gt;Imagine that a new project is announced that solves a real problem, and anyone can participate from day one. Either you can be an investor or a builder of this project. The community state to release n number of tokens and give 15% to the early builders, put another 15% for sale to the public (Same as the stocks in companies) and keep the rest for future contributors and funding of the project. Token owners can use their tokens to vote on the project's future changes or sell their holdings to make money. If someone believes in the project, they can buy and hold ownership of it, and if the project is heading in the wrong way, they can signal it by selling their tokens. This is in contrast to purchasing equity in private or centralized businesses. The purchasers have complete transparency over the project because blockchain data are entirely public and open.&lt;/p&gt;

&lt;p&gt;This is already happening in the Web 3.0 space. For example, &lt;a href="https://gitcoin.co/" rel="noopener noreferrer"&gt;Gitcoin&lt;/a&gt; allows developers to get paid in cryptocurrency for working on Open Source issues.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Decentralized Future
&lt;/h2&gt;

&lt;p&gt;There are numerous benefits of Web 3.0 in its current form, but the ecosystem must address many limitations like accessibility and user experience for it to grow. &lt;/p&gt;

&lt;p&gt;The Web 3.0 ecosystem is young and quickly evolving. So, this is an &lt;a href="https://www.freecodecamp.org/news/breaking-into-ethereum-crypto-web3-as-a-developer/" rel="noopener noreferrer"&gt;excellent article&lt;/a&gt; to check out if you want to break into Web 3.0 development. &lt;/p&gt;

</description>
      <category>web3</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>Introduction to Node.js</title>
      <dc:creator>Kasun Perera</dc:creator>
      <pubDate>Sun, 20 Jun 2021 17:17:54 +0000</pubDate>
      <link>https://forem.com/kasuncodes/introduction-to-node-js-2d5a</link>
      <guid>https://forem.com/kasuncodes/introduction-to-node-js-2d5a</guid>
      <description>&lt;p&gt;&lt;strong&gt;Node.js is a runtime environment&lt;/strong&gt; for executing &lt;strong&gt;JavaScript&lt;/strong&gt; code outside of a browser. &lt;/p&gt;

&lt;p&gt;Before Node.js, JavaScript has long been used in web pages and run only by browsers. But now we can execute JavaScript code without a browser with the help of &lt;strong&gt;Node.js&lt;/strong&gt; which is built on &lt;strong&gt;Chrome’s V8 JavaScript engine.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here’s a formal definition as given on the &lt;a href="https://nodejs.org/" rel="noopener noreferrer"&gt;nodejs.org&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhjm1wsvoouuf3961waot.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhjm1wsvoouuf3961waot.jpg" alt="Node.js - JavaScript Runtime" width="700" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Node is ideal for building highly scalable, data-intensive, and real-time back-end services.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's so special about Node.js?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Node.js is easy to get started and can be used for prototyping and agile development.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript everywhere. If you're a front-end developer who knows JavaScript, you can easily get started Node.js without learning a new programming language.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It also can be used for building superfast &amp;amp; highly scalable services. Node is used in production by large companies like Netflix, Uber, PayPal &amp;amp;, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Node.js has the largest ecosystem of open-source libraries. There're a lot of free open source libraries out there that we can use to build our services.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Simple Node.js program.
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;First install node on your machine. There are many tutorials online to guide the installation based on your operating system.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Once you have installed Node.js, Create a file named &lt;strong&gt;server.js&lt;/strong&gt; containing the following contents:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;http&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;http&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;hostname&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;127.0.0.1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;port&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3002&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;server&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createServer&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;statusCode&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setHeader&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;text/plain&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;end&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello World&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="nx"&gt;server&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;listen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;port&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;hostname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Server running at http://&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;hostname&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;:&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;port&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now open your terminal, change the directory to the folder where the file is saved and run &lt;strong&gt;node server.js&lt;/strong&gt; to start your &lt;strong&gt;web server.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now, visit &lt;a href="http://localhost:3002" rel="noopener noreferrer"&gt;http://localhost:3002&lt;/a&gt; and you will see a message saying "Hello World".&lt;/p&gt;

&lt;p&gt;Cool! you’ve just written &lt;strong&gt;Hello World&lt;/strong&gt; in Node.js.&lt;/p&gt;

&lt;p&gt;Refer &lt;a href="https://nodejs.dev/learn" rel="noopener noreferrer"&gt;official documentation&lt;/a&gt; for a more comprehensive guide to getting started with Node.js.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here's the Node.js timeline so far:
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;(source: &lt;a href="https://nodejs.dev/learn/a-brief-history-of-nodejs" rel="noopener noreferrer"&gt;nodejs.dev&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  2009
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Node.js is born&lt;/li&gt;
&lt;li&gt;The first form of &lt;a href="https://www.npmjs.com/" rel="noopener noreferrer"&gt;npm&lt;/a&gt; is created&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2010
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://expressjs.com/" rel="noopener noreferrer"&gt;Express&lt;/a&gt; is born&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://socket.io/" rel="noopener noreferrer"&gt;Socket.io&lt;/a&gt; is born&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2011
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;npm hits version 1.0&lt;/li&gt;
&lt;li&gt;Larger companies start adopting Node.js: LinkedIn, Uber, etc.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hapijs.com/" rel="noopener noreferrer"&gt;hapi&lt;/a&gt; is born&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2012
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Adoption continues very rapidly&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2013
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;First big blogging platform using Node.js: &lt;a href="https://ghost.org/" rel="noopener noreferrer"&gt;Ghost&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://koajs.com/" rel="noopener noreferrer"&gt;Koa&lt;/a&gt; is born&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2014
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The Big Fork: &lt;a href="https://iojs.org/" rel="noopener noreferrer"&gt;io.js&lt;/a&gt; is a major fork of Node.js, with the goal of introducing ES6 support and moving faster&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2015
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://foundation.nodejs.org/" rel="noopener noreferrer"&gt;Node.js Foundation&lt;/a&gt; is born&lt;/li&gt;
&lt;li&gt;IO.js is merged back into Node.js&lt;/li&gt;
&lt;li&gt;npm introduces private modules&lt;/li&gt;
&lt;li&gt;Node.js 4 (versions 1, 2 and 3 never previously released)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2016
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm" rel="noopener noreferrer"&gt;leftpad incident&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://yarnpkg.com/en/" rel="noopener noreferrer"&gt;Yarn&lt;/a&gt; is born&lt;/li&gt;
&lt;li&gt;Node.js 6&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2017
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;npm focuses more on security&lt;/li&gt;
&lt;li&gt;Node.js 8&lt;/li&gt;
&lt;li&gt;HTTP/2&lt;/li&gt;
&lt;li&gt;V8 introduces Node.js in its testing suite, officially making Node.js a target for the JS engine, in addition to Chrome&lt;/li&gt;
&lt;li&gt;3 billion npm downloads every week&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2018
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Node.js 10&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://nodejs.org/api/esm.html" rel="noopener noreferrer"&gt;ES modules&lt;/a&gt;.mjs experimental support&lt;/li&gt;
&lt;li&gt;Node.js 11&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2019
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Node.js 12&lt;/li&gt;
&lt;li&gt;Node.js 13&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2020
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Node.js 14&lt;/li&gt;
&lt;li&gt;Node.js 15&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2021
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Node.js 16&lt;/li&gt;
&lt;/ul&gt;

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