SlideShare a Scribd company logo
The evolution of
Angular 2
@jowe
Johannes Weber
JS Craftsman & Angular Styler
Disclaimer
Angular 2 is still on a developer preview!
Things will/might change!
1. History of Angular
2. Get an overview of Angular 2.0
3. Angualr 2 Features
4. Bridging the gap Between 1.x and 2
Outline
3 weeks
with Angular
1,500 LOC
6 months
x 3 devs
Before
17,000 LOC
feedback
The evolution of Angular 2 @ AngularJS Munich Meetup #5
Jan 2010
“We’re designing Angular 2 for the
way the world will look when we
believe folks will use it. In particular,
this means targeting modern browsers
and using ECMAScript 6.”
from the official Angular announcement
https://angular.io
Angular 2
• For “evergreen” Browsers
• Chrome, Firefox, Opera, Safari and IE11
• Chrome on Android, iOS6+, Windows Phone 8+, FF mobile
• Instrumented
• Angular-wide logging service
• diary.js
Angular 2
• Modular
• Every piece of Angular 2 is optional & replacable
• Mobile first, Offline support
• Simplify
• Directives
• Templating
• IDE can validate and analyze
• Performance
• Improve first load time with prerendering
• Superfast change detection
The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5
Angular 2
Angular 2.0 is written in TypeScript
You can write your code either in TS, ES6 or ES5
The evolution of Angular 2 @ AngularJS Munich Meetup #5
Components
<angular-js-munich-app></angular-js-munich-app>
@Component({
selector: 'angular-js-munich-app',
})
@View({
url: 'angular-js-munich.html'
})
class AngularJSMunichApp {
todos: [string];
constructor() {
this.todos = ['this', 'usergroup', 'is', 'awesome'];
}
}
Annotations
@Component({
selector: 'angular-js-munich-app',
})
@View({
url: 'angular-js-munich.html'
})
customize the components
Annotations in ES5
// Constructor function
function AngularJSMunichApp() { }
// Annotations attached to function
AngularJSMunichApp.annotations = [
new Component({ selector: 'angular-js-munich-app' }),
new View({ url: 'angular-js-munich.html' })
];
customize the components
Controllers
class AngularJSMunichApp {
todos: [string];
constructor() {
this.todos = ['this', 'usergroup', 'is', 'awesome'];
}
addTodo(title: string) {
this.todos.push(title);
}
}
Holds the components JS logic
Controllers in ES5
function AngularJSMunichApp() {
this.todos = ['this', 'usergroup', 'is', 'awesome'];
}
AngularJSMunichApp.prototype.addTodo = function(title) {
this.todos.push(title);
};
Holds the components code
@Component({
selector: 'angular-js-munich-app',
})
@View({
url: 'angular-js-munich.html'
})
class AngularJSMunichApp {
todos: [string];
constructor() {
this.todos = ['this', 'usergroup', 'is', 'awesome'];
}
}
<angular-js-munich-app></angular-js-munich-app>
Components
Template Syntax
Consists of 3 main features
#localVar - Local Variables
[innerText] - Property Binding
(click) - Event Handler
Template Syntax
Consists of 3 main features
<!-- # creates a local variable inside the template -->
<input #textbox>
<!-- (event) registers an event handler -->
<button (click)="addTodo(textbox.value)"> Add </button>
<!-- [property] binds a value to a property of a DOM element or
component -->
<div [innertext]="textbox.value"></div>
Template Syntax
Nofity about errors immediately
<!-- # creates a local variable inside the template -->
<input #textbox>
<!-- (event) registers an event handler -->
<button (clikc)="addtodo(textbox.value)"> Add </button>
<!-- [property] binds a value to a property of a DOM element or
component -->
<div [innertext]="textBox.value"></div>
Template Syntax
Nofity about errors immediately
Features
The evolution of Angular 2 @ AngularJS Munich Meetup #5
Features...
● HTTP
○ retry
○ danymic Error handling
○ short polling, etc.
● WebSockets
● Broswer Storage
○ IndexedDB
○ LocalStorage
○ Session Storage
● Service Workers
● Angular 2 Data handling
● Observables
● Change Detection
○ Immutable, Mutable &
Observable
● Promises vs. Observables
● Forms
● Formatters
There is no migration
path to 2.0
The evolution of Angular 2 @ AngularJS Munich Meetup #5
There is no migration
path to 2.0
are some
Migration path
Apply Angular 2 concepts in
Angular 1
Step 1 - Alignment
1.
x
1.
x
myApp
A
CB
ED
myApp
Step 1 - Alignment
1.
x
1.
x
myApp
A
CB
ED
myApp
Component
Router
ng2-now
Step 2 - Migration
1.
x
2.
0
myAppmyApp
A
CB
ED
A
CB
ED
ES6
Migrating your code to ES6 is easier than you think.
ES5 Angular 1 Service
It’s better with ES6!
Angular 2 Service
The evolution of Angular 2 @ AngularJS Munich Meetup #5
1. Do 5 min quickstart at
angular.io
2. Try sample code at
learnangular2.com
3. Ask questions at gitter.
im/angular/angular
BTW: Services, Factories, … ?
• They are all gone!
• Replaced by (ES6) Classes
• simpler definition
• DI still available
Upgrade to the latest
stable Version
Future of Angular 1.x
Shorter release cycles
Thank you!
Further Questions?
Tweet me: @jowe
Links
Performance
● Gleb’s Angular 1.x performance guide bit.ly/ng-
gleb
● Is Angular Fast Enough? whlp.ly/ng-fast-
enough
● React + Angular = Speed bit.ly/ng-react-speed
Learning
● A1 Link Collection https://goo.gl/86V7k
● A2 Link Collection bit.ly/ng2-links
● Angular 2 mental model bit.ly/ng2-mental-
model
● Igor’s ng-conf keynote bit.ly/ngconf-igor
● Misko’s ng-conf keynote bit.ly/ngconf-misko
● Simple examples learnangular2.com
● Core concept behind A2 http://goo.gl/GTfKii
● Exploring ES6 Classes in A1 http://goo.
gl/znSSs1
Ability to Reason
● Component-Driven Angular https://goo.
gl/EoCcfL
Talks
● ng-conf 2015 Talks https://goo.gl/nx8YR3
● ng-vegas 2015 Talks https://goo.gl/RR6rCU
Rendering
● Isomorphic Angular whlp.ly/isomorphic-
angular
● NG2 Rendering Architecture https://goo.
gl/mcFjSe
● NG2 Server Rendering whlp.ly/ng2-server-
rendering
● NG2 Native Script https://goo.gl/BVADyc
Migration
● Angular 1.3 meets 2.0 bit.ly/ngconf-migration
● NG2 Now bit.ly/ng2-now
Angular 2 Change Detection
● Change Detection in A2 http://goo.gl/j3H8bV
● Change Deteciton Draft https://goo.gl/80tmGF
● Untra Fast CD https://goo.gl/ndfulh
● CD reinvented https://goo.gl/ffomFS
Typescript
● Difference between Annotations and Decorators
http://goo.gl/KJE4cx
● Learn TypeScript http://goo.gl/HSBT1Q

