SlideShare uma empresa Scribd logo
1 de 24
Evoluindo o Desenvolvimento Web:
Criando Single Page Applications
Juliano Alves
juliano.alves@lambda3.com.br
@vonjuliano
Apresentação
●
Formado em Engenharia
de Software pela PUC-SP
●
Programador Java, Scala,
Ruby, Python
●
Agilista
●
Commiter do Mirror e do
Vidageek Games
História
HTML estático
HTML dinâmico
XMLHttpRequest e AJAX
Frameworks
Single Page Applications
O que preciso saber?
Frameworks SPA
Código de qualidade
Ferramentas melhores!
Sintaxe mínima
Semântica limpa
É Javascript!
E o servidor?
• Não precisa mais gerar HTML
• Não precisa mais manter estado
• Não precisa mais se conectar em
todos os serviços que atendem a
aplicação
Quais suas novas responsabilidades?
• Menos C#/Ruby/Java/Python,
mais Javascript
• Menos arrastar e soltar, mais
HTML codificado à mão
• Menos poluição no HTML, mais
CSS
Manifesto da Nova Web
• Falta de conhecimento dos desenvolvedores
• Medo
• Ferramental ainda em evolução
• Código exposto no cliente
Desafios do novo modelo
Você é desenvolvedor web?
Continuará sendo nos próximos
anos com o conhecimento atual?
Dúvidas???
Obrigado!
Juliano Alves
juliano.alves@lambda3.com.br
@vonjuliano

Mais conteúdo relacionado

Mais procurados

Você não precisa de uma sopa de letrinhas para criar web apps
Você não precisa de uma sopa de letrinhas para criar web appsVocê não precisa de uma sopa de letrinhas para criar web apps
Você não precisa de uma sopa de letrinhas para criar web appsWilliam Oliveira
 
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5Loiane Groner
 
Hangout Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout  Tempo Real Eventos - Javascript - Os Primeiros PassosHangout  Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout Tempo Real Eventos - Javascript - Os Primeiros PassosJackson F. de A. Mafra
 
Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...
Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...
Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...Renato Groff
 
Desenvolvimento web com tecnologias microsoft
Desenvolvimento web com tecnologias microsoftDesenvolvimento web com tecnologias microsoft
Desenvolvimento web com tecnologias microsoftDennes Torres
 
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019Renato Groff
 
Iwtraining frontend developer nova era
Iwtraining   frontend developer nova eraIwtraining   frontend developer nova era
Iwtraining frontend developer nova eraAdalto Junior
 
Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Breno Alves
 
Como criar módulos para magento 2
Como criar módulos para magento 2Como criar módulos para magento 2
Como criar módulos para magento 2Rafael Corrêa Gomes
 
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
 
Gerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On RailsGerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On RailsRodrigo Urubatan
 
FirefoxOS - a web como plataforma
FirefoxOS - a web como plataformaFirefoxOS - a web como plataforma
FirefoxOS - a web como plataformaGuilherme Farias
 

Mais procurados (20)

Introdução ao React
Introdução ao ReactIntrodução ao React
Introdução ao React
 
Software gratuito
Software gratuitoSoftware gratuito
Software gratuito
 
SPA com CSharp
SPA com CSharpSPA com CSharp
SPA com CSharp
 
Você não precisa de uma sopa de letrinhas para criar web apps
Você não precisa de uma sopa de letrinhas para criar web appsVocê não precisa de uma sopa de letrinhas para criar web apps
Você não precisa de uma sopa de letrinhas para criar web apps
 
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
 
Hangout Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout  Tempo Real Eventos - Javascript - Os Primeiros PassosHangout  Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout Tempo Real Eventos - Javascript - Os Primeiros Passos
 
O dia a dia de uma Desenvolvedora Front-end
O dia a dia de uma Desenvolvedora Front-endO dia a dia de uma Desenvolvedora Front-end
O dia a dia de uma Desenvolvedora Front-end
 
Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...
Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...
Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...
 
