<?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: Kelvin Conrad</title>
    <description>The latest articles on DEV Community by Kelvin Conrad (@klvncruger).</description>
    <link>https://dev.to/klvncruger</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%2F370421%2F57bde270-83fe-4555-a5aa-b516986e49f6.png</url>
      <title>DEV Community: Kelvin Conrad</title>
      <link>https://dev.to/klvncruger</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/klvncruger"/>
    <language>en</language>
    <item>
      <title>Is node js Dead - Long Live Deno</title>
      <dc:creator>Kelvin Conrad</dc:creator>
      <pubDate>Mon, 25 May 2020 10:19:00 +0000</pubDate>
      <link>https://dev.to/klvncruger/is-node-js-dead-long-live-deno-224e</link>
      <guid>https://dev.to/klvncruger/is-node-js-dead-long-live-deno-224e</guid>
      <description>&lt;p&gt;&lt;strong&gt;Node.js&lt;/strong&gt; is certainly not dead, but the hype is over. As of 2019, all of Node’s innovations (non-blocking I/O, same language on front-end and backend) are copied and even made better by other languages. It is hard to find any use cases where there are no better alternatives&lt;br&gt;
&lt;strong&gt;Deno&lt;/strong&gt; is a new platform for writing applications using JavaScript and TypeScript.&lt;/p&gt;

&lt;p&gt;Both platforms share the same philosophy – event-driven architecture and asynchronous non-blocking tools to build web servers and services. The author of Deno is Ryan Dahl, original creator of Node.js. In 2018, he gave the famous talk “10 Things I Regret About Node.js“ and announced his new project – Deno. Deno aims to fix Node.js design mistakes and offers a new modern development environment&lt;/p&gt;

&lt;h1&gt;
  
  
  What’s wrong with Node.js?
&lt;/h1&gt;

&lt;p&gt;The most important thing first: Nothing is wrong with Node.js. You can use it and you should not switch to Deno just because it’s there.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---fLAPyUi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1160/1%2AKiEL6bx56Uvg5kXIU_SzMA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---fLAPyUi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/1160/1%2AKiEL6bx56Uvg5kXIU_SzMA.png" alt="Deno"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Node.js is getting used by thousands of (very large) companies, it has huge ecosystem and a highly active community - Node.js isn’t going anywhere!&lt;/p&gt;

&lt;p&gt;You don’t have to take this from me by the way - you can also listen to Ryan.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"But there are a couple of weaknesses in Node.js which could potentially be improved (side-note: Those weaknesses of course don’t necessarily have to matter to you)."&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Node.js is focused on JavaScript and doesn’t (natively) use static types
The import syntax is very specific to Node.js and not what we know from the browser (ES modules, URL imports)&lt;/li&gt;
&lt;li&gt;Node.js does not embrace modern JavaScript features like Promises&lt;/li&gt;
&lt;li&gt;Node.js is not “secure by default”
The last point is a tricky one though. “not secury by default” sounds horrible and it’s easy to get this point wrong.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Node.js absolutely allows you to build secure applications. Period!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BUT:&lt;/strong&gt; A Node script doesn’t have a built-in security model. To be precise, by default, every Node script has full access to your file system, your network and your entire environment.&lt;/p&gt;

&lt;p&gt;This is by design and makes Node.js very flexible. But it also means that tools like ESLint, which are just “big Node.js scripts” under the hood, theoretically could do anything with your files on your system.&lt;/p&gt;

&lt;h1&gt;
  
  
  How does Deno fix those problems?
&lt;/h1&gt;

&lt;p&gt;Deno generally can be used for the same things as Node.js. You can use it to build web servers, you can use it to build utility scripts etc.&lt;/p&gt;

&lt;p&gt;But Deno:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;By default supports TypeScript - hence it’s a JavaScript and TypeScript runtime&lt;/li&gt;
&lt;li&gt;Uses ES modules (with URL support) imports instead of its own module system&lt;/li&gt;
&lt;li&gt;Embraces modern JavaScript features like Promises or async iterables&lt;/li&gt;
&lt;li&gt;Is “secure by default”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s take a closer look at those points then.&lt;/p&gt;

&lt;h1&gt;
  
  
  TypeScript Support
&lt;/h1&gt;

&lt;p&gt;You can absolutely write normal JavaScript code with Deno - but if you want, you can also switch to TypeScript at any point as the TypeScript compiler is built right into Deno.&lt;/p&gt;

&lt;p&gt;For example, this code would fail when executed with Node.js but works with Deno:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HcnLyFxt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/McXhN8k/deno-1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HcnLyFxt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/McXhN8k/deno-1.png" alt="Deno code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The usage of TypeScript of course gives you extra type safety and might help you avoid a lot of unnecessary bugs.&lt;/p&gt;

