82
How to migrate from Angular 1

Migrating From Angular 1.x to Angular 2+

Embed Size (px)

Citation preview

Page 1: Migrating From Angular 1.x to Angular 2+

How to migrate from Angular 1

Page 2: Migrating From Angular 1.x to Angular 2+

When you can’t use the word “Big Bang”

Page 3: Migrating From Angular 1.x to Angular 2+
Page 4: Migrating From Angular 1.x to Angular 2+

• Mental Model• Plan• Case Study

Page 5: Migrating From Angular 1.x to Angular 2+

• AngularJS• ES6 & TypeScript• Angular

Page 7: Migrating From Angular 1.x to Angular 2+

700 page Angular bookng2.codecraft.tv

Kickstarter Funded - FREE

Page 8: Migrating From Angular 1.x to Angular 2+

Terminology

Page 9: Migrating From Angular 1.x to Angular 2+

Angular = Angular 2+

Page 10: Migrating From Angular 1.x to Angular 2+

AngularJS = Angular 1.x

Page 11: Migrating From Angular 1.x to Angular 2+

Filters = Pipes

Page 12: Migrating From Angular 1.x to Angular 2+

Controllers = Components

Page 13: Migrating From Angular 1.x to Angular 2+

Directives + HTML = Components

Page 14: Migrating From Angular 1.x to Angular 2+

Directives - HTML = Directives

Page 15: Migrating From Angular 1.x to Angular 2+

Service/Factory = Service

Page 16: Migrating From Angular 1.x to Angular 2+

Entity?

Page 17: Migrating From Angular 1.x to Angular 2+

Migration or Upgrade?

Page 18: Migrating From Angular 1.x to Angular 2+

DEMO

Page 19: Migrating From Angular 1.x to Angular 2+

Mental Model

Page 20: Migrating From Angular 1.x to Angular 2+

Multiple Personality Disorder

Page 21: Migrating From Angular 1.x to Angular 2+

Service

ListCard

Spinner

ResourceEdit

Create

Search

1.x

Page 22: Migrating From Angular 1.x to Angular 2+

Service

ListCard

Spinner

ResourceEdit

Create

Search

1.x

2+

Page 23: Migrating From Angular 1.x to Angular 2+

Service

ListCard

Spinner

ResourceEdit

Create

Search

1.x

2+

Page 24: Migrating From Angular 1.x to Angular 2+

Root is AngularJS

Page 25: Migrating From Angular 1.x to Angular 2+

Zone ➡ $scope.$apply(…)

Page 26: Migrating From Angular 1.x to Angular 2+

Cross Dresser

Page 27: Migrating From Angular 1.x to Angular 2+

List

List

AngularJS

DowngradedAngular

Angular

UpgradedAngularJS List ⬆

List ⬇

Page 28: Migrating From Angular 1.x to Angular 2+

Service ⬇

List

Edit

Service

Page 29: Migrating From Angular 1.x to Angular 2+

Control Freak

Page 30: Migrating From Angular 1.x to Angular 2+

<card>

<body>

<spinner>

Page 31: Migrating From Angular 1.x to Angular 2+

<card>

<body>

<spinner>

Page 32: Migrating From Angular 1.x to Angular 2+

<card> ⬇

<body>

<spinner>

Page 33: Migrating From Angular 1.x to Angular 2+

<body>

<spinner> ⬆

<card> ⬇

Page 34: Migrating From Angular 1.x to Angular 2+

Disease

Page 35: Migrating From Angular 1.x to Angular 2+

Service

ListCard

Spinner

Edit

Create

Search

1.x

2+

Resource ⬇

Page 36: Migrating From Angular 1.x to Angular 2+

Service ⬇

ListCard

Spinner

Edit

Create

Search

1.x

2+

Resource

Page 37: Migrating From Angular 1.x to Angular 2+

Service ⬇

ListCard ⬇

Spinner

Edit

Create

Search

1.x

2+

Resource

Page 38: Migrating From Angular 1.x to Angular 2+

Service ⬇

ListCard ⬇

Spinner ⬇

Edit

Create

Search

1.x

2+

Resource

Page 39: Migrating From Angular 1.x to Angular 2+

Service ⬇

List ⬇Card

Spinner

Edit

Create

Search

1.x

2+

Resource

Page 40: Migrating From Angular 1.x to Angular 2+

Service

List ⬇Card

Spinner

Edit ⬇

Create ⬇

Search ⬇

1.x

2+

Resource

Page 41: Migrating From Angular 1.x to Angular 2+

Service

ListCard

Spinner

Edit

Create

Search

2+Resource

Page 42: Migrating From Angular 1.x to Angular 2+

But…

Page 43: Migrating From Angular 1.x to Angular 2+

• Filters• (some) Directives

Page 44: Migrating From Angular 1.x to Angular 2+

Asim’s 10 Step Plan

Page 45: Migrating From Angular 1.x to Angular 2+

1. Style guide2. TypeScript & build tools3. AngularJS 1.5+4. Component’ify5. ES6’ify6. Dual Boot7. Services to Angular 8. Components to Angular9. Routing to Angular10.Remove AngularJS

