F R A M E W O R K D J A N G O

  • 1,765 views
Uploaded on

Apresentação sobre o Framework Django utilizada no I SET - Seminário Tecnológico, realizado no Colégio Agrícola Senador Carlos Gomes de Oliveira, em Araquari/SC

Apresentação sobre o Framework Django utilizada no I SET - Seminário Tecnológico, realizado no Colégio Agrícola Senador Carlos Gomes de Oliveira, em Araquari/SC

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,765
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. FRAMEWORK DJANGO Fabio Eduardo Thomaz
  • 2. Quem sou eu?
    • Desenvolvedor de software desde 2001
    • Experiência com desenvolvimento nas linguagens:
      • C++
      • Pascal
      • Progress 4GL
    • Atualmente trabalho na Datasul Tecnologia
    • Estudante e entusiasta da linguagem Python
    • E do framework Django! :)
  • 3. No Passado...
    • Internet???
    • Páginas estáticas
    • Conexões lentas
    • Utilizada por um pequeno pedaço da população
    • Um certo receio...
  • 4. Já no Presente...
    • Internet!!!
    • Mudança de conceitos
    • “ Páginas Dinâmicas”
    • Aplicações complexas
    • Utilização em massa
    • Negócios, estudos, entretenimento, notícias...
  • 5.
    • “ As aplicações Web envolvem uma mistura de publicação impressa e desenvolvimento de aplicações, de comercialização e computação, de comunicações internas e relações externas, e de arte e tecnologia”
    • (Pressman, 2006)
  • 6. E os desenvolvedores?
    • Grande demanda
    • Projetos “inimigos do tempo”
    • Se você não faz, o concorrente faz
    • Necessidade de automatização e reutilização
    • Portanto, necessidade de utilização de um Framework
  • 7. Framework???
    • Estrutura de suporte ao desenvolvedor
      • Programas de Apoio
      • Bibliotecas de Classes
      • Scripts
      • Colaboração entre objetos
    • Reúne e oferece funcionalidades comuns
    • Permite ao desenvolvedor direcionar maior parte do seu tempo para as regras de negócio específicas da aplicação
  • 8. Com vocês, o Django!
    • Framework para o desenvolvimento de aplicações Web
    • Open source
    • Facilita o desenvolvimento de aplicações Web
    • “ Mais rápido e com menos código”
    • Produto final com qualidade
    • Escrito na linguagem Python
  • 9. Princípios do Django
    • DRY
      • Don’t Repeat Yourself
      • Aproveitar ao máximo cada código já desenvolvido
      • Evitar repetição
    • Convenção sobre configuração
      • Definições e padronização
      • Simplicidade
  • 10. Princípios do Django
    • Arquitetura MVC
      • Model, View, Controller
    • Arquitetura MTV?
      • Model, Template, View
    • No Django, a nomenclatura utilizada é diferente, mas cada conjunto de objetos realiza as tarefas que estão dentro do seu escopo
  • 11. Processo de Desenvolvimento
  • 12. Estrutura de um Projeto
    • / PASTA DO PROJETO
      • __init__.py
      • manage.py
      • settings.py
      • urls.py
      • / PASTA DA APLICAÇÃO
      • __init__.py
      • models.py
      • views.py
  • 13. Arquivos - Raiz do Projeto
  • 14. manage.py
    • Programa responsável pela execução de tarefas relacionadas ao projeto
      • Criação de aplicações
      • Sincronização com o banco de dados
      • Execução do servidor de desenvolvimento
      • Execução do console interativo
  • 15. settings.py
    • Arquivo no qual o desenvolvedor configura o seu projeto
      • Parâmetros do Banco de Dados
      • Aplicações utilizadas
    • É o único arquivo de configuração do Django
    • Porém muito importante
  • 16. urls.py
    • Arquivo utilizado para mapear as URLs do projeto
    • Não vincula as URLs ao nomes dos programas, e sim às suas funções
    • Nomes dos programas podem mudar, funcionalidades não mudam
    • Expressões regulares definem os padrões das URLs
  • 17. Exemplo – urls.py
  • 18. Arquivos - Aplicação
  • 19. models.py
    • Arquivo utilizado para a definição dos modelos de dados da aplicação
    • Um modelo de dados é uma classe Python
    • Para cada classe definida, uma tabela é criada no banco de dados
    • Para cada atributo da classe, um campo é adicionado à tabela correspondente
  • 20. models.py
    • Uma instância de uma classe do models.py corresponde à um registro da tabela correspondente
    • A comunicação entre a aplicação e o banco de dados é feita de forma transparente, através de uma API
    • A arquitetura MVC sugere que as regras de negócio sejam codificadas nesta “camada”
  • 21. Exemplo – models.py
  • 22. views.py
    • Arquivo utilizado para desenvolver os métodos que irão tratar as requisições dos usuários e retornar as respostas
    • É o meio de comunicação entre a camada de visualização/interface e a camada de modelo de dados/regras de negócio
  • 23. Exemplo – views.py
  • 24. Sistema de Templates
  • 25. Sistema de Templates
    • O Django possui um sistema de templates que facilita o desenvolvimento e a reutilização da camada de interface
    • Separa a interface da lógica da aplicação
    • Pode ser utilizado para diversas funções
  • 26. Exemplo - Templates
  • 27. Exemplo - Templates
  • 28. Resultado
  • 29. Funcionamento da Aplicação Desenvolvida
  • 30. Aplicação Desenvolvida
  • 31. Achou pouco? Ainda não acabou... :)
  • 32. API para Acesso aos Dados
    • O Django oferece uma API Python para você acessar os seus dados
    • Não é necessária a utilização de comandos SQL
    • Fácil de usar e com uma boa documentação
  • 33. Interface de Administração
    • Parece mágica, mas não é...
    • Com base na definição do modelo de dados, o Django gera automaticamente uma interface para manutenção dos dados da aplicação
  • 34. Interface de Administração
  • 35. Interface de Administração
  • 36. Interface de Administração
  • 37. Formulários
    • Facilita a geração de formulários HTML
    • O formulário pode ser gerado a partir de um modelo de dados, utilizando todas as suas regras de validação
    • São definidos em classes, portanto podem ser instanciados e utilizados diversas vezes
  • 38. Console Interativo
    • Permite que o desenvolvedor utilize o console interativo do Python conectado ao seu projeto
    • Dessa forma, é possível realizar diversos testes com as classes do modelo de dados, validar regras de negócio ou prototipar soluções
  • 39. Autenticação
    • O Django possui um sistema de autenticação disponível para utilização
    • O desenvolvedor deve apenas configurar algumas URLs e dizer quais partes da sua aplicação necessitam de autenticação
  • 40. Autenticação
  • 41. Feeds/RSS
    • A geração de feeds rss é um recurso que pode ser muito útil para o usuário da aplicação
    • O Django oferece um framework para facilitar a geração de rss
  • 42. Envio de Email
    • Em poucas linhas de código:
  • 43. Relatórios em PDF
  • 44. Tratamento de Imagens
  • 45. Extensão/Customização
    • Por ser desenvolvido em Python, o código do Django é de fácil compreensão
    • Caso o desenvolvedor deseje, é possível fazer customizações do mais variados tipos
    • Porém as customizações devem ser bem planejadas, pois novas versões do framework poderiam ser incompatíveis com a customização
  • 46. Sites desenvolvidos em Django
  • 47. Django Project
  • 48. lawrence.com
  • 49. The Presidential Field
  • 50. Django Gigs
  • 51. AOL Music Canada
  • 52. Vericia
  • 53. Ficou Interessado?
    • Site oficial do Projeto
      • http://www.djangoproject.com
    • Comunidade Brasileira de Usuários
      • http://www.djangobrasil.org
  • 54. Instalação
    • www.djangoproject.com/download/
    • Versão estável – 0.96
    • Versão mais recente (SVN)
      • svn co http://code.djangoproject.com/svn/django/trunk/
  • 55. Instalação
    • Descompactar o arquivo
    • Executar o comando:
      • python setup.py install
    • Recomendação: Ambiente Linux
    • Sugestão: Ubuntu :)
  • 56. Espaço para Discussão
    • Dúvidas?
    • Sugestões?
    • Já havia ouvido algo sobre o Django?
    • Qual a sua impressão sobre o framework após esta apresentação?
    • Valeu a pena assistir a esta apresentação?
    • Exponha a sua opinião! :)
  • 57. OBRIGADO! Contato: [email_address]