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

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

  • 1.
  • 2.
    “Transformar equipes dedesenvolvimento de software” http://www.agilecode.com.br
  • 4.
    Rodrigo Branas rodrigo.branas@agilecode.com.br http://www.agilecode.com.br • DesenvolvendoSoftware 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 daComputaçã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á maisde 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.
  • 7.
  • 8.
  • 9.
    Em 1990, noCERN, Berners-Lee construiu o primeiro servidor, o primeiro navegador e as primeiras páginas dando origem a World Wide Web (ou WWW).
  • 11.
  • 12.
    No princípio eratudo estático
  • 13.
    Como fazer paratorná-la mais dinâmica?
  • 14.
  • 15.
    Nascia a tecnologiaCGI em 1993 Common Gateway Interface
  • 16.
    Por meio datecnologia 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údoHTML no servidor e pouca interação
  • 18.
  • 19.
    As pessoas foramficando viciadas
  • 20.
    A necessidade deinteração acabou ficando cada vez maior!
  • 21.
    Como fazer paratorná-la mais interativa?
  • 23.
  • 24.
    Quando pensamos emJavaScript, qual é a primeira coisa que surge?
  • 26.
    O Ministério daSaúde adverte: O uso excessivo de JavaScript pode levar o projeto ao caos e os desenvolvedores à loucura!
  • 29.
    Como fazer paracomeçar a organizar esse negócio?
  • 30.
    O que faltavapara viabilizar o desenvolvimento de aplicações front-end? • Reduzir problemas de cross-browsing
  • 31.
    O que faltavapara 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 faltavapara 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 faltavapara 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 faltavapara 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 faltavapara 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 faltavapara 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
  • 38.
  • 39.
    Quem fica como 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

Notas do Editor

  • #8 Telégrafo - 1836