Page 46: Migrating From Angular 1.x to Angular 2+

1. Style guide2. TypeScript & build tools3. AngularJS 1.5+4. Component’ify5. ES6’ify6. Dual Boot7. Services to Angular8. Components to Angular9. Routing to Angular10.Remove AngularJS

Page 47: Migrating From Angular 1.x to Angular 2+

Top Tips!

Page 48: Migrating From Angular 1.x to Angular 2+

Start with the Router

Page 49: Migrating From Angular 1.x to Angular 2+

CODE!

Page 50: Migrating From Angular 1.x to Angular 2+

1. Style guide2. TypeScript & build tools3. AngularJS 1.5+4. Component’ify5. ES6’ify6. Dual Boot7. Services to Angular8. Components to Angular9. Routing to Angular10.Remove AngularJS

Page 51: Migrating From Angular 1.x to Angular 2+

Top Tips!

Page 52: Migrating From Angular 1.x to Angular 2+

Start with the Service/Factories

Page 53: Migrating From Angular 1.x to Angular 2+

$resource use $http

Page 54: Migrating From Angular 1.x to Angular 2+

$q use Promise

Page 55: Migrating From Angular 1.x to Angular 2+

.factory(..) use .service(..)

Page 56: Migrating From Angular 1.x to Angular 2+

CODE!

Page 57: Migrating From Angular 1.x to Angular 2+

1. Style guide2. TypeScript & build tools3. AngularJS 1.5+4. Component’ify5. ES6’ify6. Dual Boot7. Services to Angular8. Components to Angular9. Routing to Angular10.Remove AngularJS

Page 58: Migrating From Angular 1.x to Angular 2+

Service

ListCard

Spinner

ResourceEdit

Create

Search

1.x

Page 59: Migrating From Angular 1.x to Angular 2+

Service

ListCard

Spinner

ResourceEdit

Create

Search

1.x

2+

Page 60: Migrating From Angular 1.x to Angular 2+

Top Tips!

Page 61: Migrating From Angular 1.x to Angular 2+

Remove ng-app

Page 62: Migrating From Angular 1.x to Angular 2+

CODE!

Page 63: Migrating From Angular 1.x to Angular 2+

1. Style guide2. TypeScript & build tools3. AngularJS 1.5+4. Component’ify5. ES6’ify6. Dual Boot7. Services to Angular 8. Components to Angular9. Routing to Angular10.Remove AngularJS

Page 64: Migrating From Angular 1.x to Angular 2+

Service ⬇

ListCard

Spinner

Edit

Create

Search

1.x

2+

Resource

Page 65: Migrating From Angular 1.x to Angular 2+

Top Tips!

Page 66: Migrating From Angular 1.x to Angular 2+

• Re-write• Find• Upgrade

Page 67: Migrating From Angular 1.x to Angular 2+

CODE!

Page 68: Migrating From Angular 1.x to Angular 2+

1. Style guide2. TypeScript & build tools3. AngularJS 1.5+4. Component’ify5. ES6’ify6. Dual Boot7. Services to Angular 8. Components to Angular9. Routing to Angular10.Remove AngularJS

Page 69: Migrating From Angular 1.x to Angular 2+

Service ⬇

ListCard ⬇

Spinner ⬇

Edit

Create

Search

1.x

2+

Resource

Page 70: Migrating From Angular 1.x to Angular 2+

Service

List ⬇Card

Spinner

Edit

Create

Search

1.x

2+

Resource

Page 71: Migrating From Angular 1.x to Angular 2+

Service

List ⬇Card

Spinner

Edit ⬇

Create

Search

1.x

2+

Resource

Page 72: Migrating From Angular 1.x to Angular 2+

CODE!

Page 73: Migrating From Angular 1.x to Angular 2+

1. Style guide2. TypeScript & build tools3. AngularJS 1.5+4. Component’ify5. ES6’ify6. Dual Boot7. Services to Angular8. Components to Angular9. Routing to Angular10.Remove AngularJS

Page 74: Migrating From Angular 1.x to Angular 2+

Tiny Pop

Page 75: Migrating From Angular 1.x to Angular 2+

Angular RouterAdd Root Component

Page 76: Migrating From Angular 1.x to Angular 2+

Top Tips!

Page 77: Migrating From Angular 1.x to Angular 2+

• Multiple named ui-views• Multiple names router-outlets

Page 78: Migrating From Angular 1.x to Angular 2+

CODE!

Page 79: Migrating From Angular 1.x to Angular 2+

1. Style guide2. TypeScript & build tools3. AngularJS 1.5+4. Component’ify5. ES6’ify6. Dual boot7. Services to Angular8. Components to Angular9. Routing to Angular10.Remove AngularJS

Page 80: Migrating From Angular 1.x to Angular 2+

Service

ListCard

Spinner

Edit

Create

Search

2+Resource

Page 81: Migrating From Angular 1.x to Angular 2+

Finished

Page 82: Migrating From Angular 1.x to Angular 2+

Questions?

codecraft.tv@jawache