More Related Content

What's hot (20)

PPTX
AngularJS2 / TypeScript / CLI
Domenico Rutigliano
 
PDF
Angular 2: core concepts
Codemotion
 
PDF
Angular 2 Crash Course
Elisha Kramer
 
PDF
Building Universal Applications with Angular 2
Minko Gechev
 
PPTX
Angular 2 + TypeScript = true. Let's Play!
Sirar Salih
 
PDF
Angular2 intro
Shawn McKay
 
PDF
Introduction to Angular 2
Dawid Myslak
 
PPTX
What’s new in angular 2
Ran Wahle
 
PDF
Angular 2 overview
Jesse Warden
 
PDF
Adventures with Angular 2
Dragos Ionita
 
PDF
Angular 2 - An Introduction
NexThoughts Technologies
 
PDF
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
Codemotion
 
PPTX
Angular 2
Travis van der Font
 
PDF
Introduction to Angular 2
Naveen Pete
 
PDF
An Intro to Angular 2
Ron Heft
 
PDF
Tech Webinar: Angular 2, Introduction to a new framework
Codemotion
 
PPTX
Introduction to Angular 2
Tuan Trung Vo
 
PPTX
Introduction to angular 2
Dor Moshe
 
PDF
Getting Started with Angular 2
FITC
 
PPTX
Angular 2
Nigam Goyal
 
AngularJS2 / TypeScript / CLI
Domenico Rutigliano
 
Angular 2: core concepts
Codemotion
 
Angular 2 Crash Course
Elisha Kramer
 
Building Universal Applications with Angular 2
Minko Gechev
 
Angular 2 + TypeScript = true. Let's Play!
Sirar Salih
 
Angular2 intro
Shawn McKay
 
Introduction to Angular 2
Dawid Myslak
 
