SlideShare uma empresa Scribd logo
1 de 93
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Angular 2 - The Next Framework
Angular 2 - The Next FrameworkAngular 2 - The Next Framework
Angular 2 - The Next FrameworkCommit 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 frameworkCodemotion
 
Angular2 with type script
Angular2 with type scriptAngular2 with type script
Angular2 with type scriptRavi 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 developersPaweł Ż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 BeginnersOswald Campesato
 
Angular 4 fronts
Angular 4 frontsAngular 4 fronts
Angular 4 frontsbadal dubla
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2Knoldus Inc.
 
Angular 6 - The Complete Guide
Angular 6 - The Complete GuideAngular 6 - The Complete Guide
Angular 6 - The Complete GuideSam Dias
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core ConceptsFabio Biondi
 
Angular Advanced Routing
Angular Advanced RoutingAngular Advanced Routing
Angular Advanced RoutingLaurent Duveau
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overviewJesse 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.0Oleksii Prohonnyi
 
Building Universal Applications with Angular 2
Building Universal Applications with Angular 2Building Universal Applications with Angular 2
Building Universal Applications with Angular 2Minko Gechev
 
Getting Started with Angular 2
Getting Started with Angular 2Getting Started with Angular 2
Getting Started with Angular 2FITC
 
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 #5Johannes 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 forceNicolas PENNEC
 

Mais procurados (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
 

Destaque

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 diaryShavit Cohen
 
Brief intro 2 to angular 2
Brief intro 2 to angular 2Brief intro 2 to angular 2
Brief intro 2 to angular 2Selasie 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 2Commit University
 
PPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPPT on Angular 2 Development Tutorial
PPT on Angular 2 Development TutorialPaddy Lock
 
Angular 2 with typescript
Angular 2 with typescriptAngular 2 with typescript
Angular 2 with typescriptTayseer_Emam
 
Angular 2 Migration - JHipster Meetup 6
Angular 2 Migration - JHipster Meetup 6Angular 2 Migration - JHipster Meetup 6
Angular 2 Migration - JHipster Meetup 6William 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 2015Matt 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 AngularJSLeonardo 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 CLIJim 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 ElectronLukas Ruebbelke
 
Angular js 2
Angular js 2Angular js 2
Angular js 2Ran Wahle
 
An afternoon with angular 2
An afternoon with angular 2An afternoon with angular 2
An afternoon with angular 2Mike Melusky
 
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 2016Matt Raible
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2Dawid 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 2016Codemotion
 
Angular 2 for Java Developers
Angular 2 for Java DevelopersAngular 2 for Java Developers
Angular 2 for Java DevelopersYakov Fain
 

Destaque (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
 

Semelhante a Introduction to angular 2

Angular for rookies MS TechDays 2017
Angular for rookies MS TechDays 2017Angular for rookies MS TechDays 2017
Angular for rookies MS TechDays 2017Erik van Appeldoorn
 
Angular2 & Native Script GDG DevFest 2016
Angular2 & Native Script GDG DevFest 2016Angular2 & Native Script GDG DevFest 2016
Angular2 & Native Script GDG DevFest 2016Luciano Murruni
 
Introduction To Angular 4 - J2I
Introduction To Angular 4 - J2IIntroduction To Angular 4 - J2I
Introduction To Angular 4 - J2INader Debbabi
 
Introduction to Angular for .NET Developers
Introduction to Angular for .NET DevelopersIntroduction to Angular for .NET Developers
Introduction to Angular for .NET DevelopersLaurent 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 2017Matt 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 2018Deepu 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 2016Carl 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 2017Matt 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 InterfaceTim Donohue
 
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 DevelopersLaurent 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 AzureAlberto Diaz Martin
 
Aswin's Profile
Aswin's ProfileAswin's Profile
Aswin's ProfileAswinT6
 
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 2019Matt Raible
 

Semelhante a 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
 

Último

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 

Último (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 

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