SlideShare a Scribd company logo
Introduction to Angular 2, DevMT Meetup, April 2016
Introduction to Angular 2
Dhyego Fernando
Introduction to Angular 2, DevMT Meetup, April 2016
Meetup?
Introduction to Angular 2, DevMT Meetup, April 2016
@dhyegofernando
full-stack dev
Introduction to Angular 2, DevMT Meetup, April 2016
Agenda
✓ How to prepare yourself?
✓ Short history about SPA
✓ Why Angular 2?
Introduction to Angular 2, DevMT Meetup, April 2016
the beginning
Introduction to Angular 2, DevMT Meetup, April 2016
youtube.com @2005
Introduction to Angular 2, DevMT Meetup, April 2016
Single Page Applications
Introduction to Angular 2, DevMT Meetup, April 2016
Introduction to Angular 2, DevMT Meetup, April 2016
Web Apps FTW
Introduction to Angular 2, DevMT Meetup, April 2016
GetAngular
Misko Hevery
Adam Abrons
Introduction to Angular 2, DevMT Meetup, April 2016
✓ Directives
✓ Data-binding
✓ MVWhatever
Introduction to Angular 2, DevMT Meetup, April 2016
Data-binding
<input type="text" ng-model="yourName">
<h1>Hello {{yourName}}!</h1>
Introduction to Angular 2, DevMT Meetup, April 2016
MVW
Introduction to Angular 2, DevMT Meetup, April 2016
Directives
<tabset>
<tab heading="Title 1">
<p>Content 1 goes here</p>
</tab>
<tab heading="Title 2">
<p>Content 2 goes here</p>
</tab>
<tab heading="Title 3">
<p>Content 3 goes here</p>
</tab>
</tabset>
1.1+ Million
Developers
Introduction to Angular 2, DevMT Meetup, April 2016
48k+ stars
Introduction to Angular 2, DevMT Meetup, April 2016
Angular 1 Releases
Introduction to Angular 2, DevMT Meetup, April 2016
Google products in Angular 1
Introduction to Angular 2, DevMT Meetup, April 2016
madewithangular.com
Introduction to Angular 2, DevMT Meetup, April 2016
+mobile platform apps
Introduction to Angular 2, DevMT Meetup, April 2016
Angular 2
Officialy announced at ng-europe 2014
Introduction to Angular 2, DevMT Meetup, April 2016
Why Angular 2?
Introduction to Angular 2, DevMT Meetup, April 2016
AngularJS (1.x)
→ Design decisions (not so good)
→ Web platform evolution
More at http://blog.jhades.org/introduction-to-angular2-the-main-goals
Introduction to Angular 2, DevMT Meetup, April 2016
Design Decisions
→ Third-party libraries (interoperability)
→ Directive Definition Object
→ $scope and $digest cycles
Introduction to Angular 2, DevMT Meetup, April 2016
Web platform evolution → Web Workers
→ Web Components
→ ES6, ES7, TypeScript, Dart…
→ Offline Apps (Service Workers)
→ Mobile Apps
Introduction to Angular 2, DevMT Meetup, April 2016
So, what’s new?
Introduction to Angular 2, DevMT Meetup, April 2016
What’s new?
Edge Web API Template Syntax Change Detection
Introduction to Angular 2, DevMT Meetup, April 2016
Edge Web API
x Directives + Content Transclusion✓ Directives + Content Transclusion
✓ Components + Content Projection
Introduction to Angular 2, DevMT Meetup, April 2016
Angular 1 Directives + Content Transclusion
Introduction to Angular 2, DevMT Meetup, April 2016
Angular 1: Directives + Content Transclusion
My Title
My Content
Property binding
Content transclusion
<my-card title="My Title">
<p>My Content</p>
</my-card>
Introduction to Angular 2, DevMT Meetup, April 2016
Property binding
Content transclusion
Angular 1: Directives + Content Transclusion
app.directive('myCard', function() {
// ...
scope: {
title: '@'
},
transclude: true
});
Introduction to Angular 2, DevMT Meetup, April 2016
Property binding
Content transclusion
<div class="my-card">
<h1>{{ title }}</h1>
<div ng-transclude></div>
</div>
Angular 1: Directives + Content Transclusion
Introduction to Angular 2, DevMT Meetup, April 2016
Angular 2 Components + Content Projection
Introduction to Angular 2, DevMT Meetup, April 2016
Angular 2: Components + Content Projection
Property binding
Content transclusion
<my-card [title]=“‘My Title’">
<p>My Content</p>
</my-card>
Introduction to Angular 2, DevMT Meetup, April 2016
Property binding
Content transclusion
Angular 2: Components + Content Projection
<div class="my-card">
<h1>{{ title }}</h1>
<content></content>
</div>
Introduction to Angular 2, DevMT Meetup, April 2016
Property binding
Content transclusion
Angular 2: Components + Content Projection
@Component({
selector: 'my-card',
properties: ['title']
})
@View({
// ...
encapsulation: ViewEncapsulation.Native
})
class MyCard { }
Introduction to Angular 2, DevMT Meetup, April 2016
Components
Template
Directive
Controller Component
ng1 ng2
Introduction to Angular 2, DevMT Meetup, April 2016
Edge Web API
✓ Component encapsulation (emulated or native)
✓ Plain JS Classes + Metadata

