SlideShare une entreprise Scribd logo
1  sur  39
Introdução ao desenvolvimento
de aplicações web
“Transformar equipes de desenvolvimento de software”
http://www.agilecode.com.br
Rodrigo Branas
rodrigo.branas@agilecode.com.br
http://www.agilecode.com.br
• Desenvolvendo Software na Gennera
• Criando treinamentos na Agile Code
• Escrevendo na Java Magazine e PacktPub
• Palestrando sobre desenvolvimento de
software em eventos, universidades e
empresas
Certificações
Formação Acadêmica
Ciências da Computação – UFSC
Gerenciamento de Projetos - FGV
SCJA, SCJP, SCJD, SCWCD, SCBCD, PMP, MCP e CSM
Experiência
Há mais de 12 anos desenvolvendo software na
plataforma Java com as empresas: EDS, HP, NET,
Citibank, GM, Dígitro, Softplan, OnCast, Senai,
VALE, RBS, Unimed, Globalcode, V.Office, Suntech,
WPlex e Gennera.
• Há mais de 5 anos liderando pessoas.
• Mais de 2000 horas em sala de aula.
• Mais de 100 apresentações em eventos.
• 6 artigos escritos para revistas.
• 1 livro.
• Mais de 500 profissionais treinados.
• Criação de 22 palestras.
• Criação de 10 treinamentos.
• Criação de mais de 3.000 slides.
Quem inventou a Web?
Tim Berners-Lee
Em 1990, no CERN, Berners-Lee construiu o
primeiro servidor, o primeiro navegador e as
primeiras páginas dando origem a
World Wide Web (ou WWW).
Primeiro website da história!
No princípio era tudo estático
Como fazer para torná-la
mais dinâmica?
Gerando código HTML no servidor
Nascia a tecnologia CGI em 1993
Common Gateway Interface
Por meio da tecnologia CGI, era possível criar
uma interface de comunicação entre o servidor
web e um programa, permitindo o recebimento
de parâmetros e a geração de conteúdo
dinâmico.
Geração de conteúdo HTML
no servidor e pouca interação
NosprimórdiosaWeb1.0
As pessoas foram ficando viciadas
A necessidade de interação acabou
ficando cada vez maior!
Como fazer para torná-la
mais interativa?
EntrandonaWeb2.0
Quando pensamos em JavaScript,
qual é a primeira coisa que surge?
O Ministério da Saúde adverte:
O uso excessivo de JavaScript pode
levar o projeto ao caos e os
desenvolvedores à loucura!
Como fazer para começar a
organizar esse negócio?
O que faltava para viabilizar o
desenvolvimento de aplicações front-end?
• Reduzir problemas de cross-browsing
O que faltava para viabilizar o
desenvolvimento de aplicações front-end?
• Reduzir problemas de cross-browsing
• Parar de recarregar a página o tempo todo
O que faltava para viabilizar o
desenvolvimento de aplicações front-end?
• Reduzir problemas de cross-browsing
• Parar de recarregar a página o tempo todo
• Estruturar a aplicação em camadas com
responsabilidades bem definidas
O que faltava para viabilizar o
desenvolvimento de aplicações front-end?
• Reduzir problemas de cross-browsing
• Parar de recarregar a página o tempo todo
• Estruturar a aplicação em camadas com
responsabilidades bem definidas
• Realizar injeção de dependências
O que faltava para viabilizar o
desenvolvimento de aplicações front-end?
• Reduzir problemas de cross-browsing
• Parar de recarregar a página o tempo todo
• Estruturar a aplicação em camadas com
responsabilidades bem definidas
• Realizar injeção de dependências
• Criar componentes reusáveis
O que faltava para viabilizar o
desenvolvimento de aplicações front-end?
• Reduzir problemas de cross-browsing
• Parar de recarregar a página o tempo todo
• Estruturar a aplicação em camadas com
responsabilidades bem definidas
• Realizar injeção de dependências
• Criar componentes reusáveis
• Automatizar os testes
O que faltava para viabilizar o
desenvolvimento de aplicações front-end?
• Reduzir problemas de cross-browsing
• Parar de recarregar a página o tempo todo
• Estruturar a aplicação em camadas com
responsabilidades bem definidas
• Realizar injeção de dependências
• Criar componentes reusáveis
• Automatizar os testes
• Utilizar ferramentas para automatizar o
workflow dos projetos
Nos separamos, e agora?
Quem fica com o que?
Front-end (HTML, CSS e JavaScript)
• Arquitetura da informação
• Layout
• Regras de interface
• Renderização
Back-end (Java, C#, PHP, Ruby, Python, ...)
• Processamento
• Regras de negócio
• Dados

Contenu connexe

Tendances

HTTP, JSON, REST e AJAX com AngularJS
HTTP, JSON, REST e AJAX com AngularJSHTTP, JSON, REST e AJAX com AngularJS
HTTP, JSON, REST e AJAX 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
 
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
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJSRodrigo Branas
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOakjesuinoPower
 
Testando uma aplicação AngularJS utilizando o Karma
Testando uma aplicação AngularJS utilizando o KarmaTestando uma aplicação AngularJS utilizando o Karma
Testando uma aplicação AngularJS utilizando o KarmaHenrique Limas
 
Primeiros passos no Vue.js
Primeiros passos no Vue.jsPrimeiros passos no Vue.js
Primeiros passos no Vue.jsJoel Rodrigues
 
Automação de Testes com AngularJS
Automação de Testes com AngularJSAutomação de Testes com AngularJS
Automação de Testes com AngularJSRodrigo Branas
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAVRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAYelken Heckman Ferreira Gonzales
 
Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPjesuinoPower
 
Rapida apresentacao sobre o Grails
Rapida apresentacao sobre o GrailsRapida apresentacao sobre o Grails
Rapida apresentacao sobre o GrailsDiego Cavalcanti
 
A evolução do AngularJS
A evolução do AngularJSA evolução do AngularJS
A evolução do AngularJSRodrigo Branas
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavajesuinoPower
 

Tendances (20)

Bower
BowerBower
Bower
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
HTTP, JSON, REST e AJAX com AngularJS
HTTP, JSON, REST e AJAX com AngularJSHTTP, JSON, REST e AJAX com AngularJS
HTTP, JSON, REST e AJAX 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...
 
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
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 
Introdução ao AngularJS!
Introdução ao AngularJS!Introdução ao AngularJS!
Introdução ao AngularJS!
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJS
 
Scope AngularJS
Scope AngularJSScope AngularJS
Scope AngularJS
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOak
 
Javascript para adultos
Javascript para adultosJavascript para adultos
Javascript para adultos
 
Testando uma aplicação AngularJS utilizando o Karma
Testando uma aplicação AngularJS utilizando o KarmaTestando uma aplicação AngularJS utilizando o Karma
Testando uma aplicação AngularJS utilizando o Karma
 
Primeiros passos no Vue.js
Primeiros passos no Vue.jsPrimeiros passos no Vue.js
Primeiros passos no Vue.js
 
Automação de Testes com AngularJS
Automação de Testes com AngularJSAutomação de Testes com AngularJS
Automação de Testes com AngularJS
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAVRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
 
Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SP
 
Rapida apresentacao sobre o Grails
Rapida apresentacao sobre o GrailsRapida apresentacao sobre o Grails
Rapida apresentacao sobre o Grails
 
Apresentação JQuery
Apresentação JQueryApresentação JQuery
Apresentação JQuery
 
A evolução do AngularJS
A evolução do AngularJSA evolução do AngularJS
A evolução do AngularJS
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma Java
 

En vedette

Evoluindo a arquitetura de uma aplicação com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJSEvoluindo a arquitetura de uma aplicação com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJSRodrigo Branas
 
Aplicando filtros com AngularJS
Aplicando filtros com AngularJSAplicando filtros com AngularJS
Aplicando filtros com AngularJSRodrigo Branas
 
Utilizando diretivas com AngularJS
Utilizando diretivas com AngularJSUtilizando diretivas com AngularJS
Utilizando diretivas com AngularJSRodrigo Branas
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Time de Desenvolvimento: Trabalhando em equipe sem matar o coleguinha
Time de Desenvolvimento: Trabalhando em equipe sem matar o coleguinhaTime de Desenvolvimento: Trabalhando em equipe sem matar o coleguinha
Time de Desenvolvimento: Trabalhando em equipe sem matar o coleguinhaDeblyn Prado
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareRoberto Brandini
 
Validando Formulários com AngularJS
Validando Formulários com AngularJSValidando Formulários com AngularJS
Validando Formulários com AngularJSRodrigo Branas
 
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasNode.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasRodrigo Branas
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptRodrigo Branas
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great InfographicsSlideShare
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShareKapost
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareEmpowered Presentations
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation OptimizationOneupweb
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingContent Marketing Institute
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 

En vedette (16)

Evoluindo a arquitetura de uma aplicação com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJSEvoluindo a arquitetura de uma aplicação com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJS
 
Aplicando filtros com AngularJS
Aplicando filtros com AngularJSAplicando filtros com AngularJS
Aplicando filtros com AngularJS
 
Utilizando diretivas com AngularJS
Utilizando diretivas com AngularJSUtilizando diretivas com AngularJS
Utilizando diretivas com AngularJS
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Time de Desenvolvimento: Trabalhando em equipe sem matar o coleguinha
Time de Desenvolvimento: Trabalhando em equipe sem matar o coleguinhaTime de Desenvolvimento: Trabalhando em equipe sem matar o coleguinha
Time de Desenvolvimento: Trabalhando em equipe sem matar o coleguinha
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
Validando Formulários com AngularJS
Validando Formulários com AngularJSValidando Formulários com AngularJS
Validando Formulários com AngularJS
 
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasNode.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 

Similaire à Introdução ao desenvolvimento de aplicações web

Do MVP ao PWA, melhorando o engajamento com cliente na CVC
Do MVP ao PWA, melhorando o engajamento com cliente na CVCDo MVP ao PWA, melhorando o engajamento com cliente na CVC
Do MVP ao PWA, melhorando o engajamento com cliente na CVCJanderson Silva
 
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...Felipe Nascimento
 
Como funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de softwareComo funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de softwareElvis Lima
 
Trabalhando com ALM na nuvem
Trabalhando com ALM na nuvemTrabalhando com ALM na nuvem
Trabalhando com ALM na nuvemAdriano Bertucci
 
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...Marcus Garcia
 
Apresentação scriptcase-netmake
Apresentação   scriptcase-netmakeApresentação   scriptcase-netmake
Apresentação scriptcase-netmakeGustavo Lobato
 
Overview do Mercado de Desenvolvimento Web
Overview do Mercado de Desenvolvimento WebOverview do Mercado de Desenvolvimento Web
Overview do Mercado de Desenvolvimento WebHector Nieva
 
Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMarcelo Murad
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosFelipe Gadelha Ruoso
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftFabrício Lopes Sanchez
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseDr. Spock
 

Similaire à Introdução ao desenvolvimento de aplicações web (20)

Do MVP ao PWA, melhorando o engajamento com cliente na CVC
Do MVP ao PWA, melhorando o engajamento com cliente na CVCDo MVP ao PWA, melhorando o engajamento com cliente na CVC
Do MVP ao PWA, melhorando o engajamento com cliente na CVC
 
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
Apresentação: Utilização de Metodologias Ágeis para Adaptação de um Processo ...
 
Como funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de softwareComo funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de software
 
Trabalhando com ALM na nuvem
Trabalhando com ALM na nuvemTrabalhando com ALM na nuvem
Trabalhando com ALM na nuvem
 
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
 
Apresentação scriptcase-netmake
Apresentação   scriptcase-netmakeApresentação   scriptcase-netmake
Apresentação scriptcase-netmake
 
Overview do Mercado de Desenvolvimento Web
Overview do Mercado de Desenvolvimento WebOverview do Mercado de Desenvolvimento Web
Overview do Mercado de Desenvolvimento Web
 
Produtividade
ProdutividadeProdutividade
Produtividade
 
Msp coding night_ppt
Msp coding night_pptMsp coding night_ppt
Msp coding night_ppt
 
Daily Meetings
Daily MeetingsDaily Meetings
Daily Meetings
 
Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs Agile
 
Desenvolvimento Web
Desenvolvimento WebDesenvolvimento Web
Desenvolvimento Web
 
Apresentação Executiva
Apresentação ExecutivaApresentação Executiva
Apresentação Executiva
 
Apresentação scriptcase
Apresentação   scriptcaseApresentação   scriptcase
Apresentação scriptcase
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhos
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias Microsoft
 
Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de Software
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
 
Entregando Software com Valor
Entregando Software com ValorEntregando Software com Valor
Entregando Software com Valor
 
Software gratuito
Software gratuitoSoftware gratuito
Software gratuito
 

Plus de Rodrigo Branas

Node.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasNode.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasRodrigo Branas
 
Node.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasNode.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasRodrigo Branas
 
Node.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasNode.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasRodrigo Branas
 
Node.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasNode.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasRodrigo Branas
 
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasNode.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasRodrigo Branas
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisasRodrigo Branas
 
#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remotoRodrigo Branas
 
#3 - Git - Branching e Merging
#3 - Git - Branching e Merging#3 - Git - Branching e Merging
#3 - Git - Branching e MergingRodrigo Branas
 
JavaScript - Expressões Regulares
JavaScript - Expressões RegularesJavaScript - Expressões Regulares
JavaScript - Expressões RegularesRodrigo Branas
 
HTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSHTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSRodrigo Branas
 
Criando serviços com AngularJS
Criando serviços com AngularJSCriando serviços com AngularJS
Criando serviços com AngularJSRodrigo Branas
 
Construindo Diretivas com AngularJS
Construindo Diretivas com AngularJSConstruindo Diretivas com AngularJS
Construindo Diretivas com AngularJSRodrigo Branas
 
Técnicas de Refactoring
Técnicas de RefactoringTécnicas de Refactoring
Técnicas de RefactoringRodrigo Branas
 

Plus de Rodrigo Branas (17)

Node.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasNode.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo Branas
 
Node.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasNode.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo Branas
 
Node.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasNode.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo Branas
 
Node.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasNode.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo Branas
 
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasNode.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas
 
#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto
 
#4 - Git - Stash
#4 - Git - Stash#4 - Git - Stash
#4 - Git - Stash
 
#3 - Git - Branching e Merging
#3 - Git - Branching e Merging#3 - Git - Branching e Merging
#3 - Git - Branching e Merging
 
#2 - Git - DAG
#2 - Git - DAG#2 - Git - DAG
#2 - Git - DAG
 
JavaScript - Date
JavaScript - DateJavaScript - Date
JavaScript - Date
 
JavaScript - Expressões Regulares
JavaScript - Expressões RegularesJavaScript - Expressões Regulares
JavaScript - Expressões Regulares
 
HTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSHTTP Interceptors com AngularJS
HTTP Interceptors com AngularJS
 
Criando serviços com AngularJS
Criando serviços com AngularJSCriando serviços com AngularJS
Criando serviços com AngularJS
 
Construindo Diretivas com AngularJS
Construindo Diretivas com AngularJSConstruindo Diretivas com AngularJS
Construindo Diretivas com AngularJS
 
Técnicas de Refactoring
Técnicas de RefactoringTécnicas de Refactoring
Técnicas de Refactoring
 

Introdução ao desenvolvimento de aplicações web

  • 2. “Transformar equipes de desenvolvimento de software” http://www.agilecode.com.br
  • 3.
  • 4. Rodrigo Branas rodrigo.branas@agilecode.com.br http://www.agilecode.com.br • Desenvolvendo Software na Gennera • Criando treinamentos na Agile Code • Escrevendo na Java Magazine e PacktPub • Palestrando sobre desenvolvimento de software em eventos, universidades e empresas
  • 5. Certificações Formação Acadêmica Ciências da Computação – UFSC Gerenciamento de Projetos - FGV SCJA, SCJP, SCJD, SCWCD, SCBCD, PMP, MCP e CSM Experiência Há mais de 12 anos desenvolvendo software na plataforma Java com as empresas: EDS, HP, NET, Citibank, GM, Dígitro, Softplan, OnCast, Senai, VALE, RBS, Unimed, Globalcode, V.Office, Suntech, WPlex e Gennera.
  • 6. • Há mais de 5 anos liderando pessoas. • Mais de 2000 horas em sala de aula. • Mais de 100 apresentações em eventos. • 6 artigos escritos para revistas. • 1 livro. • Mais de 500 profissionais treinados. • Criação de 22 palestras. • Criação de 10 treinamentos. • Criação de mais de 3.000 slides.
  • 9. Em 1990, no CERN, Berners-Lee construiu o primeiro servidor, o primeiro navegador e as primeiras páginas dando origem a World Wide Web (ou WWW).
  • 10.
  • 11. Primeiro website da história!
  • 12. No princípio era tudo estático
  • 13. Como fazer para torná-la mais dinâmica?
  • 14. Gerando código HTML no servidor
  • 15. Nascia a tecnologia CGI em 1993 Common Gateway Interface
  • 16. Por meio da tecnologia CGI, era possível criar uma interface de comunicação entre o servidor web e um programa, permitindo o recebimento de parâmetros e a geração de conteúdo dinâmico.
  • 17. Geração de conteúdo HTML no servidor e pouca interação
  • 19. As pessoas foram ficando viciadas
  • 20. A necessidade de interação acabou ficando cada vez maior!
  • 21. Como fazer para torná-la mais interativa?
  • 22.
  • 24. Quando pensamos em JavaScript, qual é a primeira coisa que surge?
  • 25.
  • 26. O Ministério da Saúde adverte: O uso excessivo de JavaScript pode levar o projeto ao caos e os desenvolvedores à loucura!
  • 27.
  • 28.
  • 29. Como fazer para começar a organizar esse negócio?
  • 30. O que faltava para viabilizar o desenvolvimento de aplicações front-end? • Reduzir problemas de cross-browsing
  • 31. O que faltava para viabilizar o desenvolvimento de aplicações front-end? • Reduzir problemas de cross-browsing • Parar de recarregar a página o tempo todo
  • 32. O que faltava para viabilizar o desenvolvimento de aplicações front-end? • Reduzir problemas de cross-browsing • Parar de recarregar a página o tempo todo • Estruturar a aplicação em camadas com responsabilidades bem definidas
  • 33. O que faltava para viabilizar o desenvolvimento de aplicações front-end? • Reduzir problemas de cross-browsing • Parar de recarregar a página o tempo todo • Estruturar a aplicação em camadas com responsabilidades bem definidas • Realizar injeção de dependências
  • 34. O que faltava para viabilizar o desenvolvimento de aplicações front-end? • Reduzir problemas de cross-browsing • Parar de recarregar a página o tempo todo • Estruturar a aplicação em camadas com responsabilidades bem definidas • Realizar injeção de dependências • Criar componentes reusáveis
  • 35. O que faltava para viabilizar o desenvolvimento de aplicações front-end? • Reduzir problemas de cross-browsing • Parar de recarregar a página o tempo todo • Estruturar a aplicação em camadas com responsabilidades bem definidas • Realizar injeção de dependências • Criar componentes reusáveis • Automatizar os testes
  • 36. O que faltava para viabilizar o desenvolvimento de aplicações front-end? • Reduzir problemas de cross-browsing • Parar de recarregar a página o tempo todo • Estruturar a aplicação em camadas com responsabilidades bem definidas • Realizar injeção de dependências • Criar componentes reusáveis • Automatizar os testes • Utilizar ferramentas para automatizar o workflow dos projetos
  • 37.
  • 39. Quem fica com o que? Front-end (HTML, CSS e JavaScript) • Arquitetura da informação • Layout • Regras de interface • Renderização Back-end (Java, C#, PHP, Ruby, Python, ...) • Processamento • Regras de negócio • Dados

Notes de l'éditeur

  1. Telégrafo - 1836