SlideShare uma empresa Scribd logo
A evolução do AngularJS
Rodrigo Branas
http://www.agilecode.com.br
A evolução do AngularJS
http://www.youtube.com/rodrigobranas
O Angular é um framework para o
desenvolvimento de aplicações web
utilizando JavaScript ou Dart
Estrutura a arquitetura da aplicação
em camadas bem definidas
Estimula a criação componentes
reusáveis e modularizáveis
Fornece a infraestrutura necessária
para integrar com o back-end
Facilita muito a automação de testes
tanto unitários quanto end-to-end
Criado em 2009 por
Miško Hevery e Adams Abrons
Principais commiters do Angular
Igor Minar e Miško Hevery
Facilitar a criação de aplicações web
Já pensou quanto código precisamos
escrever para criar uma aplicação simples?
A evolução do AngularJS
17.000 linhas e 6 meses depois...
Aposto que consigo reescrever o
projeto todo em apenas 2 semanas...
Eles conseguiram reescrever tudo em
apenas 1.500 linhas, 3 semanas depois
O Google decidiu adotar o projeto...
É como casar com mulher rica, o
futuro está garantido!
O interesse pelo framework vem
crescendo cada vez mais!
1.0.0 temporal-domination (2012-06-13)
1.2.0 timely-delivery (2013-11-08)
1.3.0 superluminal-nudge (2014-10-13)
1.4.0-beta.6 cookie-liberation (2015-03-17)
O Angular tem uma comunidade
muito forte e atuante
Atualmente, o projeto tem mais
de 1.235 contribuidores
Todo mês, várias atualizações
são lançadas
1.4.0-rc.2 rocket-zambonimation (2015-05-12)
v1.4.0-rc.1 sartorial-chronography (2015-04-24)
v1.4.0-rc.0 smooth-unwinding (2015-04-10)
1.4.0-beta.6 cookie-liberation (2015-03-17)
1.3.15 locality-filtration (2015-03-17)
1.4.0-beta.5 karmic-stabilization (2015-02-24)
1.3.14 instantaneous-browserification (2015-02-24)
1.4.0-beta.4 overlyexplosive-poprocks (2015-02-09)
1.3.13 meticulous-riffleshuffle (2015-02-09)
1.4.0-beta.3 substance-mimicry (2015-02-02)
1.3.12 outlandish-knitting (2015-02-02)
1.4.0-beta.2 holographic-rooster (2015-01-26)
1.3.11 spiffy-manatee (2015-01-26)
1.4.0-beta.1 trepidatious-salamander (2015-01-20)
1.3.10 heliotropic-sundial (2015-01-20)
1.4.0-beta.0 photonic-umbrakinesis (2015-01-13)
1.3.9 multidimensional-awareness (2015-01-13)
Oquejáfoilançadoem2015?
Para cada nova versão é dado o
nome de um super poder
0.9.0 dragon-breath (2010-10-20)
0.9.5 turkey-blast (2010-11-25)
0.9.6 night-vision (2010-12-06)
http://bit.ly/ng-release-names
Até agora, já foram lançadas 138
releases do framework!
Com tanta atualização, não dá
medo de quebrar alguma coisa?
4.000 testes de unidade executados
a cada alteração feita no código...
Você acha que isso é muito?
A cada integração, 50.000 testes são
executados em vários ambientes!
Agora sim, isso é muito?!
Atualmente, existem cerca de 2.000
aplicativos no Google utilizando
Angular e todos os testes deles
também são executados
A evolução do AngularJS
A performance do framework
vem melhorando muito
A evolução do AngularJS
Na versão 1.4, os números ainda
vão aumentar cerca de 30%
Arquitetura do framework
A evolução do AngularJS
View
É o que o cliente vê
Controller
Responsável pelo que a View consome
Scope
Faz a mediação entre a View e o Controller
AngularJS 1.x Hands-On
Por dentro das principais características do
framework!
Está chegando o Angular 2.0
A evolução do AngularJS
Quem são?
Como vivem?
O que comem?
De onde surgiram?
Como se reproduzem?
Estava tudo tão bom, por que o
Angular está mudando?
O framework está ficando velho...
A versão 1.x iniciou em 2009 e está
baseada em muitos conceitos do
passado enquanto a nova versão
utiliza conceitos do futuro
E o presente?
ECMAScript 6
Utilização de novos recursos
Utilização de WebComponents
Possibilidade de criar componentes
Performance ainda melhor
A nova versão está ainda mais rápida
Curva de aprendizado é menor
Menos conceitos para aprender
Será que o Angular mudou tanto
assim, em tão pouco tempo?
A maioria das diretivas morreram
A evolução do AngularJS
Template no Angular 1.0
Template no Angular 2.0
Como o Angular 1.x faz
binding?
<element xyz="literal">...
<element xyz="expression">...
<element xyz="{{interpolate}}">...
E agora, no Angular 2.0?
<element xyz="literal">...
<element [xyz]="expression">...
Com a notação de [], o bind é realizado
diretamente na propriedade do elemento
Comparando os dois mundos!
1.x <div ng-bind="exp"></div>
1.x <div ng-hide="exp"></div>
1.x <div ng-class="{done: exp}"></div>
2.0 <div [text]="exp"></div>
2.0 <div [hidden]="exp"></div>
2.0 <div [class.done]="exp"></div>
ng-bind
ng-class
ng-style
ng-disabled
ng-show
ng-hide
ng-src
ng-href
Quemmorreu?
O que acontece nesse cenário,
bind em uma propriedade ou o
disparo de um evento?
<element xyz="functionName(abc)">...
O que acontece nesse cenário,
bind em uma propriedade ou o
disparo de um evento?
<element xyz="functionName(abc)">...
<element ng-bind="functionName(abc)">...
<element ng-click="functionName(abc)">...
E agora, como fica no Angular 2.0?
<element [text]="functionName(abc)">
Com detecção de mudança, sem efeitos colaterais e
supressão de null
<element (click)="functionName(abc)">
Disparo baseado em eventos, com efeito colateral e
sem supressão de null
ng-blur
ng-change
ng-checked
ng-click
ng-dblclick
ng-keyup
ng-keydown
ng-mouseover
Quemmorreu?
E o ngModel? Como fica?
<input type="text" ng-model="nome" />
E o ngModel? Como fica?
<input type="text" ng-model="nome" />
<input type="text" #nome/>
Qual é a diferença?
<input type="text" #nome/>
<button (click)="nome.focus()">
Temos o elemento completo, podendo acessar
suas operações, não apenas o seu valor
ng-model
Template no Angular 2.0
AngularJS 2.0 na prática
Vamos analisar o código completo para ver
os outros conceitos!
Em que o novo Angular é escrito?
Parece que alguém foi dar uma
volta com o pessoal da Microsoft
Uma parte do AngularJS 2.0 é escrita
em TypeScript 1.5 e convertido para
ES5 para que possa ser interpretado
pelos browsers atuais. O código fonte
do framework tem ainda muitas partes
escritas em AtScript e Dart.
A evolução do AngularJS
E agora, ainda vale a pena
aprender a versão 1.x?
A versão 1.x será abandonada?
Vou começar um projeto, devo
utilizar a versão 1.x ou 2.0?
Será possível migrar o projeto
para a versão 2.0 do framework?
Que droga, será que eu devo
utilizar TypeScript?
Por onde eu posso começar a
estudar AngularJS?
A evolução do AngularJS
http://www.youtube.com/rodrigobranas
http://www.youtube.com/ngconfvideos
Rodrigo Branas
Site: http://www.agilecode.com.br
E-Mail: rodrigo.branas@gmail.com
Twitter: @rodrigobranas
SlideShare: http://www.slideshare.com/rodrigobranas
YouTube: http://www.youtube.com/rodrigobranas
LinkedIn: http://br.linkedin.com/in/rodrigobranas
+Plus: https://plus.google.com/+RodrigoBranas
GitHub: http://www.github.com/rodrigobranas