(TypeScript decorators are optionals)
Introduction to Angular 2, DevMT Meetup, April 2016
Template Syntax
Introduction to Angular 2, DevMT Meetup, April 2016
Angular 1: Template syntax
Entry property
Entry property
Out property
<my-card title="{{ title }}"
visible="visible"
remove="onRemove()"></my-card>
scope: {
title: '@',
visible: '=',
on-remote: '&'
}
Introduction to Angular 2, DevMT Meetup, April 2016
Templates
Binding Example
Properties
Events
Two-way
https://angular.io/docs/ts/latest/guide/template-syntax.html#!#binding-syntax
<input [value]="firstName">
<button (click)="save($event)">
<input [(ng-model)]="firstName">
Introduction to Angular 2, DevMT Meetup, April 2016
Angular 2: Template syntax
Entry property
Entry property
Out property
properties: [
'title',
'visible'
]
@Output() remove = new EventEmitter();
<my-card [title]=“title"
[visible]=“visible”
(remove)=“onRemove()”></my-card>
Introduction to Angular 2, DevMT Meetup, April 2016
Template Syntax
✓ Simpler API to memorize
✓ Valid HTML
✓ Syntax more semantic
Introduction to Angular 2, DevMT Meetup, April 2016
Change Detection
✓ Cyclic graphsx Cyclic graphs
✓ Tree of components
Introduction to Angular 2, DevMT Meetup, April 2016
Angular 1: Cyclic graphs
x Dirty checking
x Unpredictable watchers
x Unpredictable digest cycle runs
http://blog.jhades.org/introduction-to-angular2-the-main-goals/#howangular1implementsbinding
Introduction to Angular 2, DevMT Meetup, April 2016
Angular 2: Tree of components
✓ Predictable watchers
✓ Independent change detector
✓ Switchable strategies for each CD

(great for immutability)
@Component({
changeDetection: ChangeDetectionStrategy.OnPush
})
http://victorsavkin.com/post/110170125256/change-detection-in-angular-2
Introduction to Angular 2, DevMT Meetup, April 2016
Change Detection
✓ Faster changes detections (3x ~ 5x)
✓ Independent component CD
✓ Switchable change strategies

(can be more faster yet 3x ~ 8x)
✓ Tree of components
Introduction to Angular 2, DevMT Meetup, April 2016
Are we done?
Introduction to Angular 2, DevMT Meetup, April 2016
Isomorphic Rendering
https://github.com/angular/universal
Introduction to Angular 2, DevMT Meetup, April 2016
Web Workers Support ✓ Sandbox untrusted code
✓ Awesome for mobile
✓ Concurrency & Parallelism
https://github.com/angular/angular/blob/master/modules/angular2/docs/web_workers/web_workers.md
Introduction to Angular 2, DevMT Meetup, April 2016
Unidirectional Data Flow
✓ Easier to debug
✓ Interoperable (RxJS, Flux, Redux…)
✓ Faster
Introduction to Angular 2, DevMT Meetup, April 2016
Simpler to Learn
Introduction to Angular 2, DevMT Meetup, April 2016
Multi Languages Support
Introduction to Angular 2, DevMT Meetup, April 2016
ES5 ES6 TypeScript Dart
Multi Languages Support
Introduction to Angular 2, DevMT Meetup, April 2016
ES5 ES6 TypeScript Dart
No Compile Compile
Multi Languages Support
Introduction to Angular 2, DevMT Meetup, April 2016
ES5 ES6 TypeScript Dart
No Types Types
Multi Languages Support
Introduction to Angular 2, DevMT Meetup, April 2016
ES5 ES6 TypeScript Dart
JavaScript-Based Syntax No JS
Multi Languages Support
Introduction to Angular 2, DevMT Meetup, April 2016
ES6ES5 TypeScript Dart
No JS
ES6
JavaScript-Based Syntax
Multi Languages Support
Introduction to Angular 2, DevMT Meetup, April 2016
TypeScriptES6ES5 Dart
No JS
TypeScriptES6
JavaScript-Based Syntax
Multi Languages Support
Introduction to Angular 2, DevMT Meetup, April 2016
Tools
Introduction to Angular 2, DevMT Meetup, April 2016
Angular CLI
https://github.com/angular/angular-cli
Introduction to Angular 2, DevMT Meetup, April 2016
Introduction to Angular 2, DevMT Meetup, April 2016
Batarangle ✓ Template navigation
✓ Debugging
✓ Performance analysis
http://go.rangle.io/batarangle
Introduction to Angular 2, DevMT Meetup, April 2016
Cross Platform
Introduction to Angular 2, DevMT Meetup, April 2016
Cross Platform
Mobile Web MobileDesktop
Introduction to Angular 2, DevMT Meetup, April 2016
Angular
Universal
Web
Workers
Mobile Web
Material
Design
Introduction to Angular 2, DevMT Meetup, April 2016
Mobile
Introduction to Angular 2, DevMT Meetup, April 2016
Ionic Framework
Max Lynch

