SlideShare uma empresa Scribd logo
1 de 87
Baixar para ler offline
Conhecendo os fundamentos e desenvolvendo
uma aplicação básica com Angular 2
Hugo Magalhães
Fundador do meuingresso.com
hugo@meuingresso.com
O QUE É
O ANGULAR?
Plataforma de desenvolvimento
frontend para criação de
aplicações mobile e desktop
POR QUE UMA
NOVA VERSÃO?
Web components,
mobile e padrões
POR QUE UMA
NOVA VERSÃO?
Re-escrita do angular 1,
levando em conta tudo que foi
aprendido nos últimos 5 anos
TypeScript
TypeScript
ECMAScript 6
ECMAScript 5
Junho 2015
Dezembro 2009
my-script.ts
TypeScript
transpiler
my-script.js
ECMA5
Vantagens do
TypeScript
Tipos explicitamente
documentados: fácil
compreensão.
Vantagens do
TypeScript
Uso de decorators:
poder à injeção de
dependências.
Estrutura básica de uma
aplicação Angular
Template
<…>
Component
{…}
Directive
{…}
Injector
Service A
Service B
Property
binding Event
bindingMetadata
TALK LESS.
CODE MORE.
Mini-curso
Criando um cadastro de usuários simples
utilizando Angular 2
01.
CONFIGURANDO O AMBIENTE E
ARQUIVOS DE CONFIGURAÇÃO
01.
Agenda
1. Instalar Node.js e npm
2. Criar e configurar o projeto
3. Criar a aplicação
4. Criar um componente e adicionar à aplicação
5. Iniciar a aplicação
6. Definir a página inicial
7. Criar folha de estilos
8. Compilar a rodar a aplicação
9. Fazer alterações em tempo real
01.
1. Instalar Node.js e npm
node v5.x.x ou superior
npm 3.x.x ou superior
npm -v
node -v
01.
2. Criar e configurar o projeto
mkdir angular2-secomp-users
cd angular2-secomp-users
Baixar o projeto com os arquivos base:
package.json, tsconfig.json, typings.json,
systemjs.config.js
https://github.com/hugomn/angular2-secomp-users/
releases/tag/base
01.
2. Criar e configurar o projeto
Instalar pacote do Node.js listados no package.json:
npm install
01.
3. Criar a aplicação
mkdir app
01.
4. Criar um componente
01.
Editamos nosso módulo para incluir nosso componente:
01.
5. Iniciar a aplicação
01.
6. Definir a página inicial
01.
7. Criar folha de estilos
01.
8. Compilar e rodar a aplicação
npm start
01.
8. Alterações em tempo real
Altere o arquivo app.component.ts e verifique se o
browser recarregará.
02.
CRIANDO O EDITOR DE USUÁRIOS
02.
Agenda
1. Exibindo um usuários
2. Criando classe de usuários
3. Alterando o html
4. Editando nosso usuário
5. Two-way binding
02.
1. Exibindo um usuário
02.
2. Criando classe de alunos
02.
3. Alterando o html
02.
4. Editando nosso aluno
02.
5. Importar FormsModule e usar
ngModel para two-way binding
03.
EXIBINDO UMA LISTA DE USUÁRIOS
03.
Agenda
1. Definindo nossos usuários
2. Exibindo os usuários
3. Alterando o estilo
4. Selecionando os usuários
5. Destacando o usuário selecionado
03.
1. Definindo os
usuários
03.
2. Exibindo os
usuários
03.
2. Exibindo os
usuários
03.
3. Alterando o
estilo (css)
03.
4. Selecionando
os usuários
03.
5. Destacando
usuário
selecionado
04.
CRIANDO COMPONENTES
REUTILIZÁVEIS
04.
Agenda
1. Criando componente para exibir detalhes do usuário
2. Dizendo ao componente o que exibir
3. Importando o novo componente
04.
1. Criando
componente de
detalhe do
usuário touch app/user-detail.component.ts
04.
1. Criando
componente de
detalhe do
usuário
04.
1. Criando
componente de
detalhe do
usuário
Criamos a classe User isolada para reutilizá-la:
touch app/user.ts
04.
1. Criando
componente de
detalhe do
usuário
Importando a classe User:
04.
2. Dizendo ao
componente o
que exibir
04.
3. Importando o
novo
componente
05.
CRIANDO SERVICES
05.
Agenda
1. Criando Service que fornece os dados dos usuários
2. Criando mock de usuários
3. Recuperando os usuários do mock
4. Usando o service de usuários
5. Usando o hook ngOnInit para carregar os usuários
6. Usando promises
05.
1. Criando
Service que
fornece os
dados dos
usuários
touch app/user.service.ts
05.
2. Criando
mock de
usuários
touch app/mock-user.ts
05.
3. Recuperando
os usuários do
mock
05.
4. Usando o
service de
usuários
05.
4. Usando o
service de
usuários
05.
5. Usando o
hook
ngOnInit para
carregar os
usuários
05.
6. Usando
Promises
06.
UTILIZANDO ROTAS
06.
Agenda
1. Quebrando o AppComponent
2. Adicionando rotas
3. Disponibilizando rotas
4. Criando um dashboard
5. Redirecionando para o dashboard
6. Adicionando a navegação
7. Separando htmls e css
8. Nova rota para exibir detalhes
9. Adicionando botão voltar
10. Link para a tela de detalhes
11. Adicionando novos estilos
06.
1. Quebrando
nosso
AppComponent
em
UserComponent
Nossa lógica de usuário está toda no AppComponent, então
renomeamos para UserComponent e criamos outro
AppComponent.
06.
1. Quebrando
nosso
AppComponent
em
UserComponent
06.
2. Adicionando
rotas
Precisamos adicionar a base tag no index para guiar o Router.
06.
2. Adicionando
rotas
06.
3.
Disponibilizando
as rotas
06.
4. Criando um
dashboard
touch app/dashboard.component.ts
06.
5.
Redirecionando
para o dashboard
06.
6. Adicionando a
navegação
06.
7. Separando
html e css
06.
7. Separando
html e css
06.
8. Nova rota para
exibir detalhes
06.
8. Nova rota para
exibir detalhes
06.
9. Adicionando o
botão voltar
06.
10. Links para a
tela de detalhes
06.
11. Adicionando
novos estilos
touch app/user-detail.component.css
touch app/dashboard.component.css
touch app/app.component.css
07.
UTILIZANDO HTTP
07.
Agenda
1. Utilizando HttpModule
2. Simulando uma API web
3. Salvando os dados do usuário
4. Adicionando um usuário
5. Removendo um usuário
07.
1. Utilizando
HttpModule
07.
2. Simulando uma
API web
touch app/in-memory-data.service.ts
07.
rm app/mock-users.ts
2. Simulando uma
API web
07.
2. Simulando uma
API web
07.
3. Salvando dados
do usuário
07.
4. Adicionando um
usuário
07.
4. Removendo um
usuário
OBRIGADO!
Hugo Magalhães
hugo@meuingresso.com