&lt;p&gt;As mentioned, it’s optional but if you want to use it, you don’t have to set up your own custom TypeScript project and compilation flow first.&lt;/p&gt;

&lt;h1&gt;
  
  
  ES Modules Imports
&lt;/h1&gt;

&lt;p&gt;Node.js brings its own modules system:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vCPnr2p2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/YT5SmcN/1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vCPnr2p2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/YT5SmcN/1.png" alt="Node"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We got used to it but it’s very different from what we know in the browser:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JR7XD-yd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/GsZSZJz/2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JR7XD-yd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/GsZSZJz/2.png" alt="Node"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;or - directly in HTML of course:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hIV9fxDt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/f8SHkwD/3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hIV9fxDt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/f8SHkwD/3.png" alt="Node"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the browser, we use relative or absolute URLs. We don’t sometimes use module names and sometimes file paths (both is done in Node).&lt;/p&gt;

&lt;p&gt;In addition, in Node projects, we use npm to manage our local packages. This tool downloads them and stores them (as well as their dependencies) in the node_modules folder.&lt;/p&gt;

&lt;p&gt;This folder can easily become very big and it’s actually an important part of Node’s module resolution system. Indeed, the following code relies on express existing as a package in node_modules - it would fail if it would be a simple express.js file or anything like that.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--J1Wn7y8K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/VBk5Jw6/4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J1Wn7y8K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/VBk5Jw6/4.png" alt="Node"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Deno simplifies this. You simply work with ES Module imports (i.e. the syntax you know from browser-side JavaScript) and it doesn’t need a package managing tool or folder like npm/node_modules.&lt;/p&gt;

&lt;p&gt;Instead, your Deno code looks like this:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oAJtzi-q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Pc7Z10w/5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oAJtzi-q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Pc7Z10w/5.png" alt="Deno"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This imports the serve function from the server.ts package which is stored on some web server.&lt;/p&gt;

&lt;p&gt;Deno automatically downloads and caches this package (and its dependencies) when your code runs for the first time.&lt;/p&gt;

&lt;h1&gt;
  
  
  Modern JavaScript Features
&lt;/h1&gt;

&lt;p&gt;Node.js works a lot with callback functions - simply because at the point of time it was created, modern JS functionalities like Promises weren’t as important and big (and common) as they are today.&lt;/p&gt;

&lt;p&gt;Deno, being very new, of course is able to work around that and leverage all those modern features.&lt;/p&gt;

&lt;p&gt;Hence you can for example spin up a very simple web server with the following code snippet that leverages “async iterables” &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of"&gt;What is that&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--54liN_Go--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Zd03D0Z/6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--54liN_Go--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Zd03D0Z/6.png" alt="Deno"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just as a comparison, here’s pretty much the same server, built with Node.js:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PasiIYpn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/n8bSnR6/7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PasiIYpn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/n8bSnR6/7.png" alt="Node"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Security
&lt;/h1&gt;

&lt;p&gt;As mentioned, Deno has “security built in”.&lt;/p&gt;

&lt;p&gt;And this does not mean that your Deno applications are always secure, no matter what you do!&lt;/p&gt;

&lt;p&gt;This just means that Deno scripts can’t do everything on your computer by default.&lt;/p&gt;

&lt;p&gt;For example, if you run the above server script, you’ll get an error message:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VxnJ2Itd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Y2Bfywj/8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VxnJ2Itd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Y2Bfywj/8.png" alt="cmd"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0yRCkkmj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://academind.com/static/035caa97d731ece48ee465ea394e060d/4b190/deno-error.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0yRCkkmj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://academind.com/static/035caa97d731ece48ee465ea394e060d/4b190/deno-error.jpg" alt="Error"&gt;&lt;/a&gt;&lt;br&gt;
The script only executes successfuly once you use the right permissions:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--H0_CynZJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Z2Xt2MM/9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--H0_CynZJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/Z2Xt2MM/9.png" alt="Script"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this case, --allow-net provides network access to the script. Similar permission flags exist for writing (--allow-write) and reading (--allow-read) files for example.&lt;/p&gt;

&lt;h1&gt;
  
  
  So … should you switch?
&lt;/h1&gt;

&lt;p&gt;This doesn’t sound too bad, does it?&lt;/p&gt;

&lt;p&gt;But it’s also very possible, that you have a look at this list of new features and you think: “This is nice but I don’t hate those things about Node.js”.&lt;/p&gt;

&lt;p&gt;And that would be understandable, too.&lt;/p&gt;

&lt;p&gt;Either way: Deno is extremely new. Version 1.0 was released on May 13th 2020. And just because it’s v1.0 does not mean that it’s finished and you should use it for your production apps.&lt;/p&gt;

&lt;p&gt;It’s still very new and under active development. And it’s also way too early to tell whether it’ll ever be a “big thing”.&lt;/p&gt;

