Angular 2: From Theory To Practice