SlideShare ist ein Scribd-Unternehmen logo
1 von 21
REAL-TIME WEB APPS
COM ANGULARJS E FIREBASE
• Microsoft MVP – ASP.NET/IIS
• Trabalha com Desenvolvimento Web desde 2003
• Experiência em projetos de grande porte nacionais e internacionais
• Criador do aspnet{cast} – http://bity.ly/aspnetcast
• Atualmente trabalha como consultor e ministra treinamentos
• http://andrebaltieri.net/
Sobre
• Instagram feito com AngularJs e Firebase, utilizando autenticação com
Facebook
Exemplo
• Antes de começar...
• Como funciona uma aplicação convencional?
• Como funcionam as aplicações conectadas?
• Real-time no cenário SPA
Aplicações
Conectadas?
• Sigla para Single Page Application
• Aplicação carregada uma única vez
• Faz requisições apenas dos dados
• Gera o HTML no cliente
• Fácil manipulação de DOM
• Só HTML, CSS e JavaScript 
SPA
• Backend
• ASP.NET e SignalR
• NodeJs e Socket.io
• Firebase
• Entre outros...
• Frontend
• AngularJs
• Backbone
• EmberJs
• Entre outros...
Alternativas
• Todo usuário estará conectado a minha aplicação?
• E ao meu banco de dados?
• Preciso de uma conexão para cada usuário?
• Posso ter conteúdo Real Time sem SPA?
Então...
• NoSQL mantido pela Google
• API integrada
• Three-way Binding
• Autenticação Integrada
• Publicação da Aplicação
• Pago
Firebase
• Só pode ser utilizado via “firebase.com”
• Preço pode ser alto
• Material ainda é pobre
Desvantagens do
Firebase
• Framework MV* mantido pela Google
• Possui quase todas as funcionalidades necessárias integradas
• Muito material na internet
AngularJs
• Em aplicações grandes o bixo pega!!!
• Não tem AMD por padrão
• Renderização dos componentes na tela requer cuidado
• AngularJs 2 será bem diferente!
Desvantagens do
AngularJs
• Criando uma aplicação
• Executando um POST
• Executando um GET
DEMO: Iniciando com Firebase
• Criando a aplicação
• Instalando os pacotes
• Criando o Index.html
DEMO: Iniciando a aplicação
• Modularizando
• Definindo as rotas
• Configurando a aplicação
DEMO: Iniciando com
AngularJs
• Autenticando com Facebook
• Fazendo logout
DEMO: Autenticação
• Exibindo os posts na tela
• Postando uma nova imagem
• Recebendo notificações do servidor
DEMO: Trabalhando com
Firebase
• firebase-tools e firebase init
• Publicando a aplicação
DEMO: Publicacão
OBRIGA
DO!
• E-mail: contato@andrebaltieri.net
• Site: http://andrebaltieri.net
Treinamentos online ao vivo!
Assinem o site
Contato

Weitere ähnliche Inhalte

Was ist angesagt?

Oportunidades para desenvolvedores
Oportunidades para desenvolvedoresOportunidades para desenvolvedores
Oportunidades para desenvolvedoresPriscila Mayumi
 
Design para WordPress- Anyssa Ferreira - WordCamp BH 2015
Design para WordPress-  Anyssa Ferreira - WordCamp BH 2015Design para WordPress-  Anyssa Ferreira - WordCamp BH 2015
Design para WordPress- Anyssa Ferreira - WordCamp BH 2015Anyssa Ferreira
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Leandro Nunes
 
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For MacNovidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For MacThiago Bertuzzi
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"Stefan Horochovec
 
MAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesMAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesThiago Bertuzzi
 
Xamarin + Prism: implementando boas práticas
Xamarin + Prism: implementando boas práticasXamarin + Prism: implementando boas práticas
Xamarin + Prism: implementando boas práticasThiago Bertuzzi
 
Reuso De Código Com Rails
Reuso De Código Com RailsReuso De Código Com Rails
Reuso De Código Com RailsRodrigo Urubatan
 
Aula 2. frameworks js
Aula 2. frameworks jsAula 2. frameworks js
Aula 2. frameworks jsandreluizlc
 
Criando Seu Primeiro App com Xamarin.Forms
Criando Seu Primeiro App com Xamarin.FormsCriando Seu Primeiro App com Xamarin.Forms
Criando Seu Primeiro App com Xamarin.FormsThiago Bertuzzi
 
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019Thiago Bertuzzi
 
