I am a big fan of AngularJS over the years and involved in developing enterprise applications using Angular1. To all the angular1.x developers out there, am going to write about my experience on migrating from Angular 1.x to Angular 2.
Let's find out the differences ,
(i) To those who think Angular2 is the updated version of Angular1, No it is not . Only the names are same, Angular 2 is completely rewritten.
(ii) Angular1 is using javascript whereas Angular 2 is using Typescript which is super set of javascript
(iii) Most of us are familiar with the $scope in Angular1, one core concept was $scope, and you the saddest part is we don't find $scope in angular 2. Angular 2 use zone.js to detect changes.
(iv) If you are a mobile developer Angular1.x does not provide much, where Angular 2 is mobile oriented.
(v) Angular 1.x use controllers to handle the logic part, which are gone. And controllers are replaced with “Components” in Angular 2.
////Angular 1.x using Controller and $scope.........var myApp = angular .module("myModule", [])
var prods = { name: "Prod1", quantity: 1 };.controller("productController", function($scope) { $scope.products = prods;});
///Angular 2 Components using TypeScript........import { Component } from ‘angular2/core’;
template: `{{prods.name}}`@Component({ selector: ‘prodsdata’, })prods = { name: ‘Prod1’, quantity: 1 };export class ProductComponent {}
(vi) One of the favourite directive for generating elements was ng-repeat with Angular 1.x
ng-repeat is replaced with *ngFor.
///Angular 1.x structural directives:........<ul>
{{item.name}}<li ng-repeat="item in items">///Angular 2 structural directives:.............</li> </ul> <ul>{{item.name}}<li *ngFor="#item of items"> </li></ul>
(viii) Even though most of the concepts remains the same Two-way data binding: ng-model replaced with [(ngModel)] in angular 2.
(ix) Concept of bootstraping has changed too.Angular 1.x has 2 ways to bootstrap angular. One using ng-appattribute and other via code. In Angular 2, The only way to bootstrap angular is via code.
import { bootstrap } from 'angular2/platform/browser';
import { ProductComponent } from './product.component';
bootstrap(ProductComponent);
(x) Apart from all the above, main concepts such as ways of Routing and Depdency injects has been changed drastically with angular2.
In Angular 1.x, we use $routeProvider.when() to configuring routing. Where in Angular 2, @RouteConfig{(...}) is used. ng-view present in Angular 1.x is replaced with
One of the advantages of Angular1 Dependency Injection. In angular 2 everything is ‘class’ , so DI is achieved via constructors.
2 comments:
Greate Explination But if we wana 2 shifted my proj from Ang1 to Ang2 then How can i?
Just wish to say your article is as astounding. The clearness in your
submit is just excellent and i can suppose you’re knowledgeable in this subject. Happy Learning Too!!
If Interested Learn AngularJS here -
AngularJS Certification Training in Chennai
Post a Comment