I will add a new full stack javascript Training catalog section. This will include:
- Getting started sections for Node.js and React.js
- Add SWAT talk presentation for React.js and Node.js
- Links to turtorials/learn more pages for Node and react
- (optionally) getting started with deploying it to heroku.
Node.js is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side. It has an event-driven architecture and operates on a single thread, using non-blocking I/O calls. Since all requests are single threaded, it requires that any function performing I/O must use a callback (using an observer pattern). These design choices aim to optimize throughput and scalability, allowing Node.js to support tens of thousands of concurrent connections without incurring the cost of thread context switching.
The downside of the single threaded model is that apps can't scale by using machines with higher number of CPU cores. Instead, apps have to scale by deploying multiple instances running on multiple containers, VMs or physical machines. This makes Node.js very well suited for use in micro-services environments.
- The easiest way to get started with Node is to download and run the installer from their website.
- For more advanced users, you can install it using a package manager.
- If you need to manage multiple versions of Node on your development machine, install it using nvm.
- IDE: Visual Studio Code
- VS Code has very deep support for both server side and client side javascript including debugging, intellisense, inline api documentation, etc, etc, etc.
- Code Formatter: https://prettier.io
- JS Standard API Docs: Mozilla Developer Network
- Note: MDN provides documentation for Javascript the language (old ES5 and newer ES6+), not for Node.js specific server-side only API.
- If your JS is a bit rusty: A re-introduction to JavaScript
- Need a list of all new ES6 (ES2015) features: https://github.com/lukehoban/es6features