What’s new in angular 2
Ran Wahle
 
Angular 2 overview
Jesse Warden
 
Adventures with Angular 2
Dragos Ionita
 
Angular 2 - An Introduction
NexThoughts Technologies
 
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
Codemotion
 
Introduction to Angular 2
Naveen Pete
 
An Intro to Angular 2
Ron Heft
 
Tech Webinar: Angular 2, Introduction to a new framework
Codemotion
 
Introduction to Angular 2
Tuan Trung Vo
 
Introduction to angular 2
Dor Moshe
 
Getting Started with Angular 2
FITC
 
Angular 2
Nigam Goyal
 

Viewers also liked (18)

PPTX
Angular js 2
Ran Wahle
 
PPTX
Migrating an application from Angular 1 to Angular 2
Ross Dederer
 
PPTX
AngularJS2
Carlos Uscamayta
 
PDF
Angular 2 for Java Developers
Yakov Fain
 
PPTX
Angular2.0@Shanghai0319
Bibby Chung
 
PDF
Web Components mit Polymer und AngularJS 1.x
PatrickHillert
 
PPTX
Xamarin.forms
Alexandre Marreiros
 
PPTX
Pt xug xamarin pratices on big ui consumer apps
Alexandre Marreiros
 
PPTX
Code migration from Angular 1.x to Angular 2.0
Ran Wahle
 
PDF
The Art of Angular in 2016 - vJUG24
Matt Raible
 
PPTX
Quick View of Angular JS for High School
Alexandre Marreiros
 
PDF
Cassandra Day Atlanta 2015: Feeding Solr at Large Scale with Apache Cassandra
DataStax Academy
 
PDF
Sofea in a soa ecosystem v0 4
Ganesh Prasad
 
PPTX
Get satrted angular js day 2
Alexandre Marreiros
 
PDF
Angular 2 observables
Geoffrey Filippi
 
PDF
Angular js
Knoldus Inc.
 
PPTX
Get satrted angular js
Alexandre Marreiros
 
PPTX
Jws masterclass progressive web apps
Alexandre Marreiros
 
Angular js 2
Ran Wahle
 
Migrating an application from Angular 1 to Angular 2
Ross Dederer
 
AngularJS2
Carlos Uscamayta
 
Angular 2 for Java Developers
Yakov Fain
 
Angular2.0@Shanghai0319
Bibby Chung
 
Web Components mit Polymer und AngularJS 1.x
PatrickHillert
 
Xamarin.forms
Alexandre Marreiros
 
Pt xug xamarin pratices on big ui consumer apps
Alexandre Marreiros
 
Code migration from Angular 1.x to Angular 2.0
Ran Wahle
 
The Art of Angular in 2016 - vJUG24
Matt Raible
 
Quick View of Angular JS for High School
Alexandre Marreiros
 
Cassandra Day Atlanta 2015: Feeding Solr at Large Scale with Apache Cassandra
DataStax Academy
 
Sofea in a soa ecosystem v0 4
Ganesh Prasad
 
Get satrted angular js day 2
Alexandre Marreiros
 
Angular 2 observables
Geoffrey Filippi
 
Angular js
Knoldus Inc.
 
Get satrted angular js
Alexandre Marreiros
 
Jws masterclass progressive web apps
Alexandre Marreiros
 
Ad

Similar to The evolution of Angular 2 @ AngularJS Munich Meetup #5 (20)

PPTX
Angular
sridhiya
 
PDF
El viaje de Angular1 a Angular2
Antonio de la Torre Fernández
 
PPT
Angular.ppt
Mytrux1
 
PPTX
Angular js 2.0 beta
Nagaraju Sangam
 
PDF
Web tools - angular js
Dr Karthikeyan Periasamy
 
PPTX
Angular%201%20to%20angular%202
Ran Wahle
 
PPTX
Reason to choose Angular JS for your Web Application
Priyanka Verma
 
PDF
From MEAN to the MERN Stack
Troy Miles
 
PDF
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]
Alex Ershov
 
PDF
Angular 2 - How we got here?
Marios Fakiolas
 
PDF
Angular 2 interview questions and answers
Anil Singh
 
PDF
Angular meetup 2 2019-08-29
Nitin Bhojwani
 
PPTX
Angular 2.0
Mallikarjuna G D
 
PPTX
Angular 2 - Better or worse
Vladimir Georgiev
 
PPTX
Santa Barbara AngularJS intro to 1.3
Sol Tran
 
PPT
Coffee@DBG - Exploring Angular JS
Deepu S Nath
 
