Node Application Patterns

RobC

Rob Conery teaches Node JS

Welcome to this review of the Pluralsight course Node Application Patterns by Rob Conery

Rob has been working in the technology field full time since 1998 as a DBA and then a web developer.

His original focus was the Microsoft ASP.NET stack, building tools like Subsonic and the first Micro-ORM: Massive. He co-founded the online training site Tekpub.com with James Avery and co-host This Developer’s Life with Scott Hanselman.

Tekpub was bought out by Pluralsight and he worked there for two years. He is currently working on a new book called The Imposters Handbook.

Node Applications Patterns is the final course in the Node JS learning path.

Node Application Patterns

Introduction

Does this quote sound familiar to you?

“My boss wants me to build a Node app… I know web programming, but asde from a few demos I don’t really know what I’m doing with Node…”

This course was created to help people in similar situations to this one.

Rob begins with the question “Why Node?”. There are many answers to this, and Rob describes half a dozen of them:

  • Simple, easy
  • Package management done right
  • There’s a module for that
  • Scaleable
  • Azure/AWS/Heroku Support
  • JavaScript

In this course we will see how to build a membership system based on Plataformatec‘s devise, which is a flexible authentication solution for Rails.

Rob previously wrote a system like this in C# in his course Pragmatic Behavior-driven Design with .NET.

He invites you to let go of your preconceptions and bias if you’ve only done server side programming in languages such as Rails or .NET before. This is how we grow as developers.

WebStorm

Rob likes JetBrains WebStorm, and invites you to look at JetBrainsTV to learn more about it and other JetBrains products.

Rob shows off many of the features of WebStorm in this lesson:

  • “Intellisense” (Code completion) and the Use JavaScript Library
  • Configuring “Intellisense” for Express JS
  • TypeScript community stubs (using definitely typed)

He also gives lot of JetBrains plugin recommendations:

  • Copy on steroids – copies as RTF in memory
  • AngularJS -code completion
  • CoffeeScript
  • CSS Support
  • Cucumber.js
  • Node.js
  • etc

He also recommends some 3rd party plugins:

  • AWS Elastic Beanstalk Integration for Web Languages
  • Pomodoro-tm

Mocha

Then Rob talks about the integration with the Mocha test framework, and there’s some talk about testing here. For detailed information see Rob’s Node.js Testing Strategies course, or for React developers see Testing React by Cory House.

We see how to hook up with Mocha in the Edit Configurations menu. Then we look at the unit testing features including auto-run and how to reduce the delay after saving for the tests to auto-run.

We see window navigation options and exporting test results.

Git integration

Webstorm makes it easy to push changes, see diffs, inspect versions, view gitgraph and more.

Rob gives a great overview here. See Xavier Morera’s course for much more information on Using Git with a GUI.

Todos

We can add TODO comments and see them in a Todo window as you would probably expect. We also see loads of TODOs relating to 3rd party libraries. Rob shows use how to filter these.

The Terminal

We see some of the uses of an embedded terminal, like how easy it is to install and uninstall Node modules.

Templates

Rob explains the Webstorm snippets feature and gives us a demonstration.

Grunt

Rob says Task runners are indispensable. He talks about both Grunt and Gulp here.

Command Line

This lesson is about running commands outside of Webstorm. It begins as a 101 lesson for Mac OS users covering ls, cat, mocha etc.

Then Rob changes it up by showing a Windows 7 VM running on his Mac, and how to use Windows Powershell.

There’s a bunch of Pluralsight courses specifically about Powershell and you’re really quite spoiled for choice if you decide to learn it. Rob mentions Introduction to Powershell which is a good beginner course, although doesn’t cover the newer Powershell features.

Web Frameworks

Rob begins by recommending Express JS. Then he talks about Koa JS and Geddy JS.

Rob prefers Sails JS, saying it’s more modern. However he says that he doesn’t use either Geddy or Sails with Node, and explains why.

Rob’s choice for this course is Express JS.

Continue to Part 2 – Setting Up Your Project

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s