what is the main difference between angular 1 and 2?
Angular 2 is not an upgrade of Angular 1 but it is completely rewritten. Angular 2 uses TypeScript which is a superset of JavaScript (It doesn't mean only TypeScript but dart also). Angular 1. x was not built with mobile support in mind, where Angular 2 is mobile-oriented.