Monday, December 4, 2017

React Workshop Installation Notes (9 + 10 December 2017)

Please try to install all of the tools below before the start of the workshop on Saturday.

Install Chrome

React is compatible with every modern browser, but Chrome is the best choice for development. In addition to its excellent developer tools, Chrome has two essential  extensions: React Developer Tools and Redux DevTools. Install Chrome at

Then install React Developer Tools and Redux DevTools via the Chrome Web Store.

Install Git

The latest version of Git is 2.16.1. If you have it already, but your version is older than 2.6, please update it. Git is free.

Installing Node.js

Node.js is a JavaScript runtime, that is a fancy phrase which merely means it lets us execute JavaScript code from the command line. I am installing the current LTS or long-term support version, which is version 8.9.4. I highly recommend that you do the same. Don't download the latest version; it sometimes has bugs and incompatibilities. Go to: Click the button to download the LTS version, when complete double-click the file to begin the installation.
Usually, the site detects your operating system and the webpage changes to reflect it. If you don't see your operating system, click the "Other Downloads," which is in small text below the download button.

Installing Node should only take a few minutes. To verify, open a new command prompt, or terminal instance. From the command line type:

node --version

Node.js should respond with its version number. In my case that is:


If you see something like:

'node' is not recognized as an internal or external command, operable program or batch file.

Node.js install.ation may have failed. First, make sure you typed in a new command prompt or terminal window. If you have, then repeat the installation steps by going back to the Node.js website.

Install Atom/Nuclide

Atom is the free and hackable editor from the folks at GitHub. It is cross-platform and runs on Windows, Mac, and Linux. You are welcome to use whatever editor you like, but please know how to use it. I can give you help on using Atom. Download Atom from

Once we have Atom installed and working, we can optionally install Nuclide. It is a package, which is an Atom add-on, from Facebook. It works well other Facebook open-source projects, like React, React-Native, and Flow. Again, it is optional, but I will use it. Unfortunately, the Windows version is not complete. So while Nuclide has been thoroughly checked out on Mac and Linux, on Windows, it has not.

To install Nuclide:

Help >> Welcome Guide >> Install a Package >> Open InstallerType "Nuclide" in the search bar."searching packages for nuclide"
After finding the package, verify that it is from Facebook, then click "Install."It will take a bit of time for the package to download and install. Be patient.

Installing Yarn

Yarn is a package manager from Facebook. It is similar to npm but is faster and more secure. I highly recommend using Yarn over npm primarily when working with React or React-Native. The easiest way to install Yarn is not safe, but it is via npm. It seems npm packages are not signed which is a security risk when installing apps globally.

##### via npm

```npm install -g yarn```

##### via Homebrew on macOS

```brew install yarn```

Node.js is a prerequisite for Yarn, and brew installs it with Yarn. If you are using a tool like nvm, this can break it. You can install Yarn without Node.js with the following command:

```brew install yarn --without-node```

##### via Chocolatey on Windows

Chocolatey is a Windows, package manager. You can get Chocolatey from
You install Yarn with the following Chocolatey command:
```choco install yarn```
You can validate that Yarn was installed correctly by typing:
```yarn --version```
Yarn responds with its version information if installed correctly.
### create-react-app
Facebook has an excellent tool for React developers, **create-react-app**. It is a CLI which creates a complete React skeleton app. Install it with:
```yarn global add create-react-app```
_Please note: Yarn's global add is order sensitive, the global flag must be the first option._
Verify correct installation by entering:
```create-react-app --version```
The current version should display.
### Firebase
Firebase is a cloud service which is now part of Google. Its initial function was their Firebase Real-Time Database, but now they offer many more services including hosting which we'll need to deploy our React app. So, if you don't already have an account, go to and sign up. Don't worry you won't need a credit card if you sign up for the Spark Plan.
### Firebase CLI
To make maximum use of Firebase, we will need to download its command line tools or CLI. To install type:
```yarn global add firebase-tools```
To verify that the tools have been installed correctly install type:
```firebase --version```
It should respond with the version number.
### Summary
Now we have all of our development tools installed and are ready to begin developing React applications.

Thursday, October 19, 2017

To maximize our time together for learning Node.js, please take care of the following before the workshop. The total time to install the software should be about 60 minutes. If you have questions, please contact me via email:

  1. Install a web development IDE
    1. For the workshop, I will be using JetBrains' WebStorm. If you are accustomed to a different IDE please feel free to use it. Keep in mind, that I won't know how to use your IDE. WebStorm is a paid application but has a free 30-day trial.
  2. Install Git
    1. We will be using git for the workshop. The latest version is 2.14.2. If have it already, but your version is older than 2.6, please update it.
    2. Git is free.
  3. Install Node.js
    1. We need node.js installed on our development machines. If you have a version earlier than 8.0.0, please upgrade. I will be using node version v8.6.0. The easiest way to upgrade Node.js is to install the version that you'd like to use. For advanced students using nvm, brew, or chocolatey, I am aware of these tools, but they each introduce more complexity.
  4. Upgrade npm
    1. NPM comes with node.js but the version installed is usually out of date with the current release. Please update it by entering the following command in the terminal:
    2. npm install npm -g
  5. mLab
    1. mLab is a fully managed MongoDB-as-a-service provider and a partner of Heroku. Will host our MongoDB service on it instead of installing Mongo on our machines. mLab gives us a free developers account tied to our Heroku account. You may need to supply a credit card but you will not be charged so long as you choose the free sandbox account. This is a small 500 MB database on a shared instance but it is more than enough for the class and gives you real world experience.
  6. Heroku
    1. We will deploy our finished app to Heroku, a cloud-based hosting platform. Developer accounts are free. Please sign up now. If you already have an account, please be sure to have at least one free application slot for the workshop.
  7. Heroku CLI
    1. We will also need to install Heroku's command line interface, or CLI. This will allow us make and manager Heroku apps from the command line.  
  8. MongoDB
    1. We will use MongoDB to hold our data, but we will not install the data locally. Instead we will access it remotely at mLab. We will still need to install the MongoDB CLI.
  9. Robomongo
    1. MongoDB includes the Mongo Shell, its REPL. Some people don't like using the REPL, so there is an alternative: Robomongo. I won't use it in class but if you hate the REPL you do have another choice.

Please take care of everything on the list before the workshop. We won't have time to do it during the workshop.

Thursday, August 24, 2017

React Native Installation Notes

Our goal is to complete a small React Native app by the end of the day. We will use Facebook's react-native-cli speed up our development. In this workshop, we will only build Android apps, but all of our code is iOS compatible.

Install Chrome
Debugging React Native can be challenging. The built-in developer tools allow us to debug remotely via Chrome; this is a huge time saver. Install Chrome at:

Install Git
The latest version of Git is 2.14.1. If have it already, but your version is older than 2.6, please update it. Git is free.

Install React Native
Facebook has written complete installation notes. Be sure to select "Building Project with Native Code," Android and your development OS.

Be sure to follow all of the installation notes including building a virtual device aka simulator. We will need a simulator to run our apps in the workshop.