Mais conteúdo relacionado

PPTX
Introdução ao AngularJS
PPTX
Desenvolvimento de Aplicações Web AngularJS no Contexto da IoT
PPTX
Domain-Driven Design
PDF
AngularJS Abraçando o MVC Client-Side
PPTX
Introdução ao AngularJS!
PDF
Desenvolvimento Front end (AngularJS e Bootstrap)
PPTX
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
PDF
Material Design simples e rapido com AngularJS
Introdução ao AngularJS
Desenvolvimento de Aplicações Web AngularJS no Contexto da IoT
Domain-Driven Design
AngularJS Abraçando o MVC Client-Side
Introdução ao AngularJS!
Desenvolvimento Front end (AngularJS e Bootstrap)
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Material Design simples e rapido com AngularJS

Mais procurados (20)

PPTX
Selenium - WebDriver
PDF
Angular js
PPTX
Criando aplicações Single-Page com AngularJS
PPTX
Construindo Diretivas com AngularJS
PPTX
Apresentação AngularJS - Angular UI
PPTX
Scope AngularJS
PPTX
HTTP, JSON, REST e AJAX com AngularJS
PDF
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
PDF
Curso AngularJS - Parte 1
PDF
Performance com AngularJS
PPTX
Criando serviços com AngularJS
PPTX
Apresentação angular js
PDF
O futuro dos WebApps com AngularJS 2.0
PPTX
Automação de Testes com AngularJS
PPTX
AngularJS - 10 passos para aprender a criar suas directivas
PDF
O Poderoso AngularJS
PDF
AngularJS - Just Digital
PPTX
Test-Driven Development com JavaScript, Jasmine Karma
PPTX
Visão Geral sobre Angular JS
PDF
TDC 2014 - Arquitetura front-end com AngularJS
Selenium - WebDriver
Angular js
Criando aplicações Single-Page com AngularJS
Construindo Diretivas com AngularJS
Apresentação AngularJS - Angular UI
Scope AngularJS
HTTP, JSON, REST e AJAX com AngularJS
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
Curso AngularJS - Parte 1
Performance com AngularJS
Criando serviços com AngularJS
Apresentação angular js
O futuro dos WebApps com AngularJS 2.0
Automação de Testes com AngularJS
AngularJS - 10 passos para aprender a criar suas directivas
O Poderoso AngularJS
AngularJS - Just Digital
Test-Driven Development com JavaScript, Jasmine Karma
Visão Geral sobre Angular JS
TDC 2014 - Arquitetura front-end com AngularJS
Anúncio

