#DevFest #nantes
http://ramonmr.com/wp-content/uploads/2015/05/Google-Material-Design-Wallpaper.jpg
“
“
Web Technologies Architect at SII (Paris)
Google Developer Expert in AngularJS
global network of experienced product strategists, designers, developers and marketing professionals that actively support developers and startups.
TIME
TO LEARN ANGULAR 2
Angular 2
is built using
TypeScript
ES5
ES2015
ES2016
TS
ES+
you can use TypeScript
ES6/7 or ES5
you should learn ES6/7
bit.ly/learn-es2015 - Learn ES6 (french only)
you should learn TypeScript
YOUR
APPLICATION
IS A TREE OF
SELF-DESCRIBING
COMPONENTS
import {Component} from 'angular2/angular2';
@Component({
/* configuration */
})
class Application {
/* ... */
}
<!-- index.html -->
<devfest>
Your application is loading...
</devfest>
// application.ts
import {Component} from 'angular2/angular2';
import {Toolbar} from './components/toolbar/toolbar';
@Component({
selector: 'devfest'
template: `<toolbar></toolbar>`,
directives: [ Toolbar ]
})
export class Devfest { /* ... */ }
// class decorators
@Component({...})
@Pipe({...})
@Directive({...})
@RouteConfig([...])
@Injectable()
// fields decorators
@Input()
@Output()
@HostBinding([...])
@ViewChild()
//...etc
// lifecylces
onInit()
onDestroy()
onChanges()
afterViewInit()
//...etc
<!-- properties binding -->
<input [value]="firstName">
<div [class.extra-sparkle]="isDelightful">
<div [style.width.px]="mySize">
<label [attr.for]="someName"></label>
<!-- event binding -->
<button (click)="readRainbow($event)">
<button (^click)="delegateEvent($event)">
<!-- two way binding -->
<my-cmp [(title)]="name">
<!-- builtin directives -->
<section *ng-if="showSection">
<li *ng-for="#item of list">
<!-- ...etc -->
https://plus.google.com/photos/+AlejandroDeLaRosa05/albums/6110903958455761281/6110904013763089538?sqi=109024875292709480869&sqsi=c3d26bbe-f1d7-4759-92bf-1df7959cd77c&pid=6110904013763089538&oid=114772705002835242470
(click on the envelop)
UNIVERSAL
NEEDS YOU
(click on the glob)
@manekinekko