Mais conteúdo relacionado

Mais procurados

Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Rodrigo Branas
 
Apresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UIApresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UICecília Rosa
 
Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Julian Cesar
 
Material Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJSMaterial Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJSHenrique Limas
 
O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0Wilson Mendes
 
O Poderoso AngularJS
O Poderoso AngularJSO Poderoso AngularJS
O Poderoso AngularJSBeto Muniz
 
Apresentação FridayDevLabs
Apresentação FridayDevLabsApresentação FridayDevLabs
Apresentação FridayDevLabsFábio Elísio
 
Criando e Usando Helpers
Criando e Usando HelpersCriando e Usando Helpers
Criando e Usando HelpersJoaoVagner
 
AngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivasAngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivasJanderson Fernandes Cardoso
 
Construindo Diretivas com AngularJS
Construindo Diretivas com AngularJSConstruindo Diretivas com AngularJS
Construindo Diretivas com AngularJSRodrigo Branas
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Angular - Ruby Morning
Angular - Ruby MorningAngular - Ruby Morning
Angular - Ruby MorningYan Justino
 

Mais procurados (15)

Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
Apresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UIApresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UI
 
Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)
 
Visão Geral sobre Angular JS
Visão Geral sobre Angular JSVisão Geral sobre Angular JS
Visão Geral sobre Angular JS
 
