SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Introdução AngularJS 4 com CLI
Júlio C. N. Souza
02/09/2017
GDG Uberaba
Um pouco sobre mim...
Pai da Júlia, um eterno aprendiz, e programador viciado em café adepto
do desenvolvimento ágil e poliglota.
Atuo como Engenheiro de Dados/Software na Mobilita e GJR Automação
de Processos (empresas as quais co-fundei).
Tenho Experiência em modelagem de arquitetura de software e
desenvolvimento de aplicações tanto monolíticas como baseadas em
microservices usando JavaEE e NodeJS.
Recentemente eu comecei a estudar e trabalhar com a Análise de Dados
e me apaixonei por Aprendizado de Máquina, Python e Scala.
Me arrisco de vez em quando no Front End com AngularJS.
O que veremos hoje?
● Introdução ao AngularJS 2/4 (a versão 4 é
compatível com a 2)
● Configurando ambiente de
Desenvolvimento
● Hands on Hello AngularJS 4
O que preciso saber para começar com
AngularJS 4?
● HTML
● CSS
● JavaScript (ES6)
● Type Script
O que não preciso saber?
Um monte de coisas, mas dentro desse contexto não
é necessário saber ANGULARJS 1.
Se você não sabe pode ser até mais fácil, porque
AngularJS 2/4 é muito diferente do AngularJS na
primeira versão.
Introdução
● https://angular.io
● Fruto de uma parceria entre Google e
Microsoft (por isso o uso do typescript)
● Open Source
● Foi totalmente reescrito, não é apenas uma
atualização da versão 1.
● Utiliza os padrões da web e Web Components.
Introdução:
Como se organiza o AngularJS 4?
● Componentes
○ Template
○ Metadata
○ Data Binding
● Serviços ● Roteamento
● Diretivas
● Injeção de
Dependências
Introdução:
Como se organiza o AngularJS 4: Componente
É a própria view.
● Template (HTML)
● Metadata (Permitem o Angular ler as classes e fazer o
processamento delas)
● Data Binding (Interpolação entre dados no JS e HTML)
● Comportamento da view
Comparando com Angular 1 é como se fosse a junção entre
Html, Data Binding (Controller e Escopo)
Introdução:
Como se organiza o AngularJS 4: Componente
Aplicações em AngularJS 4 são orientadas a componentes.
Componente
Raiz
Componente
Barra Lateral
Componente
Cabeçalho
Componente
Timeline
Componente
Post
Componente
Actions
Introdução:
Como se organiza o AngularJS 4: Componente
Componentes pequenos são mais fáceis de testar.
componente root
componente cabeçalho
componente
barra lateral
componente barra timeline
componente post
componente actions
Introdução:
Como se organiza o AngularJS 4: Serviços
Serviços são onde por boa prática vamos colocar nossa
regra de negócio e chamadas de API.
Podem ser injetados em outros componentes.
Componente X
Componente Y
Serviço REST API
Introdução:
Como se organiza o AngularJS 4: Roteamento
É a parte responsável pela navegação das páginas.
Introdução:
Como se organiza o AngularJS 4: Diretiva
Modifica elementos DOM e seu comportamento. O
angular possui várias. Por exemplo: ngIf
Componentes também são diretivas já que também
alteram os elementos DOM e seu comportamento.
Introdução:
Overview
Configurando Ambiente de
Desenvolvimento.
https://nodejs.org/en/download/
Configurando Ambiente de
Desenvolvimento.
npm install -g typescript
Configurando Ambiente de
Desenvolvimento.
npm install -g @angular/cli
Configurando Ambiente de
Desenvolvimento.
ng -v
Configurando Ambiente de
Desenvolvimento.
Editor de Texto
vamos usar esse na demo
My First Angular 4 App
● Crie um diretório para o seu projeto
● Abra o Visual Studio Code
● Vá em File/Open Folder e abra o diretório criado
● Vá até View e abra o Integrated Terminal
● No Terminal digite:
○ ng new my-first-app
○ cd my-first-app
○ ng serve
Abra no navegador: http://localhost:4200/
Verificando o código gerado
My First Angular 4 App:
Meu primeiro Componente
● ng g c comp01
Veja as alterações no projeto e vamos colocar o
seletor dentro do html do app component e ver as
alterações na view no localhost:4200 (live update)
My First Angular 4 App:
Meu primeiro Módulo
● Os blocos de código com um determinado propósito
compõem um módulo, e um conjunto desses módulos
irão compor a aplicação.
● O grande benefício dos módulos é desmembrar a
aplicação em partes pequenas, onde cada uma terá
sua responsabilidade, poderá ser facilmente testada,
além de permitir uma manutenção mais simples.
● Ajudam a organizar e modularizar o app.
My First Angular 4 App:
Meu primeiro Módulo
● Administração
○ Usuários
○ Permissões
○ Logs
● Produtos
○ Cadastros
○ Lista
● etc.
My First Angular 4 App:
Meu primeiro Módulo
● ng g m alunos
● crie um componente dentro do módulo (alunos)
● agregue o novo módulo ao componente raiz
Para que o componente(s) declarados no Módulo
fiquem visíveis no App Component e seu seletor
possa ser usado deve ser adicionado na lista de
exports do Módulo.
O módulo deve ser importado e adicionado na lista
de modules do AppModule.
My First Angular 4 App:
Meu primeiro Serviço
● ng g s alunos/alunos
● faça uma lista estática no service de (nome,nota)
● injetar no alunos.component.ts e designar valor
da lista de alunos do service para uma variável
local
Services são injetáveis (decorator @Injectble) no
componente tem de ser importados e injetados no
construtor (se usar o modificador private se tornam
atributo da classe automaticamente)
My First Angular 4 App:
Meu primeiro Serviço
● Fazer o data binding no html usando ngFor
<tbody *ngFor="let aluno of alunos" >
<tr>
<td>{{aluno.ra}}</td>
<td>{{aluno.name}}</td>
</tr>
</tbody>
My First Angular 4 App:
Meu primeiro Serviço
● alterar o services consumir ws
import { Http } from '@angular/http';
//injetar no construtor
constructor(private http: Http) {
}
//headers da requisicao
private getHeaders() {
var headers = new Headers();
headers.append('Content-Type', 'application/json');
return headers;
}
this.http.post(“http://69.10.49.96:8080/app/ws/students/save”,json, this.getHeaders())
this.http.get(“http://69.10.49.96:8080/app/ws/students/list”, this.getHeaders()).map(res => res.json())
this.http.delete(“69.10.49.96:8080/app/ws/students/”+id, this.getHeaders())
//import 'rxjs/add/operator/map'; no AppModule para usar funcao map
Fonte e mais informações:
● Documentação AngularJS: https://angular.io/
● Blog AngularJS: https://blog.angular.io/
● Documentação CLI: https://blog.angular.io/
https://github.com/angular/angular-cli
● Curso Free Loiane Groner:
https://loiane.training/course/angular-2/
● Livro Angular 4: Pocket Primer:
https://www.amazon.com/Angular-Pocket-Primer-ebook/dp/B073
FWK8V8
● https://github.com/juliocnsouzadev/gdg_intro_angularjs4
Obrigado!

Mais conteúdo relacionado

Semelhante a 30º GDG Uberaba - Introdução AngularJS 4 com CLI

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
 
Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e AlémAndre 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
 
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
 
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
 
Novidades do AngularJS 2.0
Novidades do AngularJS 2.0Novidades do AngularJS 2.0
Novidades do AngularJS 2.0Nicolas Takashi
 
2° Codelab - Por onde começar com AngularJS
2° Codelab  - Por onde começar com AngularJS2° Codelab  - Por onde começar com AngularJS
2° Codelab - Por onde começar com AngularJSGDGFoz
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endGiovanny Valente
 
Protractor - Testando aplicações AngularJS end to end
Protractor - Testando aplicações AngularJS end to endProtractor - Testando aplicações AngularJS end to end
Protractor - Testando aplicações AngularJS end to endDaniel Amorim
 
Protractor, por Daniel Amorim
Protractor, por Daniel AmorimProtractor, por Daniel Amorim
Protractor, por Daniel AmorimThoughtworks
 
Gestão de Projetos e Empreendedorismo: SIN-NA7 (04/09/2013)
Gestão de Projetos e Empreendedorismo: SIN-NA7 (04/09/2013) Gestão de Projetos e Empreendedorismo: SIN-NA7 (04/09/2013)
Gestão de Projetos e Empreendedorismo: SIN-NA7 (04/09/2013) Alessandro Almeida
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Portal GSTI
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
Drupal service com Titanium
Drupal service com TitaniumDrupal service com Titanium
Drupal service com Titaniumpedrofaria
 

Semelhante a 30º GDG Uberaba - Introdução AngularJS 4 com CLI (20)

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
 
Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e Além
 
TDC2016SP - TypeScript em aplicações modernas
TDC2016SP - TypeScript em aplicações modernasTDC2016SP - TypeScript em aplicações modernas
TDC2016SP - TypeScript em aplicações modernas
 
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
 
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
 
Novidades do AngularJS 2.0
Novidades do AngularJS 2.0Novidades do AngularJS 2.0
Novidades do AngularJS 2.0
 
2° Codelab - Por onde começar com AngularJS
2° Codelab  - Por onde começar com AngularJS2° Codelab  - Por onde começar com AngularJS
2° Codelab - Por onde começar com AngularJS
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
 
Protractor - Testando aplicações AngularJS end to end
Protractor - Testando aplicações AngularJS end to endProtractor - Testando aplicações AngularJS end to end
Protractor - Testando aplicações AngularJS end to end
 
Protractor, por Daniel Amorim
Protractor, por Daniel AmorimProtractor, por Daniel Amorim
Protractor, por Daniel Amorim
 
Introdução ao AngularJS - Minicurso
Introdução ao AngularJS - MinicursoIntrodução ao AngularJS - Minicurso
Introdução ao AngularJS - Minicurso
 
Spa com angular js flisol 2015 - aquidauana ms
Spa com angular js   flisol 2015 - aquidauana msSpa com angular js   flisol 2015 - aquidauana ms
Spa com angular js flisol 2015 - aquidauana ms
 
Angularjs
AngularjsAngularjs
Angularjs
 
Angular js 4php
Angular js   4phpAngular js   4php
Angular js 4php
 
Gestão de Projetos e Empreendedorismo: SIN-NA7 (04/09/2013)
Gestão de Projetos e Empreendedorismo: SIN-NA7 (04/09/2013) Gestão de Projetos e Empreendedorismo: SIN-NA7 (04/09/2013)
Gestão de Projetos e Empreendedorismo: SIN-NA7 (04/09/2013)
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório
 
BDD-NamoroOn
BDD-NamoroOnBDD-NamoroOn
BDD-NamoroOn
 
Django
DjangoDjango
Django
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Drupal service com Titanium
Drupal service com TitaniumDrupal service com Titanium
Drupal service com Titanium
 

Último

Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 

Último (20)

Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 

30º GDG Uberaba - Introdução AngularJS 4 com CLI

  • 1. Introdução AngularJS 4 com CLI Júlio C. N. Souza 02/09/2017 GDG Uberaba
  • 2. Um pouco sobre mim... Pai da Júlia, um eterno aprendiz, e programador viciado em café adepto do desenvolvimento ágil e poliglota. Atuo como Engenheiro de Dados/Software na Mobilita e GJR Automação de Processos (empresas as quais co-fundei). Tenho Experiência em modelagem de arquitetura de software e desenvolvimento de aplicações tanto monolíticas como baseadas em microservices usando JavaEE e NodeJS. Recentemente eu comecei a estudar e trabalhar com a Análise de Dados e me apaixonei por Aprendizado de Máquina, Python e Scala. Me arrisco de vez em quando no Front End com AngularJS.
  • 3. O que veremos hoje? ● Introdução ao AngularJS 2/4 (a versão 4 é compatível com a 2) ● Configurando ambiente de Desenvolvimento ● Hands on Hello AngularJS 4
  • 4. O que preciso saber para começar com AngularJS 4? ● HTML ● CSS ● JavaScript (ES6) ● Type Script
  • 5. O que não preciso saber? Um monte de coisas, mas dentro desse contexto não é necessário saber ANGULARJS 1. Se você não sabe pode ser até mais fácil, porque AngularJS 2/4 é muito diferente do AngularJS na primeira versão.
  • 6. Introdução ● https://angular.io ● Fruto de uma parceria entre Google e Microsoft (por isso o uso do typescript) ● Open Source ● Foi totalmente reescrito, não é apenas uma atualização da versão 1. ● Utiliza os padrões da web e Web Components.
  • 7. Introdução: Como se organiza o AngularJS 4? ● Componentes ○ Template ○ Metadata ○ Data Binding ● Serviços ● Roteamento ● Diretivas ● Injeção de Dependências
  • 8. Introdução: Como se organiza o AngularJS 4: Componente É a própria view. ● Template (HTML) ● Metadata (Permitem o Angular ler as classes e fazer o processamento delas) ● Data Binding (Interpolação entre dados no JS e HTML) ● Comportamento da view Comparando com Angular 1 é como se fosse a junção entre Html, Data Binding (Controller e Escopo)
  • 9. Introdução: Como se organiza o AngularJS 4: Componente Aplicações em AngularJS 4 são orientadas a componentes. Componente Raiz Componente Barra Lateral Componente Cabeçalho Componente Timeline Componente Post Componente Actions
  • 10. Introdução: Como se organiza o AngularJS 4: Componente Componentes pequenos são mais fáceis de testar. componente root componente cabeçalho componente barra lateral componente barra timeline componente post componente actions
  • 11. Introdução: Como se organiza o AngularJS 4: Serviços Serviços são onde por boa prática vamos colocar nossa regra de negócio e chamadas de API. Podem ser injetados em outros componentes. Componente X Componente Y Serviço REST API
  • 12. Introdução: Como se organiza o AngularJS 4: Roteamento É a parte responsável pela navegação das páginas.
  • 13. Introdução: Como se organiza o AngularJS 4: Diretiva Modifica elementos DOM e seu comportamento. O angular possui várias. Por exemplo: ngIf Componentes também são diretivas já que também alteram os elementos DOM e seu comportamento.
  • 19. Configurando Ambiente de Desenvolvimento. Editor de Texto vamos usar esse na demo
  • 20. My First Angular 4 App ● Crie um diretório para o seu projeto ● Abra o Visual Studio Code ● Vá em File/Open Folder e abra o diretório criado ● Vá até View e abra o Integrated Terminal ● No Terminal digite: ○ ng new my-first-app ○ cd my-first-app ○ ng serve Abra no navegador: http://localhost:4200/
  • 22. My First Angular 4 App: Meu primeiro Componente ● ng g c comp01 Veja as alterações no projeto e vamos colocar o seletor dentro do html do app component e ver as alterações na view no localhost:4200 (live update)
  • 23. My First Angular 4 App: Meu primeiro Módulo ● Os blocos de código com um determinado propósito compõem um módulo, e um conjunto desses módulos irão compor a aplicação. ● O grande benefício dos módulos é desmembrar a aplicação em partes pequenas, onde cada uma terá sua responsabilidade, poderá ser facilmente testada, além de permitir uma manutenção mais simples. ● Ajudam a organizar e modularizar o app.
  • 24. My First Angular 4 App: Meu primeiro Módulo ● Administração ○ Usuários ○ Permissões ○ Logs ● Produtos ○ Cadastros ○ Lista ● etc.
  • 25. My First Angular 4 App: Meu primeiro Módulo ● ng g m alunos ● crie um componente dentro do módulo (alunos) ● agregue o novo módulo ao componente raiz Para que o componente(s) declarados no Módulo fiquem visíveis no App Component e seu seletor possa ser usado deve ser adicionado na lista de exports do Módulo. O módulo deve ser importado e adicionado na lista de modules do AppModule.
  • 26. My First Angular 4 App: Meu primeiro Serviço ● ng g s alunos/alunos ● faça uma lista estática no service de (nome,nota) ● injetar no alunos.component.ts e designar valor da lista de alunos do service para uma variável local Services são injetáveis (decorator @Injectble) no componente tem de ser importados e injetados no construtor (se usar o modificador private se tornam atributo da classe automaticamente)
  • 27. My First Angular 4 App: Meu primeiro Serviço ● Fazer o data binding no html usando ngFor <tbody *ngFor="let aluno of alunos" > <tr> <td>{{aluno.ra}}</td> <td>{{aluno.name}}</td> </tr> </tbody>
  • 28. My First Angular 4 App: Meu primeiro Serviço ● alterar o services consumir ws import { Http } from '@angular/http'; //injetar no construtor constructor(private http: Http) { } //headers da requisicao private getHeaders() { var headers = new Headers(); headers.append('Content-Type', 'application/json'); return headers; } this.http.post(“http://69.10.49.96:8080/app/ws/students/save”,json, this.getHeaders()) this.http.get(“http://69.10.49.96:8080/app/ws/students/list”, this.getHeaders()).map(res => res.json()) this.http.delete(“69.10.49.96:8080/app/ws/students/”+id, this.getHeaders()) //import 'rxjs/add/operator/map'; no AppModule para usar funcao map
  • 29. Fonte e mais informações: ● Documentação AngularJS: https://angular.io/ ● Blog AngularJS: https://blog.angular.io/ ● Documentação CLI: https://blog.angular.io/ https://github.com/angular/angular-cli ● Curso Free Loiane Groner: https://loiane.training/course/angular-2/ ● Livro Angular 4: Pocket Primer: https://www.amazon.com/Angular-Pocket-Primer-ebook/dp/B073 FWK8V8 ● https://github.com/juliocnsouzadev/gdg_intro_angularjs4