Desenvolvimento web com tecnologias microsoft
Desenvolvimento web com tecnologias microsoftDesenvolvimento web com tecnologias microsoft
Desenvolvimento web com tecnologias microsoft
 
Apresentação scriptcase
Apresentação   scriptcaseApresentação   scriptcase
Apresentação scriptcase
 
Novidades do Magento 2
Novidades do Magento 2Novidades do Magento 2
Novidades do Magento 2
 
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
 
Iwtraining frontend developer nova era
Iwtraining   frontend developer nova eraIwtraining   frontend developer nova era
Iwtraining frontend developer nova era
 
Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Por que devo aprender JavaScript?
Por que devo aprender JavaScript?
 
Conheça o ASP.NET MVC 3
Conheça o ASP.NET MVC 3Conheça o ASP.NET MVC 3
Conheça o ASP.NET MVC 3
 
Como criar módulos para magento 2
Como criar módulos para magento 2Como criar módulos para magento 2
Como criar módulos para magento 2
 
Melhores módulos para magento
Melhores módulos para magentoMelhores módulos para magento
Melhores módulos para magento
 
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 ...
 
Gerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On RailsGerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On Rails
 
FirefoxOS - a web como plataforma
FirefoxOS - a web como plataformaFirefoxOS - a web como plataforma
FirefoxOS - a web como plataforma
 

Semelhante a Evoluindo o Desenvolvimento Web: Criando SPA

JavaCE Conference 2012: ExtJS 4 + VRaptor
JavaCE Conference 2012: ExtJS 4 + VRaptorJavaCE Conference 2012: ExtJS 4 + VRaptor
JavaCE Conference 2012: ExtJS 4 + VRaptorLoiane Groner
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Javascript levado a sério
Javascript levado a sérioJavascript levado a sério
Javascript levado a sériosaspi2
 
Aula 1 - Apresentação da Disciplinatec.pptx
Aula 1 - Apresentação da Disciplinatec.pptxAula 1 - Apresentação da Disciplinatec.pptx
Aula 1 - Apresentação da Disciplinatec.pptxHailtonReis
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseDr. Spock
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenLeandro Costa
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...iMasters
 
Oportunidades daitan 20.02.2015
Oportunidades daitan   20.02.2015Oportunidades daitan   20.02.2015
Oportunidades daitan 20.02.2015Manoel Carvalho
 
Desenvolvimento Ria com Java
Desenvolvimento Ria com JavaDesenvolvimento Ria com Java
Desenvolvimento Ria com JavaTI Infnet
 
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
 
Desenvolvimento RIA com Java
Desenvolvimento RIA com JavaDesenvolvimento RIA com Java
Desenvolvimento RIA com Javaarmeniocardoso
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseGlobalcode
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisÉdipo Souza
 
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?David Ruiz
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 

Semelhante a Evoluindo o Desenvolvimento Web: Criando SPA (20)

JavaCE Conference 2012: ExtJS 4 + VRaptor
JavaCE Conference 2012: ExtJS 4 + VRaptorJavaCE Conference 2012: ExtJS 4 + VRaptor
JavaCE Conference 2012: ExtJS 4 + VRaptor
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
Javascript levado a sério
Javascript levado a sérioJavascript levado a sério
Javascript levado a sério
 
Aula 1 - Apresentação da Disciplinatec.pptx
Aula 1 - Apresentação da Disciplinatec.pptxAula 1 - Apresentação da Disciplinatec.pptx
Aula 1 - Apresentação da Disciplinatec.pptx
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e maven
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
 
Oportunidades daitan 20.02.2015
Oportunidades daitan   20.02.2015Oportunidades daitan   20.02.2015
Oportunidades daitan 20.02.2015
 
Desenvolvimento Ria com Java
Desenvolvimento Ria com JavaDesenvolvimento Ria com Java
Desenvolvimento Ria com Java
 
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
 
Desenvolvimento RIA com Java
Desenvolvimento RIA com JavaDesenvolvimento RIA com Java
Desenvolvimento RIA com Java
 