Material Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJSMaterial Design simples e rapido com AngularJS
Material Design simples e rapido com AngularJS
 
O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0O futuro dos WebApps com AngularJS 2.0
O futuro dos WebApps com AngularJS 2.0
 
Introdução ao AngularJS - Minicurso
Introdução ao AngularJS - MinicursoIntrodução ao AngularJS - Minicurso
Introdução ao AngularJS - Minicurso
 
O Poderoso AngularJS
O Poderoso AngularJSO Poderoso AngularJS
O Poderoso AngularJS
 
Workshop frontend
Workshop   frontendWorkshop   frontend
Workshop frontend
 
Apresentação FridayDevLabs
Apresentação FridayDevLabsApresentação FridayDevLabs
Apresentação FridayDevLabs
 
Criando e Usando Helpers
Criando e Usando HelpersCriando e Usando Helpers
Criando e Usando Helpers
 
AngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivasAngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivas
 
Construindo Diretivas com AngularJS
Construindo Diretivas com AngularJSConstruindo Diretivas com AngularJS
Construindo Diretivas com AngularJS
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Angular - Ruby Morning
Angular - Ruby MorningAngular - Ruby Morning
Angular - Ruby Morning
 

Semelhante a Conhecendo os fundamentos e desenvolvendo uma apliação básica com Angular2

Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações AndroidFelipe Silveira
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
T@rget trust microsoft asp.net mvc
T@rget trust   microsoft asp.net mvcT@rget trust   microsoft asp.net mvc
T@rget trust microsoft asp.net mvcTargettrust
 
Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e AlémAndre Baltieri
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...Dextra Sistemas / Etec Itu
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Portal GSTI
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançadoTargettrust
 
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
 