Adam Bradley
Introduction to Angular 2, DevMT Meetup, April 2016
Ionic Framework
✓ Apps featured by Google & Apple
✓ Battle-tested by lots of startups
✓ 1.2M+ apps built since 02/2014
Introduction to Angular 2, DevMT Meetup, April 2016
Ionic v2 built upon Angular 2
✓ Use modern Web APIs like Web Workers
✓ Express Ionic as a more traditional GUI architecture
✓ Dramatically improve render performance
✓ Reduce the barrier to entry (it’s mostly vanilla javascript)
http://ionic.io/2
Introduction to Angular 2, DevMT Meetup, April 2016
New features
✓ Material design support
✓ New animation and scrolling
✓ Overhauled navigation
✓ Powerful theming system
✓ New components and templates
Introduction to Angular 2, DevMT Meetup, April 2016
Introduction to Angular 2, DevMT Meetup, April 2016
The Path to Angular 2
Introduction to Angular 2, DevMT Meetup, April 2016
ng1
ng2
Introduction to Angular 2, DevMT Meetup, April 2016
...
Introduction to Angular 2, DevMT Meetup, April 2016
ngUpgrade
http://blog.thoughtram.io/angular/2015/10/24/upgrading-apps-to-angular-2-using-ngupgrade.html
https://github.com/angular/angular/tree/master/modules/playground/src/upgrade
Introduction to Angular 2, DevMT Meetup, April 2016
ngUpgrade
Left
Top Nav
Main View
1
1
1 1
1 1 1
1 1 1
1 1 1
Introduction to Angular 2, DevMT Meetup, April 2016
ngUpgrade
Left
Top Nav
Main View
1
1
1 1
1 1 1
1 1 1
1 1 1
2 2
2
2
2 2 2
2 2 2
2 2 2
Introduction to Angular 2, DevMT Meetup, April 2016
Learning Angular 2
Introduction to Angular 2, DevMT Meetup, April 2016
Supported Browsers
4.1+
9, 10, 11
Introduction to Angular 2, DevMT Meetup, April 2016
Release Status
https://splintercode.github.io/is-angular-2-ready/
Introduction to Angular 2, DevMT Meetup, April 2016
Live Demo
https://github.com/johnpapa/angular2-tour-of-heroes
Introduction to Angular 2, DevMT Meetup, April 2016
Want to talk too?
http://devmt.herokuapp.com/
+
Introduction to Angular 2, DevMT Meetup, April 2016
http://frontincuiaba.com.br/
Introduction to Angular 2, DevMT Meetup, April 2016
http://hackinarena.com.br/
Introduction to Angular 2, DevMT Meetup, April 2016
Feedbacks?
@dhyegofernando

More Related Content

What's hot

Angular 2 - The Next Framework
Angular 2 - The Next FrameworkAngular 2 - The Next Framework
Angular 2 - The Next Framework
Commit University
 
Angular 2: What's New?
Angular 2: What's New?Angular 2: What's New?
Angular 2: What's New?
jbandi
 
Angular 2 Essential Training
Angular 2 Essential Training Angular 2 Essential Training
Angular 2 Essential Training
Patrick Schroeder
 
Tech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new frameworkTech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new framework
Codemotion
 
Angular2 with type script
Angular2 with type scriptAngular2 with type script
Angular2 with type script
Ravi Mone
 
Quick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developersQuick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developers
Paweł Żurowski
 
Angular 2... so can I use it now??
Angular 2... so can I use it now??Angular 2... so can I use it now??
Angular 2... so can I use it now??
Laurent Duveau
 
Angular1x and Angular 2 for Beginners
Angular1x and Angular 2 for BeginnersAngular1x and Angular 2 for Beginners
Angular1x and Angular 2 for Beginners
Oswald Campesato
 
Angular 4 fronts
Angular 4 frontsAngular 4 fronts
Angular 4 fronts
badal dubla
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
Knoldus Inc.
 
Angular 6 - The Complete Guide
Angular 6 - The Complete GuideAngular 6 - The Complete Guide
Angular 6 - The Complete Guide
Sam Dias
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core Concepts
Fabio Biondi
 
Angular Advanced Routing
Angular Advanced RoutingAngular Advanced Routing
Angular Advanced Routing
Laurent Duveau
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overview
Jesse Warden
 
Dive into Angular, part 4: Angular 2.0
Dive into Angular, part 4: Angular 2.0Dive into Angular, part 4: Angular 2.0
Dive into Angular, part 4: Angular 2.0
Oleksii Prohonnyi
 
Building Universal Applications with Angular 2
Building Universal Applications with Angular 2Building Universal Applications with Angular 2
Building Universal Applications with Angular 2
Minko Gechev
 
Getting Started with Angular 2
Getting Started with Angular 2Getting Started with Angular 2
Getting Started with Angular 2
FITC
 
The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5
Johannes Weber
 
Angular 2 : le réveil de la force
Angular 2 : le réveil de la forceAngular 2 : le réveil de la force
Angular 2 : le réveil de la force
Nicolas PENNEC
 