Palestra NativeScript - 2º Meetup DF.js
Palestra NativeScript - 2º Meetup DF.jsPalestra NativeScript - 2º Meetup DF.js
Palestra NativeScript - 2º Meetup DF.jsWendell Adriel
 
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NETProgressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NETAndre Baltieri
 
WordCamp Rio de Janeiro 2015 - Vinícius Lourenço | Desenvolvendo Plugins para...
WordCamp Rio de Janeiro 2015 - Vinícius Lourenço | Desenvolvendo Plugins para...WordCamp Rio de Janeiro 2015 - Vinícius Lourenço | Desenvolvendo Plugins para...
WordCamp Rio de Janeiro 2015 - Vinícius Lourenço | Desenvolvendo Plugins para...Vinícius Lourenço
 
Arquitetura de uma aplicação web moderna - MVP ShowCast
Arquitetura de uma aplicação web moderna - MVP ShowCastArquitetura de uma aplicação web moderna - MVP ShowCast
Arquitetura de uma aplicação web moderna - MVP ShowCastRodrigo Kono
 
Receita do Sucesso no Mercado Front End
Receita do Sucesso no Mercado Front EndReceita do Sucesso no Mercado Front End
Receita do Sucesso no Mercado Front EndLeonardo Balter
 

Was ist angesagt? (20)

CEJS 2014 - KnockoutJS
CEJS 2014 - KnockoutJSCEJS 2014 - KnockoutJS
CEJS 2014 - KnockoutJS
 
Oportunidades para desenvolvedores
Oportunidades para desenvolvedoresOportunidades para desenvolvedores
Oportunidades para desenvolvedores
 
Design para WordPress- Anyssa Ferreira - WordCamp BH 2015
Design para WordPress-  Anyssa Ferreira - WordCamp BH 2015Design para WordPress-  Anyssa Ferreira - WordCamp BH 2015
Design para WordPress- Anyssa Ferreira - WordCamp BH 2015
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?
 
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For MacNovidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
Novidades de Xamarin no VisualStudio 2019 e VisualStudio 8 For Mac
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"
 
MAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidadesMAUI + .NET 6: principais novidades
MAUI + .NET 6: principais novidades
 
Xamarin + Prism: implementando boas práticas
Xamarin + Prism: implementando boas práticasXamarin + Prism: implementando boas práticas
Xamarin + Prism: implementando boas práticas
 
Reuso De Código Com Rails
Reuso De Código Com RailsReuso De Código Com Rails
Reuso De Código Com Rails
 
Aula 2. frameworks js
Aula 2. frameworks jsAula 2. frameworks js
Aula 2. frameworks js
 
Criando Seu Primeiro App com Xamarin.Forms
Criando Seu Primeiro App com Xamarin.FormsCriando Seu Primeiro App com Xamarin.Forms
Criando Seu Primeiro App com Xamarin.Forms
 
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
Novidades de Xamarin no Visual Studio 2019 e Microsoft Build 2019
 
Palestra NativeScript - 2º Meetup DF.js
Palestra NativeScript - 2º Meetup DF.jsPalestra NativeScript - 2º Meetup DF.js
Palestra NativeScript - 2º Meetup DF.js
 
ASP.NET MVC Core
ASP.NET MVC CoreASP.NET MVC Core
ASP.NET MVC Core
 
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NETProgressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
 
WordCamp Rio de Janeiro 2015 - Vinícius Lourenço | Desenvolvendo Plugins para...
WordCamp Rio de Janeiro 2015 - Vinícius Lourenço | Desenvolvendo Plugins para...WordCamp Rio de Janeiro 2015 - Vinícius Lourenço | Desenvolvendo Plugins para...
WordCamp Rio de Janeiro 2015 - Vinícius Lourenço | Desenvolvendo Plugins para...
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 
Arquitetura de uma aplicação web moderna - MVP ShowCast
Arquitetura de uma aplicação web moderna - MVP ShowCastArquitetura de uma aplicação web moderna - MVP ShowCast
Arquitetura de uma aplicação web moderna - MVP ShowCast
 
Receita do Sucesso no Mercado Front End
Receita do Sucesso no Mercado Front EndReceita do Sucesso no Mercado Front End
Receita do Sucesso no Mercado Front End
 
Introdução ao React
Introdução ao ReactIntrodução ao React
Introdução ao React
 

Ähnlich wie Criar aplicações web em tempo real com AngularJS e Firebase

Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e AlémAndre Baltieri
 
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
 
Progressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundoProgressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundoAndre Baltieri
 
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...tdc-globalcode
 