PDF
Brief introduction to Angular 2.0 & 4.0
Nisheed Jagadish
 
PDF
Commit University - Exploring Angular 2
Commit University
 
PPTX
ME vs WEB - AngularJS Fundamentals
Aviran Cohen
 
PPTX
Angular
TejinderMakkar
 
Angular
sridhiya
 
El viaje de Angular1 a Angular2
Antonio de la Torre Fernández
 
Angular.ppt
Mytrux1
 
Angular js 2.0 beta
Nagaraju Sangam
 
Web tools - angular js
Dr Karthikeyan Periasamy
 
Angular%201%20to%20angular%202
Ran Wahle
 
Reason to choose Angular JS for your Web Application
Priyanka Verma
 
From MEAN to the MERN Stack
Troy Miles
 
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]
Alex Ershov
 
Angular 2 - How we got here?
Marios Fakiolas
 
Angular 2 interview questions and answers
Anil Singh
 
Angular meetup 2 2019-08-29
Nitin Bhojwani
 
Angular 2.0
Mallikarjuna G D
 
Angular 2 - Better or worse
Vladimir Georgiev
 
Santa Barbara AngularJS intro to 1.3
Sol Tran
 
Coffee@DBG - Exploring Angular JS
Deepu S Nath
 
Brief introduction to Angular 2.0 & 4.0
Nisheed Jagadish
 
Commit University - Exploring Angular 2
Commit University
 
ME vs WEB - AngularJS Fundamentals
Aviran Cohen
 
Ad

More from Johannes Weber (20)

PPTX
Progressive Web Apps - Intro & Learnings
Johannes Weber
 
PDF
Progressive Web Apps
Johannes Weber
 
PDF
Formular handling in AngularJS
Johannes Weber
 
PDF
AngularJS Munich Meetup #7 - Intro
Johannes Weber
 
PDF
#perfmatters - Optimizing the Critical Rendering Path
Johannes Weber
 
PDF
LeanJS - Lean startup with JavaScript
Johannes Weber
 
PDF
A Story about AngularJS modularization development
Johannes Weber
 
PDF
Debugging War Stories & Strategies to Survive on RejectJS 2014
Johannes Weber
 
PDF
Updated: Fiese Fallstricke, sexy Strategien
Johannes Weber
 
PDF
AngularJS with RequireJS
Johannes Weber
 
ODP
Responsive Webdesign: Fiese Fallstricke und sexy Strategien
Johannes Weber
 
PDF
Facebook, Google, Youtube & co
Johannes Weber
 
PPT
User centered design - Personas
Johannes Weber
 
PPT
jQuery Performance
Johannes Weber
 
PPT
Usability Test Inlandsüberweisung
Johannes Weber
 
PDF
Paper: Steuerung öffentlicher Screens
Johannes Weber
 
PPT
Steuerung öffentlicher Screens
Johannes Weber
 
PPT
Customer Centered Design
Johannes Weber
 
PPT
Hardware Usability Testing
Johannes Weber
 
PPT
Projektmanagement & Innovation
Johannes Weber
 
Progressive Web Apps - Intro & Learnings
Johannes Weber
 
Progressive Web Apps
Johannes Weber
 
Formular handling in AngularJS
Johannes Weber
 
AngularJS Munich Meetup #7 - Intro
Johannes Weber
 
#perfmatters - Optimizing the Critical Rendering Path
Johannes Weber
 
LeanJS - Lean startup with JavaScript
Johannes Weber
 
A Story about AngularJS modularization development
Johannes Weber
 
Debugging War Stories & Strategies to Survive on RejectJS 2014
Johannes Weber
 
Updated: Fiese Fallstricke, sexy Strategien
Johannes Weber
 
AngularJS with RequireJS
Johannes Weber
 
Responsive Webdesign: Fiese Fallstricke und sexy Strategien
Johannes Weber
 
Facebook, Google, Youtube & co
Johannes Weber
 
User centered design - Personas
Johannes Weber
 
jQuery Performance
Johannes Weber
 
Usability Test Inlandsüberweisung
Johannes Weber
 
Paper: Steuerung öffentlicher Screens
Johannes Weber
 
Steuerung öffentlicher Screens
Johannes Weber
 
Customer Centered Design
Johannes Weber
 
Hardware Usability Testing
Johannes Weber
 
Projektmanagement & Innovation
Johannes Weber
 

Recently uploaded (20)

PDF
Cleaning up your RPKI invalids, presented at PacNOG 35
APNIC
 