Angular 9
Angular 9 Angular 9
Angular 9
Raja Vishnu
 

What's hot (20)

Angular 2 - The Next Framework
Angular 2 - The Next FrameworkAngular 2 - The Next Framework
Angular 2 - The Next Framework
 
Angular 2: What's New?
Angular 2: What's New?Angular 2: What's New?
Angular 2: What's New?
 
Angular 2 Essential Training
Angular 2 Essential Training Angular 2 Essential Training
Angular 2 Essential Training
 
Tech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new frameworkTech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new framework
 
Angular2 with type script
Angular2 with type scriptAngular2 with type script
Angular2 with type script
 
Quick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developersQuick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developers
 
Angular 2... so can I use it now??
Angular 2... so can I use it now??Angular 2... so can I use it now??
Angular 2... so can I use it now??
 
Angular1x and Angular 2 for Beginners
Angular1x and Angular 2 for BeginnersAngular1x and Angular 2 for Beginners
Angular1x and Angular 2 for Beginners
 
Angular 4 fronts
Angular 4 frontsAngular 4 fronts
Angular 4 fronts
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
 
Angular 6 - The Complete Guide
Angular 6 - The Complete GuideAngular 6 - The Complete Guide
Angular 6 - The Complete Guide
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core Concepts
 
Angular Advanced Routing
Angular Advanced RoutingAngular Advanced Routing
Angular Advanced Routing
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overview
 
Dive into Angular, part 4: Angular 2.0
Dive into Angular, part 4: Angular 2.0Dive into Angular, part 4: Angular 2.0
Dive into Angular, part 4: Angular 2.0
 
Building Universal Applications with Angular 2
Building Universal Applications with Angular 2Building Universal Applications with Angular 2
Building Universal Applications with Angular 2
 
Getting Started with Angular 2
Getting Started with Angular 2Getting Started with Angular 2
Getting Started with Angular 2
 
The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5
 
Angular 2 : le réveil de la force
Angular 2 : le réveil de la forceAngular 2 : le réveil de la force
Angular 2 : le réveil de la force
 
Angular 9
Angular 9 Angular 9
Angular 9
 

Viewers also liked

Migrating an Application from Angular 1 to Angular 2
Migrating an Application from Angular 1 to Angular 2 Migrating an Application from Angular 1 to Angular 2
Migrating an Application from Angular 1 to Angular 2
Ross Dederer
 
Angular 2 a traveler's diary
Angular 2   a traveler's diaryAngular 2   a traveler's diary
Angular 2 a traveler's diary
Shavit Cohen
 
Angular 2.0
Angular 2.0Angular 2.0
Angular 2.0
Nitin Giri
 
Brief intro 2 to angular 2
Brief intro 2 to angular 2Brief intro 2 to angular 2
Brief intro 2 to angular 2
Selasie Hanson
 
AzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
AzovDevMeetup 2016 | Angular 2: обзор | Александр ШевнинAzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
AzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
JSC “Arcadia Inc”
 
Commit University - Exploring Angular 2
Commit University - Exploring Angular 2Commit University - Exploring Angular 2
Commit University - Exploring Angular 2
Commit University
 
PPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPPT on Angular 2 Development Tutorial
PPT on Angular 2 Development Tutorial
Paddy Lock
 
Angular 2 with typescript
Angular 2 with typescriptAngular 2 with typescript
Angular 2 with typescript
Tayseer_Emam
 
Angular 2 Migration - JHipster Meetup 6
Angular 2 Migration - JHipster Meetup 6Angular 2 Migration - JHipster Meetup 6
Angular 2 Migration - JHipster Meetup 6
William Marques
 
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Matt Raible
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJS
Leonardo Zanivan
 
Getting Started with the Angular 2 CLI
Getting Started with the Angular 2 CLIGetting Started with the Angular 2 CLI
Getting Started with the Angular 2 CLI
Jim Lynch
 
Get that Corner Office with Angular 2 and Electron
Get that Corner Office with Angular 2 and ElectronGet that Corner Office with Angular 2 and Electron
Get that Corner Office with Angular 2 and Electron
Lukas Ruebbelke
 
Angular js 2
Angular js 2Angular js 2
Angular js 2
Ran Wahle
 
An afternoon with angular 2
An afternoon with angular 2An afternoon with angular 2
An afternoon with angular 2
Mike Melusky
 
Angular 2
Angular 2Angular 2
Angular 2
Nigam Goyal
 
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016
Matt Raible
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
Dawid Myslak
 
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
Codemotion
 
Angular 2 for Java Developers
Angular 2 for Java DevelopersAngular 2 for Java Developers
Angular 2 for Java Developers
Yakov Fain
 

Viewers also liked (20)

Migrating an Application from Angular 1 to Angular 2
Migrating an Application from Angular 1 to Angular 2 Migrating an Application from Angular 1 to Angular 2
Migrating an Application from Angular 1 to Angular 2
 
Angular 2 a traveler's diary
Angular 2   a traveler's diaryAngular 2   a traveler's diary
Angular 2 a traveler's diary
 
Angular 2.0
Angular 2.0Angular 2.0
Angular 2.0
 