Software para Gerência de Projetos baseado em Metodologias Ágeis [Relatório T...
Software para Gerência de Projetos baseado em Metodologias Ágeis [Relatório T...Software para Gerência de Projetos baseado em Metodologias Ágeis [Relatório T...
Software para Gerência de Projetos baseado em Metodologias Ágeis [Relatório T...Anderson Kanegae Soares Rocha
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAWilson Mendes
 
Migrando para o Angular 2
Migrando para o Angular 2Migrando para o Angular 2
Migrando para o Angular 2Andre Baltieri
 
TDC2016SP - TypeScript em aplicações modernas
TDC2016SP - TypeScript em aplicações modernasTDC2016SP - TypeScript em aplicações modernas
TDC2016SP - TypeScript em aplicações modernastdc-globalcode
 
Guia de Otimização de Performance de Sites (Page Speed)
Guia de Otimização de Performance de Sites (Page Speed)Guia de Otimização de Performance de Sites (Page Speed)
Guia de Otimização de Performance de Sites (Page Speed)Gabriel Zavitoski
 
Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2 Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2 Loiane Groner
 

Semelhante a Conhecendo os fundamentos e desenvolvendo uma apliação básica com Angular2 (20)

Angular 4 Ionic 3 Cordova 5
Angular 4 Ionic 3 Cordova 5Angular 4 Ionic 3 Cordova 5
Angular 4 Ionic 3 Cordova 5
 
Angular 2
Angular 2Angular 2
Angular 2
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
T@rget trust microsoft asp.net mvc
T@rget trust   microsoft asp.net mvcT@rget trust   microsoft asp.net mvc
T@rget trust microsoft asp.net mvc
 
Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e Além
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
 
Angular js
Angular jsAngular js
Angular js
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
 
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
 
Software para Gerência de Projetos baseado em Metodologias Ágeis [Relatório T...
Software para Gerência de Projetos baseado em Metodologias Ágeis [Relatório T...Software para Gerência de Projetos baseado em Metodologias Ágeis [Relatório T...
Software para Gerência de Projetos baseado em Metodologias Ágeis [Relatório T...
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
 
Migrando para o Angular 2
Migrando para o Angular 2Migrando para o Angular 2
Migrando para o Angular 2
 
Mule 4
Mule 4Mule 4
Mule 4
 
TDC2016SP - TypeScript em aplicações modernas
TDC2016SP - TypeScript em aplicações modernasTDC2016SP - TypeScript em aplicações modernas
TDC2016SP - TypeScript em aplicações modernas
 
Projeto YES
Projeto YESProjeto YES
Projeto YES
 
Guia de Otimização de Performance de Sites (Page Speed)
Guia de Otimização de Performance de Sites (Page Speed)Guia de Otimização de Performance de Sites (Page Speed)
Guia de Otimização de Performance de Sites (Page Speed)
 
Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2 Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2
 

Mais de Hugo Magalhães

How to develop reusable components with Babel and Rollup.js
How to develop reusable components with Babel and Rollup.jsHow to develop reusable components with Babel and Rollup.js
How to develop reusable components with Babel and Rollup.jsHugo Magalhães
 
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientes
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientesInbound Marketing - A nova forma de se comunicar e conquistar seus clientes
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientesHugo Magalhães
 
Empreendedorismo e as Oportunidades Disfarçadas
Empreendedorismo e as Oportunidades DisfarçadasEmpreendedorismo e as Oportunidades Disfarçadas
Empreendedorismo e as Oportunidades DisfarçadasHugo Magalhães
 
Introdução ao Symfony 2 - SfCon 2012
Introdução ao Symfony 2 - SfCon 2012Introdução ao Symfony 2 - SfCon 2012
Introdução ao Symfony 2 - SfCon 2012Hugo Magalhães
 
Symfony - Framework PHP de alta produtividade
Symfony - Framework PHP de alta produtividadeSymfony - Framework PHP de alta produtividade
Symfony - Framework PHP de alta produtividadeHugo Magalhães
 
Mídias Sociais para Negócios
Mídias Sociais para NegóciosMídias Sociais para Negócios
Mídias Sociais para NegóciosHugo Magalhães
 
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFV
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFVSEO - Como e Porque Otimizar Um Website - Semana da Informática - UFV
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFVHugo Magalhães
 

Mais de Hugo Magalhães (7)

How to develop reusable components with Babel and Rollup.js
How to develop reusable components with Babel and Rollup.jsHow to develop reusable components with Babel and Rollup.js
How to develop reusable components with Babel and Rollup.js
 
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientes
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientesInbound Marketing - A nova forma de se comunicar e conquistar seus clientes
Inbound Marketing - A nova forma de se comunicar e conquistar seus clientes
 
Empreendedorismo e as Oportunidades Disfarçadas
Empreendedorismo e as Oportunidades DisfarçadasEmpreendedorismo e as Oportunidades Disfarçadas
Empreendedorismo e as Oportunidades Disfarçadas
 
Introdução ao Symfony 2 - SfCon 2012
Introdução ao Symfony 2 - SfCon 2012Introdução ao Symfony 2 - SfCon 2012
Introdução ao Symfony 2 - SfCon 2012
 
Symfony - Framework PHP de alta produtividade
Symfony - Framework PHP de alta produtividadeSymfony - Framework PHP de alta produtividade
Symfony - Framework PHP de alta produtividade
 
Mídias Sociais para Negócios
Mídias Sociais para NegóciosMídias Sociais para Negócios
Mídias Sociais para Negócios
 
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFV
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFVSEO - Como e Porque Otimizar Um Website - Semana da Informática - UFV
SEO - Como e Porque Otimizar Um Website - Semana da Informática - UFV
 

Conhecendo os fundamentos e desenvolvendo uma apliação básica com Angular2