PDF
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
PDF
Paper: Quantum Financial System - DeFi patent wars
Steven McGee
 
DOCX
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
PPT
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
PDF
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
PDF
Boardroom AI: The Next 10 Moves | Cerebraix Talent Tech
Cerebraix Technologies
 
PPTX
Orchestrating things in Angular application
Peter Abraham
 
PDF
AI_MOD_1.pdf artificial intelligence notes
shreyarrce
 
PPTX
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
PDF
The Internet - By the numbers, presented at npNOG 11
APNIC
 
PPT
introduction to networking with basics coverage
RamananMuthukrishnan
 
PPTX
Lec15_Mutability Immutability-converted.pptx
khanjahanzaib1
 
PDF
BRKACI-1001 - Your First 7 Days of ACI.pdf
fcesargonca
 
PPTX
L1A Season 1 Guide made by A hegy Eng Grammar fixed
toszolder91
 
PDF
Top 10 Testing Procedures to Ensure Your Magento to Shopify Migration Success...
CartCoders
 
PPTX
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
PPTX
Presentation3gsgsgsgsdfgadgsfgfgsfgagsfgsfgzfdgsdgs.pptx
SUB03
 
PPTX
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
PPTX
法国巴黎第二大学本科毕业证{Paris 2学费发票Paris 2成绩单}办理方法
Taqyea
 
Cleaning up your RPKI invalids, presented at PacNOG 35
APNIC
 
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
Paper: Quantum Financial System - DeFi patent wars
Steven McGee
 
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
Boardroom AI: The Next 10 Moves | Cerebraix Talent Tech
Cerebraix Technologies
 
Orchestrating things in Angular application
Peter Abraham
 
AI_MOD_1.pdf artificial intelligence notes
shreyarrce
 
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
The Internet - By the numbers, presented at npNOG 11
APNIC
 
introduction to networking with basics coverage
RamananMuthukrishnan
 
Lec15_Mutability Immutability-converted.pptx
khanjahanzaib1
 
BRKACI-1001 - Your First 7 Days of ACI.pdf
fcesargonca
 
L1A Season 1 Guide made by A hegy Eng Grammar fixed
toszolder91
 
Top 10 Testing Procedures to Ensure Your Magento to Shopify Migration Success...
CartCoders
 
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
Presentation3gsgsgsgsdfgadgsfgfgsfgagsfgsfgzfdgsdgs.pptx
SUB03
 
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
法国巴黎第二大学本科毕业证{Paris 2学费发票Paris 2成绩单}办理方法
Taqyea
 