Brief intro 2 to angular 2
Brief intro 2 to angular 2Brief intro 2 to angular 2
Brief intro 2 to angular 2
 
AzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
AzovDevMeetup 2016 | Angular 2: обзор | Александр ШевнинAzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
AzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
 
Commit University - Exploring Angular 2
Commit University - Exploring Angular 2Commit University - Exploring Angular 2
Commit University - Exploring Angular 2
 
PPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPPT on Angular 2 Development Tutorial
PPT on Angular 2 Development Tutorial
 
Angular 2 with typescript
Angular 2 with typescriptAngular 2 with typescript
Angular 2 with typescript
 
Angular 2 Migration - JHipster Meetup 6
Angular 2 Migration - JHipster Meetup 6Angular 2 Migration - JHipster Meetup 6
Angular 2 Migration - JHipster Meetup 6
 
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJS
 
Getting Started with the Angular 2 CLI
Getting Started with the Angular 2 CLIGetting Started with the Angular 2 CLI
Getting Started with the Angular 2 CLI
 
Get that Corner Office with Angular 2 and Electron
Get that Corner Office with Angular 2 and ElectronGet that Corner Office with Angular 2 and Electron
Get that Corner Office with Angular 2 and Electron
 
Angular js 2
Angular js 2Angular js 2
Angular js 2
 
An afternoon with angular 2
An afternoon with angular 2An afternoon with angular 2
An afternoon with angular 2
 
Angular 2
Angular 2Angular 2
Angular 2
 
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
 
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
 
Angular 2 for Java Developers
Angular 2 for Java DevelopersAngular 2 for Java Developers
Angular 2 for Java Developers
 

Similar to Introduction to angular 2

El viaje de Angular1 a Angular2
El viaje de Angular1 a Angular2El viaje de Angular1 a Angular2
El viaje de Angular1 a Angular2
Antonio de la Torre Fernández
 
Angular
AngularAngular
Angular
sridhiya
 
Angular for rookies MS TechDays 2017
Angular for rookies MS TechDays 2017Angular for rookies MS TechDays 2017
Angular for rookies MS TechDays 2017
Erik van Appeldoorn
 
Angular2 & Native Script GDG DevFest 2016
Angular2 & Native Script GDG DevFest 2016Angular2 & Native Script GDG DevFest 2016
Angular2 & Native Script GDG DevFest 2016
Luciano Murruni
 
Angular
AngularAngular
Introduction To Angular 4 - J2I
Introduction To Angular 4 - J2IIntroduction To Angular 4 - J2I
Introduction To Angular 4 - J2I
Nader Debbabi
 
Introduction to Angular for .NET Developers
Introduction to Angular for .NET DevelopersIntroduction to Angular for .NET Developers
Introduction to Angular for .NET Developers
Laurent Duveau
 
Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017
Matt Raible
 
Front-end for Java developers Devoxx France 2018
Front-end for Java developers Devoxx France 2018Front-end for Java developers Devoxx France 2018
Front-end for Java developers Devoxx France 2018
Deepu K Sasidharan
 
Swift 2.2 Design Patterns CocoaConf Austin 2016
Swift 2.2 Design Patterns CocoaConf Austin 2016Swift 2.2 Design Patterns CocoaConf Austin 2016
Swift 2.2 Design Patterns CocoaConf Austin 2016
Carl Brown
 
Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017
Matt Raible
 
APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...
APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...
APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...
apidays
 
Introducing the New DSpace User Interface
Introducing the New DSpace User InterfaceIntroducing the New DSpace User Interface
Introducing the New DSpace User Interface
Tim Donohue
 
Angular js workshop
Angular js workshopAngular js workshop
Angular js workshop
Rolands Krumbergs
 
Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...
Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...
Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...
Edureka!
 
Pwa, separating the features from the solutions
Pwa, separating the features from the solutions Pwa, separating the features from the solutions
Pwa, separating the features from the solutions
Sander Mangel
 
Introduction to Angular with TypeScript for .NET Developers
Introduction to Angular with TypeScript for .NET DevelopersIntroduction to Angular with TypeScript for .NET Developers
Introduction to Angular with TypeScript for .NET Developers
Laurent Duveau
 
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en AzureGapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
Alberto Diaz Martin
 
Aswin's Profile
Aswin's ProfileAswin's Profile
Aswin's Profile
AswinT6
 
Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019
Matt Raible
 

Similar to Introduction to angular 2 (20)

El viaje de Angular1 a Angular2
El viaje de Angular1 a Angular2El viaje de Angular1 a Angular2
El viaje de Angular1 a Angular2
 
Angular
AngularAngular
Angular
 
Angular for rookies MS TechDays 2017
Angular for rookies MS TechDays 2017Angular for rookies MS TechDays 2017
Angular for rookies MS TechDays 2017
 
Angular2 & Native Script GDG DevFest 2016
Angular2 & Native Script GDG DevFest 2016Angular2 & Native Script GDG DevFest 2016
Angular2 & Native Script GDG DevFest 2016
 
Angular
AngularAngular
Angular
 
Introduction To Angular 4 - J2I
Introduction To Angular 4 - J2IIntroduction To Angular 4 - J2I
Introduction To Angular 4 - J2I
 