Destaque (15)

PDF
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
PPTX
Utilizando diretivas com AngularJS
PPTX
Evoluindo a arquitetura de uma aplicação com AngularJS
PPTX
Criando Filtros com AngularJS
PDF
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
PDF
Node.js - #5 - Process - Rodrigo Branas
PPTX
Aplicando filtros com AngularJS
PPTX
Desvendando a linguagem JavaScript
PPTX
Introdução ao desenvolvimento de aplicações web
PPTX
Validando Formulários com AngularJS
PDF
Node.js - #6 - Core Modules - net - Rodrigo Branas
PDF
HTTP Interceptors com AngularJS
PPTX
Angular js com diretivas
PDF
Node.js - #3 - Global Objects - Rodrigo Branas
PPTX
JavaScript - Date
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Utilizando diretivas com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJS
Criando Filtros com AngularJS
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #5 - Process - Rodrigo Branas
Aplicando filtros com AngularJS
Desvendando a linguagem JavaScript
Introdução ao desenvolvimento de aplicações web
Validando Formulários com AngularJS
Node.js - #6 - Core Modules - net - Rodrigo Branas
HTTP Interceptors com AngularJS
Angular js com diretivas
Node.js - #3 - Global Objects - Rodrigo Branas
JavaScript - Date
Anúncio

Semelhante a A evolução do AngularJS (20)

PDF
Angular.JS - Estado Atual
PPTX
TDC2016SP - TypeScript em aplicações modernas
PPTX
Novidades do AngularJS 2.0
PDF
Angular 4 Ionic 3 Cordova 5
PPTX
Angular js
PDF
InCuca - Coding dojo - AngularJS
PDF
Angular, React ou Vue? Comparando os favoritos do JS reativo
PDF
Apresentação CEJS - Do nada para a nuvem
PDF
Projetos reativos com Angular, RxJS e Redux (ngRx)
PDF
Ebook AngularJS | Guia Introdutório
PDF
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
PDF
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
PDF
Primeiros passos para tomar uma decisão de arquitetura com AngularJS.
PDF
2° Codelab - Por onde começar com AngularJS
PPTX
Angular 2
PDF
Meetup #17
PPT
ASP.Net MVC 3 - o que há de novo (TechEd)
PDF
AngularJS com ASP.NET MVC 4 - Binding, Eventos, Ajax, Validações e Rotas
PPTX
Como trabalhar com angular js
PDF
Aprendendo Angular com a CLI
Angular.JS - Estado Atual
TDC2016SP - TypeScript em aplicações modernas
Novidades do AngularJS 2.0
Angular 4 Ionic 3 Cordova 5
Angular js
InCuca - Coding dojo - AngularJS
Angular, React ou Vue? Comparando os favoritos do JS reativo
Apresentação CEJS - Do nada para a nuvem
Projetos reativos com Angular, RxJS e Redux (ngRx)
Ebook AngularJS | Guia Introdutório
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
Primeiros passos para tomar uma decisão de arquitetura com AngularJS.
2° Codelab - Por onde começar com AngularJS
Angular 2
Meetup #17
ASP.Net MVC 3 - o que há de novo (TechEd)
AngularJS com ASP.NET MVC 4 - Binding, Eventos, Ajax, Validações e Rotas
Como trabalhar com angular js
Aprendendo Angular com a CLI

