Angular 2
Minhas Impressões
@Component({selector: 'talk'})
@View({template: '<h1>Google I/O</h1>'})
// Component controller
class TalkComponent {
constructor() {
this.name = 'Paulo Pires';
this.twitter = '@paulo_hp';
}
}
Angular 1.x
Angular 1.4
Performance Melhorada
Novo Router e i18n
Suporte a CommonJS
Melhoria nas animações
E muito mais...
Angular 1.4
(use este hoje!)
Angular 1.5
(pode ser o elo até o 2.0)
Angular 2
/angular/angular
TypeScript
typescriptlang.org
Será que a checagem de tipo
em tempo de execução
pode deixar a app mais
lenta?
pergunta
Eu devo usar o TypeScript
para meu novo app em
Angular2?
pergunta
es6rocks.com
webcomponents.org
Sem controllers
3 tipos de
directives
@Component
@Viewport
@Decorator
Mas isso não quebra a separação
de 'concerns' que o Angular tanto
prega?
pergunta
Então vou ter que mudar tudo?
Converter todos meus controllers
para directives?
pergunta
O Angular2 é tipo o React.js,
no fim das contas? Vou ter
que escrever HTML inline?
pergunta
Sem
Two-Way data-binding
Agora vou ter que manipular
e construir formularios
na unha?
pergunta
Fluxo de dados unidirecional...
Posso usar Flux?
pergunta
Então o Angular2 é o React
implementado pela Google?
pergunta
Novo Router
/angular/router
Começo meu novo projeto com
o Router velho ou com o
novo?
pergunta
Real Modules
Tchau $scope
@Component({
selector: 'sample-app',
componentServices: [
NameList
]
})
@Template({
url: './templates/sample-app.html',
directives: [Foreach]
})
class SampleApp {
constructor() {
this.names = NameList.get();
this.newName = '';
}
addName(newname) {
this.names.push(newname.value);
newname.value = '';
}
}
...
<ul>
<li *foreach="#name in names"></li>
</ul>
...
Ultra Fast
Change Detection
DI Melhorada
/angular/di.js
import {Inject} from 'di';
import {Electricity} from './electricity';
@Inject(Electricity)
export class Fridge {
constructor(electricity) {
this.electricity = electricity;
}
getEggs() {
return '3 eggs';
}
}
Não esta
pronto para
producão!
Experimente!
perguntas?
Obrigado!

Angular 2