SlideShare uma empresa Scribd logo
1 de 26
 Fabio Elisio de Melo Nunes 
 Trabalho na area desde 2000 
 Microsoft Certified HTML5, Javascript, CSS3 
 Analista de Sistemas – SENAI – NQTS - Front 
 github.com/felisio 
 www.fabioelisio.com
 Modelo e arquitetura 
 Definições 
 Modulos e Controllers
Modelo e arquitetura
Web Server Web Browser 
URL requisição para o server 
Resposta com Paginas e Arquivos 
Eventos, links e novas requisições 
Resposta com Paginas e Arquivos 
HTML Javascript 
Browser carrega conteudo 
e arquivos (html, css, js) 
HTML Javascript 
Browser carrega conteudo 
e arquivos (html, css, js)
Web Server Web Browser 
URL requisição para o server 
Resposta com Paginas e Arquivos 
Eventos, links e novas requisições 
Resposta com dados formato JSON 
HTML Javascript 
Browser carrega conteudo 
e arquivos (html, css, js) 
Dados JSON 
Dados são lidos na pagina 
Carregada.
Definições
 Um Framework Javascript client-side para 
adicionar interatividade ao HTML. 
 Conceito de Aplicação “Single Page” – Recursos 
são carregados dinamicamente e incluido na 
Pagina. 
Más como chamar esse Javascript Dentro do HTML
• Escrever nossa aplicação Angular em pequenas peças. 
• Deixar o nosso código mais reutilizável, testável, e 
legível. 
• Onde definimos as dependências para o nosso 
aplicativo. 
M 
Módulos são utilizados 
por outros módulos 
M M
Diretiva pode ser uma tag ou um atributo HTML que diz 
ao Angular para executar ou fazer uma referência 
a um código Javascript .
• ng-app – Define o modulo da aplicação 
• ng-controller – Define um controller em determinada 
parte da aplicação 
• ng-model – associa o valor de um componente a uma 
propriedade na view model (geralmente adicionado 
nos elementtos de form) 
• ng-click – invoca um metodo no controller ao clicar no 
componente 
• ng-repeat – equivalente ao foreach, repete o conteudo 
para cada item de uma array na view model 
• ….
Estrutura de Pasta 
(https://github.com/angular/angular-seed)
Modulos e Controllers
Carrega arquivos no index.html 
Chamando primeiro modulo 
Incluindo diretiva no HTML
Carregando Rota Padrão 
Carregando Rota especifica do Modulo
Criando seu modulo 
Carregando controlador do Modulo 
Testando – agenda.html
Magia do Two-way-binding 
$rootScope > $scope 
$watch, $watchCollection, $on, $emit e $broadcast
Criando um objeto 
no controller 
Imprimindo no HTML
Criando um array de objetos no controller 
Imprimindo no HTML com a diretiva ng-repeat
Criando formulario para inserção de dados e 
pegando com a diretiva ng-submit 
Criando metodo no controller para inserir o dado
Criando linha na lista com o metodo para removerc 
Criando metodo no controller para remover o dado
 Criação de diretivas customizadas 
 JQLite embutido no framework 
 Abstração de requisições RESTFull com o $resource 
 Criação de Services e Factory 
 Grande quantidade de modulos criado pelas 
comunidades 
 …
Obrigado! 
www.github.com/felisio 
@felisio 
fabio.elisio@gmail.com 
www.fabioelisio.com

Mais conteúdo relacionado

Destaque

Problemas medioambientais en España
Problemas medioambientais en EspañaProblemas medioambientais en España
Problemas medioambientais en Españaguest417724e2c
 
Bitartekaritza Araba.pdf
Bitartekaritza Araba.pdfBitartekaritza Araba.pdf
Bitartekaritza Araba.pdfIrekia - EJGV
 
Explicando o 1 capítulo do apocalpse
Explicando o 1 capítulo do apocalpseExplicando o 1 capítulo do apocalpse
Explicando o 1 capítulo do apocalpseNanaxara da Silva
 
Desempenho do produto interno bruto de pernambuco 2º semestre de 2012
Desempenho do produto interno bruto de pernambuco 2º semestre de 2012Desempenho do produto interno bruto de pernambuco 2º semestre de 2012
Desempenho do produto interno bruto de pernambuco 2º semestre de 2012Jornal do Commercio
 
Taller Practico De Internet 1
Taller Practico De Internet 1Taller Practico De Internet 1
Taller Practico De Internet 1ruthsa59
 
Presupuesto 2010 ayuntamiento de Alaquàs
Presupuesto 2010 ayuntamiento de AlaquàsPresupuesto 2010 ayuntamiento de Alaquàs
Presupuesto 2010 ayuntamiento de AlaquàsPSOE Alaquàs
 
2010 03 17 Liderar el cambio 52
2010 03 17 Liderar el cambio 522010 03 17 Liderar el cambio 52
2010 03 17 Liderar el cambio 52PSOE Alaquàs
 
Proposta para a sesu pst universitário
Proposta para a sesu   pst universitárioProposta para a sesu   pst universitário
Proposta para a sesu pst universitárioJoão Cássio
 
Sampurna Tanavmukti Aani Samasyapurti ( Total Stress Management In Mara...
Sampurna  Tanavmukti  Aani  Samasyapurti ( Total  Stress  Management In  Mara...Sampurna  Tanavmukti  Aani  Samasyapurti ( Total  Stress  Management In  Mara...
Sampurna Tanavmukti Aani Samasyapurti ( Total Stress Management In Mara...ameyjosh
 
Lletres asturianes-2013
Lletres asturianes-2013Lletres asturianes-2013
Lletres asturianes-2013jandrogv
 
2010 04 27 aumenta la recaudación impositiva
2010 04 27 aumenta la recaudación impositiva2010 04 27 aumenta la recaudación impositiva
2010 04 27 aumenta la recaudación impositivaPSOE Alaquàs
 
Sahastranetra A Bestseller On V I S H N U S A H A S R A N A M Dr
Sahastranetra  A  Bestseller On  V I S H N U S A H A S R A N A M  DrSahastranetra  A  Bestseller On  V I S H N U S A H A S R A N A M  Dr
Sahastranetra A Bestseller On V I S H N U S A H A S R A N A M Drameyjosh
 
2011 01 21 liderar el cambio
2011 01 21 liderar el cambio2011 01 21 liderar el cambio
2011 01 21 liderar el cambioPSOE Alaquàs
 

Destaque (20)

Problemas medioambientais en España
Problemas medioambientais en EspañaProblemas medioambientais en España
Problemas medioambientais en España
 
Nuevo documento de microsoft office word (2)
Nuevo documento de microsoft office word (2)Nuevo documento de microsoft office word (2)
Nuevo documento de microsoft office word (2)
 
Bitartekaritza Araba.pdf
Bitartekaritza Araba.pdfBitartekaritza Araba.pdf
Bitartekaritza Araba.pdf
 
Explicando o 1 capítulo do apocalpse
Explicando o 1 capítulo do apocalpseExplicando o 1 capítulo do apocalpse
Explicando o 1 capítulo do apocalpse
 
Desempenho do produto interno bruto de pernambuco 2º semestre de 2012
Desempenho do produto interno bruto de pernambuco 2º semestre de 2012Desempenho do produto interno bruto de pernambuco 2º semestre de 2012
Desempenho do produto interno bruto de pernambuco 2º semestre de 2012
 
Webquest
WebquestWebquest
Webquest
 
Taller Practico De Internet 1
Taller Practico De Internet 1Taller Practico De Internet 1
Taller Practico De Internet 1
 
Faig input
Faig inputFaig input
Faig input
 
Presupuesto 2010 ayuntamiento de Alaquàs
Presupuesto 2010 ayuntamiento de AlaquàsPresupuesto 2010 ayuntamiento de Alaquàs
Presupuesto 2010 ayuntamiento de Alaquàs
 
2010 03 17 Liderar el cambio 52
2010 03 17 Liderar el cambio 522010 03 17 Liderar el cambio 52
2010 03 17 Liderar el cambio 52
 
Proposta para a sesu pst universitário
Proposta para a sesu   pst universitárioProposta para a sesu   pst universitário
Proposta para a sesu pst universitário
 
Ikuspegiak_2009.pdf
Ikuspegiak_2009.pdfIkuspegiak_2009.pdf
Ikuspegiak_2009.pdf
 
Sampurna Tanavmukti Aani Samasyapurti ( Total Stress Management In Mara...
Sampurna  Tanavmukti  Aani  Samasyapurti ( Total  Stress  Management In  Mara...Sampurna  Tanavmukti  Aani  Samasyapurti ( Total  Stress  Management In  Mara...
Sampurna Tanavmukti Aani Samasyapurti ( Total Stress Management In Mara...
 
Lletres asturianes-2013
Lletres asturianes-2013Lletres asturianes-2013
Lletres asturianes-2013
 
2010 04 27 aumenta la recaudación impositiva
2010 04 27 aumenta la recaudación impositiva2010 04 27 aumenta la recaudación impositiva
2010 04 27 aumenta la recaudación impositiva
 
La crostata di Emanuela
La crostata di EmanuelaLa crostata di Emanuela
La crostata di Emanuela
 
Presen
PresenPresen
Presen
 
Sahastranetra A Bestseller On V I S H N U S A H A S R A N A M Dr
Sahastranetra  A  Bestseller On  V I S H N U S A H A S R A N A M  DrSahastranetra  A  Bestseller On  V I S H N U S A H A S R A N A M  Dr
Sahastranetra A Bestseller On V I S H N U S A H A S R A N A M Dr
 
Identidades
IdentidadesIdentidades
Identidades
 
2011 01 21 liderar el cambio
2011 01 21 liderar el cambio2011 01 21 liderar el cambio
2011 01 21 liderar el cambio
 

Semelhante a Workshop Mundo Senai - Hello, Angular.js

Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheirasLambda 3
 
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
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.jsGiovanni Bassi
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Renzo Nuccitelli
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e PythonPeslPinguim
 
Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Marcelo Rodrigues
 
Workshop react + adonis.js
Workshop react + adonis.jsWorkshop react + adonis.js
Workshop react + adonis.jsDenis Velrino
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojofabioginzel
 
Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + FirebaseBruno Catão
 
AngularJS com ASP.NET MVC 4 - Binding, Eventos, Ajax, Validações e Rotas
AngularJS com ASP.NET MVC 4 - Binding, Eventos, Ajax, Validações e RotasAngularJS com ASP.NET MVC 4 - Binding, Eventos, Ajax, Validações e Rotas
AngularJS com ASP.NET MVC 4 - Binding, Eventos, Ajax, Validações e RotasIldyone Martins
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2Felipe Pimentel
 
Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Maurício Linhares
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Daniel Makiyama
 

Semelhante a Workshop Mundo Senai - Hello, Angular.js (20)

Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheiras
 
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
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.js
 
Python 07
Python 07Python 07
Python 07
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE Python, Google App Engine e Webapp-CE
Python, Google App Engine e Webapp-CE
 
Google App Engine e Python
Google App Engine e PythonGoogle App Engine e Python
Google App Engine e Python
 
Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5
 
Angular 2
Angular 2Angular 2
Angular 2
 
Workshop react + adonis.js
Workshop react + adonis.jsWorkshop react + adonis.js
Workshop react + adonis.js
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + Firebase
 
AngularJS com ASP.NET MVC 4 - Binding, Eventos, Ajax, Validações e Rotas
AngularJS com ASP.NET MVC 4 - Binding, Eventos, Ajax, Validações e RotasAngularJS com ASP.NET MVC 4 - Binding, Eventos, Ajax, Validações e Rotas
AngularJS com ASP.NET MVC 4 - Binding, Eventos, Ajax, Validações e Rotas
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2
 
Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 

Workshop Mundo Senai - Hello, Angular.js

  • 1.
  • 2.  Fabio Elisio de Melo Nunes  Trabalho na area desde 2000  Microsoft Certified HTML5, Javascript, CSS3  Analista de Sistemas – SENAI – NQTS - Front  github.com/felisio  www.fabioelisio.com
  • 3.  Modelo e arquitetura  Definições  Modulos e Controllers
  • 5. Web Server Web Browser URL requisição para o server Resposta com Paginas e Arquivos Eventos, links e novas requisições Resposta com Paginas e Arquivos HTML Javascript Browser carrega conteudo e arquivos (html, css, js) HTML Javascript Browser carrega conteudo e arquivos (html, css, js)
  • 6. Web Server Web Browser URL requisição para o server Resposta com Paginas e Arquivos Eventos, links e novas requisições Resposta com dados formato JSON HTML Javascript Browser carrega conteudo e arquivos (html, css, js) Dados JSON Dados são lidos na pagina Carregada.
  • 7.
  • 8.
  • 10.  Um Framework Javascript client-side para adicionar interatividade ao HTML.  Conceito de Aplicação “Single Page” – Recursos são carregados dinamicamente e incluido na Pagina. Más como chamar esse Javascript Dentro do HTML
  • 11. • Escrever nossa aplicação Angular em pequenas peças. • Deixar o nosso código mais reutilizável, testável, e legível. • Onde definimos as dependências para o nosso aplicativo. M Módulos são utilizados por outros módulos M M
  • 12. Diretiva pode ser uma tag ou um atributo HTML que diz ao Angular para executar ou fazer uma referência a um código Javascript .
  • 13. • ng-app – Define o modulo da aplicação • ng-controller – Define um controller em determinada parte da aplicação • ng-model – associa o valor de um componente a uma propriedade na view model (geralmente adicionado nos elementtos de form) • ng-click – invoca um metodo no controller ao clicar no componente • ng-repeat – equivalente ao foreach, repete o conteudo para cada item de uma array na view model • ….
  • 14. Estrutura de Pasta (https://github.com/angular/angular-seed)
  • 16. Carrega arquivos no index.html Chamando primeiro modulo Incluindo diretiva no HTML
  • 17. Carregando Rota Padrão Carregando Rota especifica do Modulo
  • 18. Criando seu modulo Carregando controlador do Modulo Testando – agenda.html
  • 19. Magia do Two-way-binding $rootScope > $scope $watch, $watchCollection, $on, $emit e $broadcast
  • 20. Criando um objeto no controller Imprimindo no HTML
  • 21. Criando um array de objetos no controller Imprimindo no HTML com a diretiva ng-repeat
  • 22. Criando formulario para inserção de dados e pegando com a diretiva ng-submit Criando metodo no controller para inserir o dado
  • 23. Criando linha na lista com o metodo para removerc Criando metodo no controller para remover o dado
  • 24.  Criação de diretivas customizadas  JQLite embutido no framework  Abstração de requisições RESTFull com o $resource  Criação de Services e Factory  Grande quantidade de modulos criado pelas comunidades  …
  • 25.
  • 26. Obrigado! www.github.com/felisio @felisio fabio.elisio@gmail.com www.fabioelisio.com

Notas do Editor

  1. ----- Meeting Notes (18/11/14 12:23) ----- falar sobre o ciclo time do angular, com dois estados config e run
  2. Encapsulam comportamentos e são reutilizaveis Deixa o HTML mais limpo
  3. ----- Meeting Notes (18/11/14 12:23) ----- falar das depencias ngRoute e myApp.agenda
  4. Isolated Scope Algumas diretivas podem requisitar um tipo especial de escopo, que não herda propriedades do $rootScope. Essas diretivas ainda têm ligação com o root, somente a herança por protótipo que muda.
  5. Inserir comentario sobre uso de estancia do proprio controller para ser carregado no html
  6. Inserir comentario sobre uso de estancia do proprio controller para ser carregado no html
  7. Inserir comentario o data-bind e o uso do angular.copy para zerar o objeto do escopo
  8. Inserir comentario o data-bind e o uso do angular.copy para zerar o objeto do escopo
  9. Falar como o framework ja é difundido e usado pela comunidade de desenvolvedores Front End
  10. Falar como o framework ja é difundido e usado pela comunidade de desenvolvedores Front End
  11. Falar como o framework ja é difundido e usado pela comunidade de desenvolvedores Front End