The evolution of Angular 2 @ AngularJS Munich Meetup #5

  • 3. Disclaimer Angular 2 is still on a developer preview! Things will/might change!
  • 4. 1. History of Angular 2. Get an overview of Angular 2.0 3. Angualr 2 Features 4. Bridging the gap Between 1.x and 2 Outline
  • 5. 3 weeks with Angular 1,500 LOC 6 months x 3 devs Before 17,000 LOC feedback
  • 8. “We’re designing Angular 2 for the way the world will look when we believe folks will use it. In particular, this means targeting modern browsers and using ECMAScript 6.” from the official Angular announcement
  • 10. Angular 2 • For “evergreen” Browsers • Chrome, Firefox, Opera, Safari and IE11 • Chrome on Android, iOS6+, Windows Phone 8+, FF mobile • Instrumented • Angular-wide logging service • diary.js
  • 11. Angular 2 • Modular • Every piece of Angular 2 is optional & replacable • Mobile first, Offline support • Simplify • Directives • Templating • IDE can validate and analyze • Performance • Improve first load time with prerendering • Superfast change detection
  • 15. Angular 2 Angular 2.0 is written in TypeScript You can write your code either in TS, ES6 or ES5
  • 17. Components <angular-js-munich-app></angular-js-munich-app> @Component({ selector: 'angular-js-munich-app', }) @View({ url: 'angular-js-munich.html' }) class AngularJSMunichApp { todos: [string]; constructor() { this.todos = ['this', 'usergroup', 'is', 'awesome']; } }
  • 19. Annotations in ES5 // Constructor function function AngularJSMunichApp() { } // Annotations attached to function AngularJSMunichApp.annotations = [ new Component({ selector: 'angular-js-munich-app' }), new View({ url: 'angular-js-munich.html' }) ]; customize the components
  • 20. Controllers class AngularJSMunichApp { todos: [string]; constructor() { this.todos = ['this', 'usergroup', 'is', 'awesome']; } addTodo(title: string) { this.todos.push(title); } } Holds the components JS logic
  • 21. Controllers in ES5 function AngularJSMunichApp() { this.todos = ['this', 'usergroup', 'is', 'awesome']; } AngularJSMunichApp.prototype.addTodo = function(title) { this.todos.push(title); }; Holds the components code
  • 22. @Component({ selector: 'angular-js-munich-app', }) @View({ url: 'angular-js-munich.html' }) class AngularJSMunichApp { todos: [string]; constructor() { this.todos = ['this', 'usergroup', 'is', 'awesome']; } } <angular-js-munich-app></angular-js-munich-app> Components
  • 23. Template Syntax Consists of 3 main features #localVar - Local Variables [innerText] - Property Binding (click) - Event Handler
  • 24. Template Syntax Consists of 3 main features <!-- # creates a local variable inside the template --> <input #textbox> <!-- (event) registers an event handler --> <button (click)="addTodo(textbox.value)"> Add </button> <!-- [property] binds a value to a property of a DOM element or component --> <div [innertext]="textbox.value"></div>
  • 25. Template Syntax Nofity about errors immediately <!-- # creates a local variable inside the template --> <input #textbox> <!-- (event) registers an event handler --> <button (clikc)="addtodo(textbox.value)"> Add </button> <!-- [property] binds a value to a property of a DOM element or component --> <div [innertext]="textBox.value"></div>
  • 26. Template Syntax Nofity about errors immediately
  • 29. Features... ● HTTP ○ retry ○ danymic Error handling ○ short polling, etc. ● WebSockets ● Broswer Storage ○ IndexedDB ○ LocalStorage ○ Session Storage ● Service Workers ● Angular 2 Data handling ● Observables ● Change Detection ○ Immutable, Mutable & Observable ● Promises vs. Observables ● Forms ● Formatters
  • 30. There is no migration path to 2.0
  • 32. There is no migration path to 2.0 are some
  • 34. Apply Angular 2 concepts in Angular 1
  • 35. Step 1 - Alignment 1. x 1. x myApp A CB ED myApp
  • 36. Step 1 - Alignment 1. x 1. x myApp A CB ED myApp Component Router ng2-now
  • 37. Step 2 - Migration 1. x 2. 0 myAppmyApp A CB ED A CB ED
  • 38. ES6 Migrating your code to ES6 is easier than you think.
  • 39. ES5 Angular 1 Service
  • 43. 1. Do 5 min quickstart at angular.io 2. Try sample code at learnangular2.com 3. Ask questions at gitter. im/angular/angular
  • 44. BTW: Services, Factories, … ? • They are all gone! • Replaced by (ES6) Classes • simpler definition • DI still available
  • 45. Upgrade to the latest stable Version
  • 49. Links Performance ● Gleb’s Angular 1.x performance guide bit.ly/ng- gleb ● Is Angular Fast Enough? whlp.ly/ng-fast- enough ● React + Angular = Speed bit.ly/ng-react-speed Learning ● A1 Link Collection https://goo.gl/86V7k ● A2 Link Collection bit.ly/ng2-links ● Angular 2 mental model bit.ly/ng2-mental- model ● Igor’s ng-conf keynote bit.ly/ngconf-igor ● Misko’s ng-conf keynote bit.ly/ngconf-misko ● Simple examples learnangular2.com ● Core concept behind A2 http://goo.gl/GTfKii ● Exploring ES6 Classes in A1 http://goo. gl/znSSs1 Ability to Reason ● Component-Driven Angular https://goo. gl/EoCcfL Talks ● ng-conf 2015 Talks https://goo.gl/nx8YR3 ● ng-vegas 2015 Talks https://goo.gl/RR6rCU Rendering ● Isomorphic Angular whlp.ly/isomorphic- angular ● NG2 Rendering Architecture https://goo. gl/mcFjSe ● NG2 Server Rendering whlp.ly/ng2-server- rendering ● NG2 Native Script https://goo.gl/BVADyc Migration ● Angular 1.3 meets 2.0 bit.ly/ngconf-migration ● NG2 Now bit.ly/ng2-now Angular 2 Change Detection ● Change Detection in A2 http://goo.gl/j3H8bV ● Change Deteciton Draft https://goo.gl/80tmGF ● Untra Fast CD https://goo.gl/ndfulh ● CD reinvented https://goo.gl/ffomFS Typescript ● Difference between Annotations and Decorators http://goo.gl/KJE4cx ● Learn TypeScript http://goo.gl/HSBT1Q