Introduction to Angular for .NET Developers
Introduction to Angular for .NET DevelopersIntroduction to Angular for .NET Developers
Introduction to Angular for .NET Developers
 
Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017
 
Front-end for Java developers Devoxx France 2018
Front-end for Java developers Devoxx France 2018Front-end for Java developers Devoxx France 2018
Front-end for Java developers Devoxx France 2018
 
Swift 2.2 Design Patterns CocoaConf Austin 2016
Swift 2.2 Design Patterns CocoaConf Austin 2016Swift 2.2 Design Patterns CocoaConf Austin 2016
Swift 2.2 Design Patterns CocoaConf Austin 2016
 
Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017
 
APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...
APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...
APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...
 
Introducing the New DSpace User Interface
Introducing the New DSpace User InterfaceIntroducing the New DSpace User Interface
Introducing the New DSpace User Interface
 
Angular js workshop
Angular js workshopAngular js workshop
Angular js workshop
 
Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...
Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...
Angular 4 Tutorial For Beginners | Angular 4 Introduction | Angular 4 Trainin...
 
Pwa, separating the features from the solutions
Pwa, separating the features from the solutions Pwa, separating the features from the solutions
Pwa, separating the features from the solutions
 
Introduction to Angular with TypeScript for .NET Developers
Introduction to Angular with TypeScript for .NET DevelopersIntroduction to Angular with TypeScript for .NET Developers
Introduction to Angular with TypeScript for .NET Developers
 
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en AzureGapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
 
Aswin's Profile
Aswin's ProfileAswin's Profile
Aswin's Profile
 
Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019
 

Recently uploaded

Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 

Recently uploaded (20)

Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 