Mais de Rodrigo Branas (13)

PDF
Clean Architecture
PDF
Node.js - #4 - Timers - Rodrigo Branas
PDF
Node.js - #1 - Introdução - Rodrigo Branas
PDF
#6 - Git - Desfazendo as coisas
PDF
#1 - Git - Introdução
PDF
#5 - Git - Contribuindo com um repositório remoto
PDF
#4 - Git - Stash
PDF
#3 - Git - Branching e Merging
PDF
#2 - Git - DAG
PPTX
JavaScript - Expressões Regulares
PPTX
Técnicas de Refactoring
PPTX
PPTX
Clean Architecture
Node.js - #4 - Timers - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
#6 - Git - Desfazendo as coisas
#1 - Git - Introdução
#5 - Git - Contribuindo com um repositório remoto
#4 - Git - Stash
#3 - Git - Branching e Merging
#2 - Git - DAG
JavaScript - Expressões Regulares
Técnicas de Refactoring

Último (19)

PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Aula04-Academia Heri- Tecnologia Geral 2025
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Aula 18 - Manipulacao De Arquivos python
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Processos na gestão de transportes, TM100 Col18
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Apple Pippin Uma breve introdução. - David Glotz
COBITxITIL-Entenda as diferença em uso governança TI
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...

A evolução do AngularJS

Notas do Editor

  • #3: Qual é a sua obra?
  • #6: Desmotivação
  • #7: Desmotivação
  • #8: Desmotivação
  • #9: Desmotivação
  • #10: Desmotivação
  • #11: Desmotivação
  • #12: Desmotivação
  • #13: Velocidade aumenta conforme os desperdícios vão sendo eliminados
  • #14: Desmotivação
  • #15: Desmotivação
  • #16: Desmotivação
  • #17: Desmotivação
  • #18: Desmotivação
  • #19: Desmotivação
  • #20: Desmotivação
  • #21: Vontade de sair da empresa. Lembra do Belchior?
  • #22: Desmotivação
  • #23: Desmotivação
  • #24: Desmotivação
  • #25: Desmotivação
  • #26: Desmotivação
  • #27: react = 404, ember = 485, knockout = 56,
  • #28: Vontade de sair da empresa. Lembra do Belchior?
  • #29: Vontade de sair da empresa. Lembra do Belchior?
  • #30: Vontade de sair da empresa. Lembra do Belchior?
  • #31: Vontade de sair da empresa. Lembra do Belchior?
  • #32: Vontade de sair da empresa. Lembra do Belchior?
  • #33: Vontade de sair da empresa. Lembra do Belchior?
  • #34: Vontade de sair da empresa. Lembra do Belchior?
  • #35: Vontade de sair da empresa. Lembra do Belchior?
  • #37: Vontade de sair da empresa. Lembra do Belchior?
  • #38: Vontade de sair da empresa. Lembra do Belchior?
  • #39: Vontade de sair da empresa. Lembra do Belchior?
  • #40: Vontade de sair da empresa. Lembra do Belchior?
  • #41: Vontade de sair da empresa. Lembra do Belchior?
  • #42: Vontade de sair da empresa. Lembra do Belchior?
  • #43: Desmotivação
  • #44: Desmotivação
  • #45: Desmotivação
  • #46: Desmotivação
  • #47: Desmotivação
  • #48: Desmotivação
  • #49: Desmotivação
  • #50: Desmotivação
  • #51: Desmotivação
  • #52: Desmotivação
  • #53: Desmotivação
  • #54: Desmotivação
  • #55: Desmotivação
  • #56: Desmotivação
  • #57: Desmotivação
  • #58: Vontade de sair da empresa. Lembra do Belchior?
  • #59: Desmotivação
  • #60: Desmotivação
  • #61: Desmotivação
  • #65: Vontade de sair da empresa. Lembra do Belchior?
  • #68: Desmotivação
  • #69: Desmotivação
  • #70: Desmotivação
  • #71: Desmotivação
  • #72: Desmotivação
  • #73: Desmotivação
  • #74: Desmotivação
  • #75: Desmotivação
  • #76: Desmotivação
  • #77: Desmotivação
  • #78: Desmotivação
  • #79: Desmotivação
  • #81: Desmotivação
  • #82: Vontade de sair da empresa. Lembra do Belchior?
  • #83: Desmotivação
  • #84: Desmotivação
  • #85: Desmotivação
  • #86: Desmotivação
  • #87: Desmotivação
  • #88: Desmotivação
  • #89: Desmotivação
  • #90: Desmotivação
  • #91: Desmotivação