Phonegap - self RJ
Phonegap - self RJPhonegap - self RJ
Phonegap - self RJjavamanrj
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013javamanrj
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
 
Desenvolvimento HTML5 para Smartphones e Tablets BlackBerry
Desenvolvimento HTML5 para Smartphones e Tablets BlackBerryDesenvolvimento HTML5 para Smartphones e Tablets BlackBerry
Desenvolvimento HTML5 para Smartphones e Tablets BlackBerryfelipebzr
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressRômulo Zoch
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Renato Groff
 
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorMSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorGustavo Bellini Bigardi
 
ASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsAndre Baltieri
 
AMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps ModernasAMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps ModernasDan Vitoriano
 

Ähnlich wie Criar aplicações web em tempo real com AngularJS e Firebase (20)

Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e Além
 
Curso AngularJS - Parte 2
Curso AngularJS - Parte 2Curso AngularJS - Parte 2
Curso AngularJS - Parte 2
 
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
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
Progressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundoProgressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundo
 
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
 
Phonegap - self RJ
Phonegap - self RJPhonegap - self RJ
Phonegap - self RJ
 
Meteor - TechParty 2015
Meteor - TechParty 2015Meteor - TechParty 2015
Meteor - TechParty 2015
 
Blazor #SnetTalks3
Blazor  #SnetTalks3Blazor  #SnetTalks3
Blazor #SnetTalks3
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
 
Desenvolvimento HTML5 para Smartphones e Tablets BlackBerry
Desenvolvimento HTML5 para Smartphones e Tablets BlackBerryDesenvolvimento HTML5 para Smartphones e Tablets BlackBerry
Desenvolvimento HTML5 para Smartphones e Tablets BlackBerry
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPress
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
 
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorMSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
 
ASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance TipsASP.NET Core APIs: Performance Tips
ASP.NET Core APIs: Performance Tips
 
ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
 
AMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps ModernasAMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps Modernas
 

Mehr von Andre Baltieri

Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022Andre Baltieri
 
31/08/2019 - Flutter Talks
31/08/2019 - Flutter Talks31/08/2019 - Flutter Talks
31/08/2019 - Flutter TalksAndre Baltieri
 
Refatorando para Testes de Unidade
Refatorando para Testes de UnidadeRefatorando para Testes de Unidade
Refatorando para Testes de UnidadeAndre Baltieri
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptAndre Baltieri
 
Otimizando seu cenário de APIs
Otimizando seu cenário de APIsOtimizando seu cenário de APIs
Otimizando seu cenário de APIsAndre Baltieri
 
Turbine sua API no Microsoft Azure
Turbine sua API no Microsoft AzureTurbine sua API no Microsoft Azure
Turbine sua API no Microsoft AzureAndre Baltieri
 
Migrando para o Angular 2
Migrando para o Angular 2Migrando para o Angular 2
Migrando para o Angular 2Andre Baltieri
 
Otimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScriptOtimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScriptAndre Baltieri
 
Trabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETTrabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETAndre Baltieri
 
Microsoft e o mundo do Desenvolvimento
Microsoft e o mundo do DesenvolvimentoMicrosoft e o mundo do Desenvolvimento
Microsoft e o mundo do DesenvolvimentoAndre Baltieri
 
5509 segurança em ap is
5509   segurança em ap is5509   segurança em ap is
5509 segurança em ap isAndre Baltieri
 
BaaS seguros com Firebase
BaaS seguros com FirebaseBaaS seguros com Firebase
BaaS seguros com FirebaseAndre Baltieri
 
5507 os principais design patterns
5507   os principais design patterns5507   os principais design patterns
5507 os principais design patternsAndre Baltieri
 
5505 otimizando frontends
5505   otimizando frontends5505   otimizando frontends
5505 otimizando frontendsAndre Baltieri
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacAndre Baltieri
 
Single Page Applications com ASP.NET 5
Single Page Applications com ASP.NET 5Single Page Applications com ASP.NET 5
Single Page Applications com ASP.NET 5Andre Baltieri
 

Mehr von Andre Baltieri (20)

Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022
 
31/08/2019 - Flutter Talks
31/08/2019 - Flutter Talks31/08/2019 - Flutter Talks
31/08/2019 - Flutter Talks
 
Refatorando para Testes de Unidade
Refatorando para Testes de UnidadeRefatorando para Testes de Unidade
Refatorando para Testes de Unidade
 
PWA: State of Art
PWA: State of ArtPWA: State of Art
PWA: State of Art
 