Front end architecture
Front end architectureFront end architecture
Front end architecture
 
Apresentação JQuery
Apresentação JQueryApresentação JQuery
Apresentação JQuery
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Palestra institucional Interna | Meet and Greet
Palestra institucional Interna | Meet and GreetPalestra institucional Interna | Meet and Greet
Palestra institucional Interna | Meet and Greet
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java Enterprise
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
 
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 

Mais de Juliano P. Alves

Protegendo seu K8s com Vault
Protegendo seu K8s com VaultProtegendo seu K8s com Vault
Protegendo seu K8s com VaultJuliano P. Alves
 
AWS Firehose e a arte de acumular dados sem fazer nada
AWS Firehose e a arte de acumular dados sem fazer nadaAWS Firehose e a arte de acumular dados sem fazer nada
AWS Firehose e a arte de acumular dados sem fazer nadaJuliano P. Alves
 
A Practical Theory of Language-Integrated Query with Quill
A Practical Theory of Language-Integrated Query with QuillA Practical Theory of Language-Integrated Query with Quill
A Practical Theory of Language-Integrated Query with QuillJuliano P. Alves
 
Usando containers para criar uma arquitetura de microservices
Usando containers para criar uma arquitetura de microservicesUsando containers para criar uma arquitetura de microservices
Usando containers para criar uma arquitetura de microservicesJuliano P. Alves
 
Agile brazil - Divertir para Motivar
Agile brazil - Divertir para MotivarAgile brazil - Divertir para Motivar
Agile brazil - Divertir para MotivarJuliano P. Alves
 
Divertir para motivar TDC2014
Divertir para motivar TDC2014Divertir para motivar TDC2014
Divertir para motivar TDC2014Juliano P. Alves
 
Você não precisa de um banco de dados
Você não precisa de um banco de dadosVocê não precisa de um banco de dados
Você não precisa de um banco de dadosJuliano P. Alves
 
Melhorando seus testes com Specs2
Melhorando seus testes com Specs2Melhorando seus testes com Specs2
Melhorando seus testes com Specs2Juliano P. Alves
 

Mais de Juliano P. Alves (9)

Protegendo seu K8s com Vault
Protegendo seu K8s com VaultProtegendo seu K8s com Vault
Protegendo seu K8s com Vault
 
AWS Firehose e a arte de acumular dados sem fazer nada
AWS Firehose e a arte de acumular dados sem fazer nadaAWS Firehose e a arte de acumular dados sem fazer nada
AWS Firehose e a arte de acumular dados sem fazer nada
 
A Practical Theory of Language-Integrated Query with Quill
A Practical Theory of Language-Integrated Query with QuillA Practical Theory of Language-Integrated Query with Quill
A Practical Theory of Language-Integrated Query with Quill
 
Usando containers para criar uma arquitetura de microservices
Usando containers para criar uma arquitetura de microservicesUsando containers para criar uma arquitetura de microservices
Usando containers para criar uma arquitetura de microservices
 
Agile brazil - Divertir para Motivar
Agile brazil - Divertir para MotivarAgile brazil - Divertir para Motivar
Agile brazil - Divertir para Motivar
 
Contemple o poder de thor
Contemple o poder de thorContemple o poder de thor
Contemple o poder de thor
 
Divertir para motivar TDC2014
Divertir para motivar TDC2014Divertir para motivar TDC2014
Divertir para motivar TDC2014
 
Você não precisa de um banco de dados
Você não precisa de um banco de dadosVocê não precisa de um banco de dados
Você não precisa de um banco de dados
 
Melhorando seus testes com Specs2
Melhorando seus testes com Specs2Melhorando seus testes com Specs2
Melhorando seus testes com Specs2
 

Evoluindo o Desenvolvimento Web: Criando SPA

Notas do Editor

  1. 5/19/13 05:59:35 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  2. 5/19/13 05:59:35 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.