Angular 2 has moved from a framework to now a platform to develop rich UIs across mobile and desktop. There are many ways to set up a development environment and build process for Angular apps. In this short post I’ll go over my personal setup that I use on both my Linux/MacOS and Windows machines.

Build / Project

First I’ll start with how I build and deploy my Angular applications. All of my projects currently use the Angular CLI. The Angular Command Line Interface allows developers to quickly create, scaffold and build Angular 2 applications. The CLI is still in beta but is quickly gaining traction and a lot of support/improvements from the Angular team.

Angular CLI

Editor

There are many great editors for Angular 2 Applications but a couple in particular stand out. First is Webstorm. Webstorm is a full fledged IDE for JavaScript development and has all the bells and whistles. Webstorm does have a paid licence but is well worth it.

Angular CLI

Next is my favorite editor that I use all the time, Visual Studio Code. Visual Studio Code is a free cross platform editor with great TypeScript support which is critical for a good Angular 2 development experience. Visual Studio Code is very fast and light weight. It has a great plugin system as well. Here is a screenshot of some of the plugins I use that give a really good editor experience for Angular 2 apps.

Angular CLI

Deployment

Angular is not very opinionated on how its deployed and what backend stack its hosted on. I deploy Angular apps a couple different ways. Some on .NET stacks and others on NodeJS. My favorite is Firebase. Firebase has a hosting feature that is great for single page apps and has HTTP2 support for great performance. Learn more about Deploying Angular 2 apps to Firebase here.

One last note I am looking forward to a update in the works to the Angular CLI that adds Universal Angular support. Universal allows Angular apps to run on the server so we can get great SEO support and fast first time renders.

Summary

In summary there are hundreds of tools that are available that work great with Angular 2 projects. These are just the subset that I use. If you have your own set up you enjoy please feel free to share in the comments.