Introduction to angular 2

  • 1. Introduction to Angular 2, DevMT Meetup, April 2016 Introduction to Angular 2 Dhyego Fernando
  • 2. Introduction to Angular 2, DevMT Meetup, April 2016 Meetup?
  • 3. Introduction to Angular 2, DevMT Meetup, April 2016 @dhyegofernando full-stack dev
  • 4. Introduction to Angular 2, DevMT Meetup, April 2016 Agenda ✓ How to prepare yourself? ✓ Short history about SPA ✓ Why Angular 2?
  • 5.
  • 6. Introduction to Angular 2, DevMT Meetup, April 2016 the beginning
  • 7. Introduction to Angular 2, DevMT Meetup, April 2016 youtube.com @2005
  • 8.
  • 9. Introduction to Angular 2, DevMT Meetup, April 2016 Single Page Applications
  • 10. Introduction to Angular 2, DevMT Meetup, April 2016
  • 11. Introduction to Angular 2, DevMT Meetup, April 2016 Web Apps FTW
  • 12. Introduction to Angular 2, DevMT Meetup, April 2016 GetAngular Misko Hevery Adam Abrons
  • 13. Introduction to Angular 2, DevMT Meetup, April 2016 ✓ Directives ✓ Data-binding ✓ MVWhatever
  • 14. Introduction to Angular 2, DevMT Meetup, April 2016 Data-binding <input type="text" ng-model="yourName"> <h1>Hello {{yourName}}!</h1>
  • 15. Introduction to Angular 2, DevMT Meetup, April 2016 MVW
  • 16. Introduction to Angular 2, DevMT Meetup, April 2016 Directives <tabset> <tab heading="Title 1"> <p>Content 1 goes here</p> </tab> <tab heading="Title 2"> <p>Content 2 goes here</p> </tab> <tab heading="Title 3"> <p>Content 3 goes here</p> </tab> </tabset>
  • 18. Introduction to Angular 2, DevMT Meetup, April 2016 48k+ stars
  • 19. Introduction to Angular 2, DevMT Meetup, April 2016 Angular 1 Releases
  • 20. Introduction to Angular 2, DevMT Meetup, April 2016 Google products in Angular 1
  • 21. Introduction to Angular 2, DevMT Meetup, April 2016 madewithangular.com
  • 22. Introduction to Angular 2, DevMT Meetup, April 2016 +mobile platform apps
  • 23. Introduction to Angular 2, DevMT Meetup, April 2016 Angular 2 Officialy announced at ng-europe 2014
  • 24.
  • 25. Introduction to Angular 2, DevMT Meetup, April 2016 Why Angular 2?
  • 26. Introduction to Angular 2, DevMT Meetup, April 2016 AngularJS (1.x) → Design decisions (not so good) → Web platform evolution More at http://blog.jhades.org/introduction-to-angular2-the-main-goals
  • 27. Introduction to Angular 2, DevMT Meetup, April 2016 Design Decisions → Third-party libraries (interoperability) → Directive Definition Object → $scope and $digest cycles
  • 28. Introduction to Angular 2, DevMT Meetup, April 2016 Web platform evolution → Web Workers → Web Components → ES6, ES7, TypeScript, Dart… → Offline Apps (Service Workers) → Mobile Apps
  • 29. Introduction to Angular 2, DevMT Meetup, April 2016 So, what’s new?
  • 30. Introduction to Angular 2, DevMT Meetup, April 2016 What’s new? Edge Web API Template Syntax Change Detection
  • 31. Introduction to Angular 2, DevMT Meetup, April 2016 Edge Web API x Directives + Content Transclusion✓ Directives + Content Transclusion ✓ Components + Content Projection
  • 32. Introduction to Angular 2, DevMT Meetup, April 2016 Angular 1 Directives + Content Transclusion
  • 33. Introduction to Angular 2, DevMT Meetup, April 2016 Angular 1: Directives + Content Transclusion My Title My Content Property binding Content transclusion <my-card title="My Title"> <p>My Content</p> </my-card>
  • 34. Introduction to Angular 2, DevMT Meetup, April 2016 Property binding Content transclusion Angular 1: Directives + Content Transclusion app.directive('myCard', function() { // ... scope: { title: '@' }, transclude: true });
  • 35. Introduction to Angular 2, DevMT Meetup, April 2016 Property binding Content transclusion <div class="my-card"> <h1>{{ title }}</h1> <div ng-transclude></div> </div> Angular 1: Directives + Content Transclusion
  • 36. Introduction to Angular 2, DevMT Meetup, April 2016 Angular 2 Components + Content Projection
  • 37. Introduction to Angular 2, DevMT Meetup, April 2016 Angular 2: Components + Content Projection Property binding Content transclusion <my-card [title]=“‘My Title’"> <p>My Content</p> </my-card>
  • 38. Introduction to Angular 2, DevMT Meetup, April 2016 Property binding Content transclusion Angular 2: Components + Content Projection <div class="my-card"> <h1>{{ title }}</h1> <content></content> </div>
  • 39. Introduction to Angular 2, DevMT Meetup, April 2016 Property binding Content transclusion Angular 2: Components + Content Projection @Component({ selector: 'my-card', properties: ['title'] }) @View({ // ... encapsulation: ViewEncapsulation.Native }) class MyCard { }
  • 40. Introduction to Angular 2, DevMT Meetup, April 2016 Components Template Directive Controller Component ng1 ng2
  • 41. Introduction to Angular 2, DevMT Meetup, April 2016 Edge Web API ✓ Component encapsulation (emulated or native) ✓ Plain JS Classes + Metadata
 (TypeScript decorators are optionals)
  • 42. Introduction to Angular 2, DevMT Meetup, April 2016 Template Syntax
  • 43. Introduction to Angular 2, DevMT Meetup, April 2016 Angular 1: Template syntax Entry property Entry property Out property <my-card title="{{ title }}" visible="visible" remove="onRemove()"></my-card> scope: { title: '@', visible: '=', on-remote: '&' }
  • 44. Introduction to Angular 2, DevMT Meetup, April 2016 Templates Binding Example Properties Events Two-way https://angular.io/docs/ts/latest/guide/template-syntax.html#!#binding-syntax <input [value]="firstName"> <button (click)="save($event)"> <input [(ng-model)]="firstName">
  • 45. Introduction to Angular 2, DevMT Meetup, April 2016 Angular 2: Template syntax Entry property Entry property Out property properties: [ 'title', 'visible' ] @Output() remove = new EventEmitter(); <my-card [title]=“title" [visible]=“visible” (remove)=“onRemove()”></my-card>
  • 46. Introduction to Angular 2, DevMT Meetup, April 2016 Template Syntax ✓ Simpler API to memorize ✓ Valid HTML ✓ Syntax more semantic
  • 47. Introduction to Angular 2, DevMT Meetup, April 2016 Change Detection ✓ Cyclic graphsx Cyclic graphs ✓ Tree of components
  • 48. Introduction to Angular 2, DevMT Meetup, April 2016 Angular 1: Cyclic graphs x Dirty checking x Unpredictable watchers x Unpredictable digest cycle runs http://blog.jhades.org/introduction-to-angular2-the-main-goals/#howangular1implementsbinding
  • 49. Introduction to Angular 2, DevMT Meetup, April 2016 Angular 2: Tree of components ✓ Predictable watchers ✓ Independent change detector ✓ Switchable strategies for each CD
 (great for immutability) @Component({ changeDetection: ChangeDetectionStrategy.OnPush }) http://victorsavkin.com/post/110170125256/change-detection-in-angular-2
  • 50. Introduction to Angular 2, DevMT Meetup, April 2016 Change Detection ✓ Faster changes detections (3x ~ 5x) ✓ Independent component CD ✓ Switchable change strategies
 (can be more faster yet 3x ~ 8x) ✓ Tree of components
  • 51. Introduction to Angular 2, DevMT Meetup, April 2016 Are we done?
  • 52.
  • 53. Introduction to Angular 2, DevMT Meetup, April 2016 Isomorphic Rendering https://github.com/angular/universal
  • 54. Introduction to Angular 2, DevMT Meetup, April 2016 Web Workers Support ✓ Sandbox untrusted code ✓ Awesome for mobile ✓ Concurrency & Parallelism https://github.com/angular/angular/blob/master/modules/angular2/docs/web_workers/web_workers.md
  • 55. Introduction to Angular 2, DevMT Meetup, April 2016 Unidirectional Data Flow ✓ Easier to debug ✓ Interoperable (RxJS, Flux, Redux…) ✓ Faster
  • 56. Introduction to Angular 2, DevMT Meetup, April 2016 Simpler to Learn
  • 57. Introduction to Angular 2, DevMT Meetup, April 2016 Multi Languages Support
  • 58. Introduction to Angular 2, DevMT Meetup, April 2016 ES5 ES6 TypeScript Dart Multi Languages Support
  • 59. Introduction to Angular 2, DevMT Meetup, April 2016 ES5 ES6 TypeScript Dart No Compile Compile Multi Languages Support
  • 60. Introduction to Angular 2, DevMT Meetup, April 2016 ES5 ES6 TypeScript Dart No Types Types Multi Languages Support
  • 61. Introduction to Angular 2, DevMT Meetup, April 2016 ES5 ES6 TypeScript Dart JavaScript-Based Syntax No JS Multi Languages Support
  • 62. Introduction to Angular 2, DevMT Meetup, April 2016 ES6ES5 TypeScript Dart No JS ES6 JavaScript-Based Syntax Multi Languages Support
  • 63. Introduction to Angular 2, DevMT Meetup, April 2016 TypeScriptES6ES5 Dart No JS TypeScriptES6 JavaScript-Based Syntax Multi Languages Support
  • 64. Introduction to Angular 2, DevMT Meetup, April 2016 Tools
  • 65. Introduction to Angular 2, DevMT Meetup, April 2016 Angular CLI https://github.com/angular/angular-cli
  • 66. Introduction to Angular 2, DevMT Meetup, April 2016
  • 67. Introduction to Angular 2, DevMT Meetup, April 2016 Batarangle ✓ Template navigation ✓ Debugging ✓ Performance analysis http://go.rangle.io/batarangle
  • 68.
  • 69. Introduction to Angular 2, DevMT Meetup, April 2016 Cross Platform
  • 70.
  • 71. Introduction to Angular 2, DevMT Meetup, April 2016 Cross Platform Mobile Web MobileDesktop
  • 72. Introduction to Angular 2, DevMT Meetup, April 2016 Angular Universal Web Workers Mobile Web Material Design
  • 73. Introduction to Angular 2, DevMT Meetup, April 2016 Mobile
  • 74. Introduction to Angular 2, DevMT Meetup, April 2016 Ionic Framework Max Lynch
 Adam Bradley
  • 75. Introduction to Angular 2, DevMT Meetup, April 2016 Ionic Framework ✓ Apps featured by Google & Apple ✓ Battle-tested by lots of startups ✓ 1.2M+ apps built since 02/2014
  • 76. Introduction to Angular 2, DevMT Meetup, April 2016 Ionic v2 built upon Angular 2 ✓ Use modern Web APIs like Web Workers ✓ Express Ionic as a more traditional GUI architecture ✓ Dramatically improve render performance ✓ Reduce the barrier to entry (it’s mostly vanilla javascript) http://ionic.io/2
  • 77. Introduction to Angular 2, DevMT Meetup, April 2016 New features ✓ Material design support ✓ New animation and scrolling ✓ Overhauled navigation ✓ Powerful theming system ✓ New components and templates
  • 78. Introduction to Angular 2, DevMT Meetup, April 2016
  • 79. Introduction to Angular 2, DevMT Meetup, April 2016 The Path to Angular 2
  • 80. Introduction to Angular 2, DevMT Meetup, April 2016 ng1 ng2
  • 81. Introduction to Angular 2, DevMT Meetup, April 2016 ...
  • 82. Introduction to Angular 2, DevMT Meetup, April 2016 ngUpgrade http://blog.thoughtram.io/angular/2015/10/24/upgrading-apps-to-angular-2-using-ngupgrade.html https://github.com/angular/angular/tree/master/modules/playground/src/upgrade
  • 83. Introduction to Angular 2, DevMT Meetup, April 2016 ngUpgrade Left Top Nav Main View 1 1 1 1 1 1 1 1 1 1 1 1 1
  • 84. Introduction to Angular 2, DevMT Meetup, April 2016 ngUpgrade Left Top Nav Main View 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2
  • 85. Introduction to Angular 2, DevMT Meetup, April 2016 Learning Angular 2
  • 86. Introduction to Angular 2, DevMT Meetup, April 2016 Supported Browsers 4.1+ 9, 10, 11
  • 87. Introduction to Angular 2, DevMT Meetup, April 2016 Release Status https://splintercode.github.io/is-angular-2-ready/
  • 88. Introduction to Angular 2, DevMT Meetup, April 2016 Live Demo https://github.com/johnpapa/angular2-tour-of-heroes
  • 89.
  • 90. Introduction to Angular 2, DevMT Meetup, April 2016 Want to talk too? http://devmt.herokuapp.com/ +
  • 91. Introduction to Angular 2, DevMT Meetup, April 2016 http://frontincuiaba.com.br/
  • 92. Introduction to Angular 2, DevMT Meetup, April 2016 http://hackinarena.com.br/
  • 93. Introduction to Angular 2, DevMT Meetup, April 2016 Feedbacks? @dhyegofernando