PWAs no seu Desktop
PWAs no seu DesktopPWAs no seu Desktop
PWAs no seu Desktop
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
 
Otimizando seu cenário de APIs
Otimizando seu cenário de APIsOtimizando seu cenário de APIs
Otimizando seu cenário de APIs
 
Turbine sua API no Microsoft Azure
Turbine sua API no Microsoft AzureTurbine sua API no Microsoft Azure
Turbine sua API no Microsoft Azure
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Migrando para o Angular 2
Migrando para o Angular 2Migrando para o Angular 2
Migrando para o Angular 2
 
BaaS com Firebase 3
BaaS com Firebase 3BaaS com Firebase 3
BaaS com Firebase 3
 
Otimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScriptOtimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScript
 
Trabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETTrabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NET
 
Microsoft e o mundo do Desenvolvimento
Microsoft e o mundo do DesenvolvimentoMicrosoft e o mundo do Desenvolvimento
Microsoft e o mundo do Desenvolvimento
 
5509 segurança em ap is
5509   segurança em ap is5509   segurança em ap is
5509 segurança em ap is
 
BaaS seguros com Firebase
BaaS seguros com FirebaseBaaS seguros com Firebase
BaaS seguros com Firebase
 
5507 os principais design patterns
5507   os principais design patterns5507   os principais design patterns
5507 os principais design patterns
 
5505 otimizando frontends
5505   otimizando frontends5505   otimizando frontends
5505 otimizando frontends
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no Mac
 
Single Page Applications com ASP.NET 5
Single Page Applications com ASP.NET 5Single Page Applications com ASP.NET 5
Single Page Applications com ASP.NET 5
 

Criar aplicações web em tempo real com AngularJS e Firebase

  • 1.
  • 2. REAL-TIME WEB APPS COM ANGULARJS E FIREBASE
  • 3. • Microsoft MVP – ASP.NET/IIS • Trabalha com Desenvolvimento Web desde 2003 • Experiência em projetos de grande porte nacionais e internacionais • Criador do aspnet{cast} – http://bity.ly/aspnetcast • Atualmente trabalha como consultor e ministra treinamentos • http://andrebaltieri.net/ Sobre
  • 4. • Instagram feito com AngularJs e Firebase, utilizando autenticação com Facebook Exemplo
  • 5. • Antes de começar... • Como funciona uma aplicação convencional? • Como funcionam as aplicações conectadas? • Real-time no cenário SPA Aplicações Conectadas?
  • 6. • Sigla para Single Page Application • Aplicação carregada uma única vez • Faz requisições apenas dos dados • Gera o HTML no cliente • Fácil manipulação de DOM • Só HTML, CSS e JavaScript  SPA
  • 7. • Backend • ASP.NET e SignalR • NodeJs e Socket.io • Firebase • Entre outros... • Frontend • AngularJs • Backbone • EmberJs • Entre outros... Alternativas
  • 8. • Todo usuário estará conectado a minha aplicação? • E ao meu banco de dados? • Preciso de uma conexão para cada usuário? • Posso ter conteúdo Real Time sem SPA? Então...
  • 9. • NoSQL mantido pela Google • API integrada • Three-way Binding • Autenticação Integrada • Publicação da Aplicação • Pago Firebase
  • 10. • Só pode ser utilizado via “firebase.com” • Preço pode ser alto • Material ainda é pobre Desvantagens do Firebase
  • 11. • Framework MV* mantido pela Google • Possui quase todas as funcionalidades necessárias integradas • Muito material na internet AngularJs
  • 12. • Em aplicações grandes o bixo pega!!! • Não tem AMD por padrão • Renderização dos componentes na tela requer cuidado • AngularJs 2 será bem diferente! Desvantagens do AngularJs
  • 13. • Criando uma aplicação • Executando um POST • Executando um GET DEMO: Iniciando com Firebase
  • 14. • Criando a aplicação • Instalando os pacotes • Criando o Index.html DEMO: Iniciando a aplicação
  • 15. • Modularizando • Definindo as rotas • Configurando a aplicação DEMO: Iniciando com AngularJs
  • 16. • Autenticando com Facebook • Fazendo logout DEMO: Autenticação
  • 17. • Exibindo os posts na tela • Postando uma nova imagem • Recebendo notificações do servidor DEMO: Trabalhando com Firebase
  • 18. • firebase-tools e firebase init • Publicando a aplicação DEMO: Publicacão
  • 20.
  • 21. • E-mail: contato@andrebaltieri.net • Site: http://andrebaltieri.net Treinamentos online ao vivo! Assinem o site Contato