<?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: Roger Gay</title>
    <description>The latest articles on DEV Community by Roger Gay (@roger_gay_c60f7cbe4e6854c).</description>
    <link>https://dev.to/roger_gay_c60f7cbe4e6854c</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4176849%2F82a1dcd6-b52a-40a2-8ccd-cfbca072c3e3.jpg</url>
      <title>DEV Community: Roger Gay</title>
      <link>https://dev.to/roger_gay_c60f7cbe4e6854c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/roger_gay_c60f7cbe4e6854c"/>
    <language>en</language>
    <item>
      <title>Will Achieve v3 revolutionize Node development?</title>
      <dc:creator>Roger Gay</dc:creator>
      <pubDate>Sun, 11 Oct 2026 13:37:00 +0000</pubDate>
      <link>https://dev.to/roger_gay_c60f7cbe4e6854c/will-it-revolutionize-node-development-1jba</link>
      <guid>https://dev.to/roger_gay_c60f7cbe4e6854c/will-it-revolutionize-node-development-1jba</guid>
      <description>&lt;p&gt;I just released &lt;a href="https://www.npmjs.com/package/achieve" rel="noopener noreferrer"&gt;Achieve version 3 on npmjs&lt;/a&gt;: &lt;/p&gt;

&lt;p&gt;There’s a story behind it and a reason for the article title.&lt;/p&gt;

&lt;p&gt;Achieve is a standards-compliant, production-ready web server implemented on Node.js. If you’re familiar with the Node world, you are probably asking why.&lt;/p&gt;

&lt;p&gt;A Node beginner starts by learning about Node’s createServer() method and quite often is instructed to install Express, a framework on top of Node’s own API. Then you build from scratch, sort of. The Node ecosystem is filled with reusable components that make life easier for application developers. I use them too. It’s great. Express offers ways to make it easier to create some of the server infrastructure, but you will have to build it.&lt;/p&gt;

&lt;p&gt;The build from scratch part is the point here. createServer() does not create a web server in the traditional sense. Despite its name, it doesn’t serve anything. It isn’t even capable of finding assets that you want to have served. It’s a server object that ties Node’s ability to deliver requests to your DIY app. You take it from there.&lt;/p&gt;

&lt;p&gt;Node applications tend to involve building your own server plumbing with Node’s API and perhaps a framework too. Each part involves extra work and for beginners, a lengthy learning process. Then there are HTTP details and support that are not yet present, like routing, standard methods, CORS, logging, compression, browser caching support, and video streaming.&lt;/p&gt;

&lt;p&gt;This is not the way most web application developers do things. If you’re working in PHP, or Java, or C++ or other languages, you’ll normally install a server like Apache, NGINX, or Tomcat. You just create your web pages and write backend code that is specific to your application, without needing to build server infrastructure.&lt;/p&gt;

&lt;p&gt;Did you ask why I built Achieve? It wasn’t just because it seemed like a good idea, nor was I trying to revolutionize Node development. As a retiree, I taught programming and web development part-time at the local high school. I wanted a regular HTTP server for applications written in JavaScript, a language that students already knew or were learning. I wanted a server that is easy to use and almost fool-proof so that students could focus on things that the courses were meant to teach. So, I built one.&lt;/p&gt;

&lt;p&gt;And then I started using it, creating demonstrations and educational applications like an online test system. Achieve was good for me too. Easy to use, easy to write applications, reliable and efficient reusable server infrastructure. So, with time on my hands, version 3 was developed from a classroom tool to a full-fledged commercial-class web server.&lt;/p&gt;

&lt;p&gt;Will it move masses of Node developers from drudgerous hours recreating server infrastructure that other web developers simply install? I think it can if Node programmers learn that it’s possible and try it. And that would be at least a small revolution in Node development.&lt;/p&gt;

&lt;p&gt;Try it: &lt;a href="https://www.npmjs.com/package/achieve" rel="noopener noreferrer"&gt;Achieve version 3 on npmjs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>node</category>
      <category>webdev</category>
      <category>news</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