&lt;p&gt;You can of course play around with it, dive into it and its ecosystem of packages and use it in your side projects or in demos and smaller apps.&lt;/p&gt;

&lt;p&gt;The goal of Deno is not to replace Node.js, but to offer an alternative. Some of the differences are quite controversial and it’s hard to predict if they will format in a correct way. I recommend that all Node.js programmers keep an eye on this project. I’m not sure if this project will be a success, but it’s a great opportunity to observe how Node.js could have been implemented differently.&lt;/p&gt;

&lt;p&gt;But only time will tell if it’ll be adopted by bigger companies and projects and if the problems, which it fixes, are really problems with Node.js for the majority of other developers as well.&lt;/p&gt;

&lt;p&gt;What are your Thoughts About Deno&lt;/p&gt;

</description>
      <category>deno</category>
      <category>node</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Postwoman 👽 - An online, open source API request builder Alternative to Postman</title>
      <dc:creator>Kelvin Conrad</dc:creator>
      <pubDate>Fri, 22 May 2020 16:18:32 +0000</pubDate>
      <link>https://dev.to/klvncruger/postwoman-an-online-open-source-api-request-builder-alternative-to-postman-380a</link>
      <guid>https://dev.to/klvncruger/postwoman-an-online-open-source-api-request-builder-alternative-to-postman-380a</guid>
      <description>&lt;p&gt;&lt;strong&gt;PostWoman&lt;/strong&gt; is a Web alternative to Postman - Helps you create requests faster, saving precious time on development which is also an opensource API request builder&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmadewithnetwork.ams3.cdn.digitaloceanspaces.com%2Fspatie-space-production%2F9820%2Fpostwoman.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmadewithnetwork.ams3.cdn.digitaloceanspaces.com%2Fspatie-space-production%2F9820%2Fpostwoman.jpg" alt="Postwoman"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://postwoman.io/" rel="noopener noreferrer"&gt;Website&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Built with 🔧
&lt;/h2&gt;

&lt;h4&gt;
  
  
  - Chromium - Thanks for being so fast!
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - HTML - For the web framework
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - CSS - For styling components
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - JavaScript - For magic!
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Vue - To add to the JavaScript magic!
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Nuxt - To add to the Vue magic!
&lt;/h4&gt;

&lt;p&gt;Postwoman developer&lt;br&gt;
-by- &lt;strong&gt;liyas Thomas&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;-How it all Started-&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Story behind Postwoman:&lt;/strong&gt; The very first task I was assigned is an API integration of an old project. That's when I came across Postman API testing. Postman has separate builds targeted to each operating systems made with Electron. I use a low-end PC and can't possibly afford to run another Electron app. From that moment onwards, I wanted to make an API testing platform which is:&lt;/p&gt;

&lt;h4&gt;
  
  
  - Open Sourced 💚
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Runs online
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Have multi-platform support
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Have multi-device support
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Accessible from anywhere
&lt;/h4&gt;

&lt;p&gt;That's how Postwoman was born (this is not at all an alternative to Postman - yet, it does the job very beautifully and minimally. It needs more features and love which I hope we all can give by contributions on GitHub).&lt;/p&gt;

&lt;p&gt;When I did a background check on API request builders, Postman offered various Plans &amp;amp; Pricing, there were lot of other API request builders based on CURL etc. But none of them seems simple, minimal and efficient.&lt;/p&gt;

&lt;p&gt;That's why I created my own API request builder with pure JavaScript (Later I used Vue.js and apparently migrated to Nuxt.js) + HTML + CSS 💖&lt;/p&gt;

&lt;p&gt;Did I mention this service is all free of charge and 100% open source? Yes, It's free and always will be.&lt;/p&gt;

&lt;p&gt;The Postwoman API request builder helps you create your requests faster, saving you precious time on your development.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.saashub.com%2Fimages%2Fapp%2Fscreenshots%2F66%2Fbb6c7648355f%2Flanding-medium.jpg%3F1567653672" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.saashub.com%2Fimages%2Fapp%2Fscreenshots%2F66%2Fbb6c7648355f%2Flanding-medium.jpg%3F1567653672" alt="Postwoman"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Features&lt;/strong&gt; 🔥
&lt;/h2&gt;

&lt;h4&gt;
  
  
  - Send requests to verify your API is ready for launch
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH (more coming soon)
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Authentication support
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Parameters support
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Request body support
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - View Response
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Progressive Web App support
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - &lt;strong&gt;UPDATE:&lt;/strong&gt; Added History support
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - &lt;strong&gt;UPDATE:&lt;/strong&gt; Migrated to Vue Nuxt
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - &lt;strong&gt;UPDATE:&lt;/strong&gt; Added web socket support
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - &lt;strong&gt;UPDATE:&lt;/strong&gt; Added raw input field for PUT and POST methods
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - &lt;strong&gt;UPDATE:&lt;/strong&gt; Added response status color
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - &lt;strong&gt;UPDATE:&lt;/strong&gt; Added theme customization with settings storage
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - &lt;strong&gt;UPDATE:&lt;/strong&gt; Added option to copy response to clipboard
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - &lt;strong&gt;UPDATE:&lt;/strong&gt; Added option to view/copy HTML preview of responses
&lt;/h4&gt;

&lt;p&gt;(more coming soon)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvanila-community-proxy.imgix.net%2Fhttps%253A%252F%252Fthepracticaldev.s3.amazonaws.com%252Fi%252Fwq1afap81izywhg8fip0.png%3Fexpires%3D1589414400000%26ixlib%3Djs-1.2.1%26s%3Dff8be4424f4e39b59f8a1fc4df19e9ac" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvanila-community-proxy.imgix.net%2Fhttps%253A%252F%252Fthepracticaldev.s3.amazonaws.com%252Fi%252Fwq1afap81izywhg8fip0.png%3Fexpires%3D1589414400000%26ixlib%3Djs-1.2.1%26s%3Dff8be4424f4e39b59f8a1fc4df19e9ac" alt="Postwoman"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Features planned for near future for which &lt;a href="https://github.com/liyasthomas/postwoman" rel="noopener noreferrer"&gt;I need your help:&lt;/a&gt;
&lt;/h2&gt;

&lt;h4&gt;
  
  
  - Autocomplete
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Code highlight in response body~ UPDATE: Added code highlight on response body
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - More methods
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - History UPDATE: Added History support
&lt;/h4&gt;

&lt;p&gt;HTTP support (currently I don't have money to buy a domain so I hosted on &lt;a href="https://github.com/liyasthomas/postwoman" rel="noopener noreferrer"&gt;GitHub Pages&lt;/a&gt; which is served only on HTTPS - this makes impossible to make non-HTTPS requests from HTTPS hosting 😿)&lt;br&gt;
🎁 Bonus: Postwoman is in dark mode 🌚&lt;/p&gt;

&lt;p&gt;&lt;a href="https://postwoman.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;Demo&lt;/strong&gt; 🚀&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Feel free to contribute on &lt;a href="https://github.com/liyasthomas/postwoman" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; 💚
&lt;/h4&gt;

</description>
      <category>api</category>
      <category>postman</category>
      <category>opensource</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How To learn any front-end framework</title>
      <dc:creator>Kelvin Conrad</dc:creator>
      <pubDate>Fri, 22 May 2020 15:44:00 +0000</pubDate>
      <link>https://dev.to/klvncruger/how-to-learn-any-front-end-framework-3em4</link>
      <guid>https://dev.to/klvncruger/how-to-learn-any-front-end-framework-3em4</guid>
      <description>&lt;p&gt;SUPPOSE You decided to learn x framework, You open youtube or any search engine you prefer to search for any tutorials related to this “x” framework and suddenly after 30 min you scream “Eureka”, I think this framework is similar to my previous framework and you are right you don’t have to learn it from scratch, In this post I will show to you my experience to learn frontend frameworks and how those frameworks are closed to each other.&lt;/p&gt;

&lt;p&gt;Every time you decided to learn a front end framework, you must hear those terms over and over ( components, routing and managing state ) Let’s break it down.&lt;/p&gt;

&lt;h2&gt;
  
  
  Components
&lt;/h2&gt;

&lt;p&gt;The heart core for any framework building components makes it reusable.&lt;br&gt;
Most modern frameworks using JSX or HTML template engine,&lt;br&gt;
All frameworks provided lifecycle hooks that provide visibility into component life moments like creates, renders, destroy and the ability to act when they occur.&lt;br&gt;
Routing&lt;br&gt;
Nowadays most modern frameworks provided API to create and manage client-side routing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Managing State
&lt;/h2&gt;

&lt;p&gt;All freameworks are built with a way for components to internally manage their state without any need for an external library or tool.&lt;br&gt;
Many Frameworks are built with a way for components to share same state for example (Angular has a Service, React now has Context API).&lt;br&gt;
Sometimes frameworks solutions are not enough especially when your state is huge so you can consider using a library like redux.&lt;br&gt;
After Finishing learning basics let’s get our hands dirty and building projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building projects
&lt;/h2&gt;

&lt;p&gt;In order to understand aspects of something you need to know it well and this knowledge does not come from reading books or watching visual lessons only, the real test comes with a real problem in real life, during this article I bring you some ideas for projects covering many aspects of any frontend framework you choose.&lt;/p&gt;

&lt;h2&gt;
  
  
  Notes:
&lt;/h2&gt;

&lt;p&gt;The projects listed in this subject are gradual in their difficulty and each project adds to its predecessor.&lt;br&gt;
The order of projects from the youngest to the most comprehensive.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Find &amp;amp; Display ( clone )
&lt;/h2&gt;

&lt;p&gt;The first application which is commonly used is the clone of any known site using its public API, try to build a simple search bar with drop-down list holds results coming from endpoint API, check returning data before displaying it like if there is an image or not to display.&lt;/p&gt;

&lt;p&gt;Endpoint API Example:&lt;/p&gt;

&lt;h4&gt;
  
  
  - Github API
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - OMDb API
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - Spotify Web API
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - wunderground API
&lt;/h4&gt;

&lt;h4&gt;
  
  
  - reddit API
&lt;/h4&gt;

&lt;h3&gt;
  
  
  What you will learn:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Using HTTP client to make a request to endpoint API.&lt;/li&gt;
&lt;li&gt;Using keyboard event listener, for example, once a user hit enter call -endpoint API to fetch result data.&lt;/li&gt;
&lt;li&gt;Learn how to display single data or group of data.&lt;/li&gt;
&lt;li&gt;Styling your display with Interpolation data.&lt;/li&gt;
&lt;li&gt;Structural your display.&lt;/li&gt;
&lt;li&gt;Master-Details: list results add a link for each item in result to the item 
details page.&lt;/li&gt;
&lt;li&gt;Learn how to pass data from master page to a details page.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Auth App
&lt;/h2&gt;

&lt;p&gt;some of this endpoint API I mention in the previous section require some authentication so in this section try to add or build another app with login /register page and if the user is login redirect him or her to the user homepage and prevent guest users from pages that require the user to be logged in.&lt;/p&gt;

&lt;h3&gt;
  
  
  What you will learn:
&lt;/h3&gt;

&lt;p&gt;Route guard: some pages require authenticated user only.&lt;br&gt;
How to send and save JWT (JSON web token) to make requests that require an authenticated use.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. CRUD App
&lt;/h2&gt;

&lt;p&gt;create, read, update and delete app is the most popular front-end app in this section you can build this app offline using local storage or using online service like Firebase or even integrated it with a back-end framework.&lt;/p&gt;

&lt;h1&gt;
  
  
  Project Examples:
&lt;/h1&gt;

&lt;h4&gt;
  
  
  -Bookmark app.
&lt;/h4&gt;

&lt;h4&gt;
  
  
  -To-Do App.
&lt;/h4&gt;

&lt;h3&gt;
  
  
  What you will learn:
&lt;/h3&gt;

&lt;p&gt;Validate user input in form and display error if the user inserts wrong data.&lt;br&gt;
How to make put, delete, post and get HTTP request.&lt;br&gt;
Integrate your app with any back-end framework.&lt;br&gt;
Try to add auth capabilities for your back-end framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Chat App
&lt;/h2&gt;

&lt;p&gt;In previous sections, all the requests to the back-end are unidirectional you don’t have a problem managing your app state there, but in this section, we try to build chat app using web sockets and it’s bidirectional and we can’t wait for the response to update the view, we need another way to manage our client-side state.&lt;/p&gt;

&lt;h3&gt;
  
  
  What you will learn:
&lt;/h3&gt;

&lt;p&gt;learn how to use manage state solutions like redux for react, ngrx for angular 2+ or vuex for vuejs and how to integrate it with your client-side app.&lt;br&gt;
Make your app more reactive (listen to network state and notify the user with the new message).&lt;/p&gt;

</description>
      <category>frameworks</category>
      <category>javascript</category>
      <category>vue</category>
      <category>node</category>
    </item>
    <item>
      <title>10+ Free and Open-Source Ghost Themes for 2020(Nodejs)</title>
      <dc:creator>Kelvin Conrad</dc:creator>
      <pubDate>Wed, 20 May 2020 07:12:56 +0000</pubDate>
      <link>https://dev.to/klvncruger/10-free-and-open-source-ghost-themes-for-2020-nodejs-493d</link>
      <guid>https://dev.to/klvncruger/10-free-and-open-source-ghost-themes-for-2020-nodejs-493d</guid>
      <description>&lt;h1&gt;
  
  
  What is Ghost?
&lt;/h1&gt;

&lt;p&gt;Ghost is a free and very popular open-source headless Node.js CMS. Unlike WordPress or Joomla, Ghost tries to specifically focus on bloggers and publishers. It is a completely independent platform which gives you control of the technology, the content and the audience. The framework was designed with one clear purpose: minimalistic content publishing.&lt;/p&gt;

&lt;p&gt;Apart from its headless capabilities, one of the great things about Ghost framework is its leanness. It is designed for a specific task, publishing content, and it performs that task really effectively. Is also has an elegant and friendly UI.&lt;br&gt;
If you want to check out more official information about this framework, here’s &lt;a href="https://ghost.org/"&gt;the official website&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Ghost Free Themes Examples
&lt;/h1&gt;

&lt;p&gt;If you think you should give this framework a try, then you should check these awesome Ghost templates examples. They are free and open-source! &amp;lt;3&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Material Kit Ghost
&lt;/h2&gt;

&lt;p&gt;Material Kit Ghost is a high quality, free, and open-source theme for Ghost. It comes packed with a large number of features and its pixel-perfect design will help you create amazing web apps. The screens are carefully created and inspired by Creative Tim – Material Kit line of design.&lt;br&gt;
Putting together a page has never been easier. From HTML insertion to bookmarks and responsive styling, you can easily create and build your blog posts.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ik9DD8nJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/material-kit-ghost.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ik9DD8nJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/material-kit-ghost.jpg" alt="Material Kit"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://material-kit-ghost.creative-tim.com/"&gt;Live Preview/Download&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Massively
&lt;/h2&gt;

&lt;p&gt;Massively is a very good-looking, free, and open-source theme for Ghost. It is a text-heavy, article-oriented design built around a huge background image and scroll effects powered by Scrollex.&lt;br&gt;
It was originally created by @ajlkn for HTML5 UP and later ported to Ghost.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3ue7C465--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/massivley-ghost-theme-768x378.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3ue7C465--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/massivley-ghost-theme-768x378.png" alt="Massively"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://massively.ghost.io/?rel=nofollow"&gt;Live Preview/Download&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. London
&lt;/h2&gt;

&lt;p&gt;London is a custom and image-centric theme Ghost. It is also free and open-source. The theme was made for publishers and portfolios with plenty of graphics to show off to the world.&lt;br&gt;
It is fully responsive and it was released under the MIT license.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fHcfF4-d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/london-ghost-theme-768x505.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fHcfF4-d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/london-ghost-theme-768x505.jpg" alt="London"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://london.ghost.io/"&gt;Live Preview/Download&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Mapache
&lt;/h2&gt;

&lt;p&gt;Mapache is a free and open-source theme for Ghost. It is perfect for Blogs / Magazines /Landing pages / Personal pages / Photographers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features:
&lt;/h3&gt;

&lt;p&gt;Support for different languages (en – es – de – ko – fr – pt)&lt;br&gt;
Light Mode / Dark Mode&lt;br&gt;
First navigation menu for the header of the page&lt;br&gt;
Second navigation menu for the footer of the page&lt;br&gt;
404 error page&lt;br&gt;
and many more!&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z64NTbCH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/mapache-ghost-theme-768x743.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z64NTbCH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/mapache-ghost-theme-768x743.png" alt="Mapache"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/godofredoninja/Mapache/blob/master/screenshot.png?rel=nofollow"&gt;Live Preview/Download&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Caffeine
&lt;/h2&gt;

&lt;p&gt;Caffeine is a minimalist Material Design inspired theme for the Ghost publishing platform. It originally began as a fork of Uno-Zen, but has since been drastically changed. Huge thanks to the original creator for the original theme layout and inspiration.&lt;br&gt;
The theme is super easy to configure, with almost no code change necessary!&lt;/p&gt;

&lt;h3&gt;
  
  
  Features:
&lt;/h3&gt;

&lt;p&gt;Masonry support for Pinterest-esque grid layouts&lt;br&gt;
Scroll reveal support for Google+ like rendering&lt;br&gt;
Mailchimp integration and support for email subscriptions&lt;br&gt;
Font-awesome support to use the latest icons from Font Awesome&lt;br&gt;
and many more!&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jvP1zBXJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/caffeine-ghost-themes-768x435.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jvP1zBXJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/caffeine-ghost-themes-768x435.png" alt="Caffeine"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/kelyvin/caffeine-theme?rel=nofollow"&gt;Live Preview/Download&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Fizzy
&lt;/h2&gt;

&lt;p&gt;Fizzy is a very good-looking, free and open-source blogging theme for Ghost.&lt;br&gt;
The philosophy behind this theme is to build something minimal without losing the taste for blogging.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features:
&lt;/h3&gt;

&lt;p&gt;-Showcase (carousel + 2 featured post)&lt;br&gt;
-Internal tags (carousel, no index)&lt;br&gt;
-Custom templates (tag archive, post archive, full width, post with TOC)&lt;br&gt;
-Comment system (gitalk, DISQUS)&lt;br&gt;
and many more!&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Bl4kxUfh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/fizzy-ghost-theme-768x487.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Bl4kxUfh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/fizzy-ghost-theme-768x487.png" alt="Fizzy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/huangyuzhang/Fizzy-Theme?rel=nofollow"&gt;Live Preview/Download&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  6. Fizzy
&lt;/h1&gt;

&lt;p&gt;Fizzy is a very good-looking, free and open-source blogging theme for Ghost.&lt;br&gt;
The philosophy behind this theme is to build something minimal without losing the taste for blogging.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features:
&lt;/h3&gt;

&lt;p&gt;-Showcase (carousel + 2 featured post)&lt;br&gt;
-Internal tags (carousel, no index)&lt;br&gt;
-Custom templates (tag archive, post archive, full width, post with TOC)&lt;br&gt;
-Comment system (gitalk, DISQUS)&lt;br&gt;
and many more!&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Bl4kxUfh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/fizzy-ghost-theme-768x487.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Bl4kxUfh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/fizzy-ghost-theme-768x487.png" alt="Fizzy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fizzy.cc/?rel=nofollow"&gt;Live Preview/Download&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  7. Biron
&lt;/h1&gt;

&lt;p&gt;Biron is a free and responsive Ghost theme with a clean and minimal design, making it ideal for personal blog or magazine. Biron is built on Bulma CSS framework using modern tools HTML5 &amp;amp; CSS3, gulp, SASS making the customization really easy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features:
&lt;/h3&gt;

&lt;p&gt;-Fully responsive&lt;br&gt;
-Translation support&lt;br&gt;
-Subscription form support&lt;br&gt;
-Custom logo support and many more!&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n4P3nOpc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/biron-ghost-theme-768x408.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n4P3nOpc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/biron-ghost-theme-768x408.png" alt="Biron"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://biron.bironthemes.com/"&gt;Live Preview/Download&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  8. Asgar
&lt;/h1&gt;

&lt;p&gt;Asgar is an elegant, two-column, free and open-source theme for Ghost.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Q7RLuWeP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/asgar-ghost-theme-768x397.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Q7RLuWeP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/asgar-ghost-theme-768x397.png" alt="Asgar"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://asgar.stefancosma.xyz/"&gt;Live Preview/Download&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  9. Editorial
&lt;/h1&gt;

&lt;p&gt;Editorial is a free and open-source theme for Ghost&lt;br&gt;
It has a news-oriented design built around a dynamic ‘locking’ sidebar (try the toggle to see it in action!) and it is purpose-built for content-centric sites. Originally created by @ajlkn for HTML5 UP and later ported to Ghost.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TRs35HK3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/editorial-ghost-theme-768x387.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TRs35HK3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/editorial-ghost-theme-768x387.png" alt="Editorial"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://editorial.ghost.io/"&gt;Live Preview/Download&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  10. The Shell
&lt;/h1&gt;

&lt;p&gt;The Shell is a minimalistic dark color theme for Ghost platform.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MkR_zxR6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/the-shell-ghost-theme-768x390.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MkR_zxR6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/the-shell-ghost-theme-768x390.png" alt="The shell"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ghostintheshell.ghost.io/?rel=nofollow"&gt;LivePreview&lt;/a&gt; &lt;br&gt;
&lt;a href="https://github.com/mityalebedev/The-Shell?rel=nofollow"&gt;Download&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  11. No-nonsense
&lt;/h1&gt;

&lt;p&gt;No-nonsense is a fully-featured, content-focused Ghost theme. It is inspired by ghostwriter and typesome.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;p&gt;-Multi-author support&lt;br&gt;
-Post cover image&lt;br&gt;
-Tag page description&lt;br&gt;
-Custom error page and many more!&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G3rEOg-g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/nonsense-ghost-theme-768x554.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G3rEOg-g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://creativetimblog.com/blog/wp-content/uploads/2020/04/nonsense-ghost-theme-768x554.png" alt="No-nonsense"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/mihneadb/no-nonsense"&gt;LivePreview/Download&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
      <category>opensource</category>
      <category>themes</category>
    </item>
    <item>
      <title>Supercharge your front-end skills by building real projects</title>
      <dc:creator>Kelvin Conrad</dc:creator>
      <pubDate>Tue, 19 May 2020 12:56:35 +0000</pubDate>
      <link>https://dev.to/klvncruger/supercharge-your-front-end-skills-by-building-real-projects-14db</link>
      <guid>https://dev.to/klvncruger/supercharge-your-front-end-skills-by-building-real-projects-14db</guid>
      <description>&lt;p&gt;Gain real experience of building websites and providing code reviews. Build your portfolio and help others achieve their goals.&lt;br&gt;
visit site 👇👇&lt;br&gt;
&lt;a href="https://www.frontendmentor.io"&gt;https://www.frontendmentor.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Frontend Mentor offers a range of challenges that aim to mimic a real-world workflow for a front-end developer. Each free challenge includes:&lt;/p&gt;

&lt;p&gt;✅ Mobile &amp;amp; desktop designs in JPG format&lt;br&gt;
✅ A front-end style guide for colors, fonts, etc&lt;br&gt;
✅ A basic project brief, which mentions any expected functionality&lt;br&gt;
✅ Pre-optimised assets&lt;br&gt;
✅ A skeleton HTML file with pre-written content, but no structure&lt;/p&gt;

&lt;p&gt;If you want to practice using the original Sketch design file, there is an option to buy that as well, although it's not a requirement to start the free challenges.&lt;/p&gt;

&lt;p&gt;As well as the free challenges we also have premium challenges. Premium challenges offer you the chance to build some seriously impressive portfolio pieces and include:&lt;/p&gt;

&lt;p&gt;✅ Multi-page and fully-functional project ideas&lt;br&gt;
✅ Mobile, tablet &amp;amp; desktop designs in both JPG and Sketch format&lt;br&gt;
✅ A professional design system providing common styles&lt;br&gt;
✅ Custom APIs to work with so that you can practice with JS libraries/frameworks like React, Vue, Svelte, Angular, etc&lt;/p&gt;

</description>
      <category>html</category>
      <category>frontend</category>
      <category>javascript</category>
      <category>github</category>
    </item>
    <item>
      <title>How to install and check if Node &amp; Npm on Windows</title>
      <dc:creator>Kelvin Conrad</dc:creator>
      <pubDate>Sat, 16 May 2020 12:04:19 +0000</pubDate>
      <link>https://dev.to/klvncruger/how-to-install-and-check-if-node-npm-on-windows-3ho1</link>
      <guid>https://dev.to/klvncruger/how-to-install-and-check-if-node-npm-on-windows-3ho1</guid>
      <description>&lt;p&gt;How to Install Node.js® and NPM on Windows&lt;br&gt;
JavaScript is quickly becoming the go-to language for web developers. Front-end web developers use JavaScript to add user interface enhancements, add interactivity, and talk to back-end web services using AJAX. Web developers who work on the server-side are also flocking to JavaScript because of the efficiencies and speed offered by JavaScript’s event-driven, non-blocking nature.&lt;/p&gt;

&lt;p&gt;In fact, concentrating on JavaScript as your language of choice offers the opportunity to master a single language while still being able to develop “full-stack” web applications. The key to this server-side JavaScript revolution is Node.js® — a version of Chrome’s V8 JavaScript runtime engine — which makes it possible to run JavaScript on the server-side.&lt;/p&gt;

&lt;p&gt;Node.js is also used for developing desktop applications and for deploying tools that make developing web sites simpler. For example, by installing Node.js® on your desktop machine, you can quickly convert CoffeeScript to JavaScript, SASS to CSS, and shrink the size of your HTML, JavaScript and graphic files. Using NPM — a tool that makes installing and managing Node modules — it’s quite easy to add many useful tools to your web development toolkit.&lt;br&gt;
                     Installation Overview&lt;br&gt;
Installing Node and NPM is pretty straightforward using the installer package available from the Node.js® web site.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                 Installation Steps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;Download the Windows installer from the Nodes.js® web site.&lt;/li&gt;
&lt;li&gt;Run the installer (the .msi file you downloaded in the previous step.)&lt;/li&gt;
&lt;li&gt;Follow the prompts in the installer (Accept the license agreement, click the 4. NEXT button a bunch of times and accept the default installation settings).
installer&lt;/li&gt;
&lt;li&gt;Restart your computer. You won’t be able to run Node.js® until you restart your computer.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Test it!&lt;br&gt;
Make sure you have Node and NPM installed by running simple commands to see what version of each is installed and to run a simple test program:&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                 Test Node
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Test Node. To see if Node is installed, open the Windows Command Prompt, Powershell or a similar command line tool, and type node -v. This should print a version number, so you’ll see something like this v12.13.0.&lt;br&gt;
Test NPM. To see if NPM is installed, type npm -v in Terminal. This should print NPM’s version number so you’ll see something like this 1.4.28&lt;br&gt;
Create a test file and run it. A simple way to test that node.js works is to create a JavaScript file: name it hello.js, and just add the code console.log('Node is installed!');. To run the code simply open your command line program, navigate to the folder where you save the file and type node hello.js. This will start Node and run the code in the hello.js file. You should see the output Node is installed!.&lt;br&gt;
verify How to Update Node and NPM&lt;br&gt;
New versions of Node and NPM come out frequently. To install the updates, just download the installer from the Nodejs.org site and run it again. The new version of Node and NPM will replace the older versions.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;How to Uninstall Node and NPM&lt;br&gt;
You uninstall Node.js and NPM the same as you would most Windows software:&lt;/p&gt;

&lt;p&gt;-Open the Windows Control Panel&lt;br&gt;
-Choose the “Programs and Features” option&lt;br&gt;
-Click the “Uninstall a program” option&lt;br&gt;
-Select Node.js, and click the Uninstall link.&lt;br&gt;
With Node.js and NPM installed you’ll soon be able to take advantage of the huge world of NPM modules that can help with a wide variety of tasks both on the web server and on your desktop (or laptop) machine. The NPM site lists all of the official Node packages making it easy to make the choice. Have fun!&lt;/p&gt;

</description>
      <category>node</category>
      <category>npm</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
