conhecendo o django

Download Conhecendo o Django

Post on 15-Jul-2015

194 views

Category:

Internet

1 download

Embed Size (px)

TRANSCRIPT

Slide 1

Marcos Thomaz da Silva

ConhecendoData: 04 de dezembro de 2014DjangoCriado por Jacob Kaplan Moss e Adrian HolovatyLanado em 2003Django ReinhardtAtualmente na verso 1.7.1Mas o que Django???O que Django?Framework Web de alto nvel

Um framework (ou arcabouo) em desenvolvimento de software, uma abstrao que une cdigos comuns entre vrios projetos de software provendo uma funcionalidade genrica.Fayad e SchmidtFrameworks so projetados com a inteno de facilitar o desenvolvimento de software, habilitando designers e programadores a gastarem mais tempo determinando as exigncias do software do que com detalhes de baixo nvel do sistemaO que o Django NO ?No um CMSNo uma bibliotecaNo um programa

Caractersticas do DjangoDesenvolvido em PythonCriada por Guido van RossunLanada em 1991Linguagem de Alto NvelInterpretada e InterativaGera BytecodesProdutividade e Manuteno de CdigoMultiplataforma (nativa Linux)Multiparadigma (procedural, OO, funcional)Open SourceMonty Python Flying Circus

Python, quem usa?

Caractersticas do DjangoMultiplataforma

O que maisFocado no desenvolvimento gilConceito DRY Dont Repeat YourselfPlugabilidadeMTV / MVCAutomatizao de TarefasFoco no NegcioOpen Source

O que preciso saber...Pequenas Aplicaes:Conjunto HTML / CSS / JavascriptServidor Web / AplicaesFormulrios e ValidaoPersistncia de Dados

Mdias e Grandes Aplicaes:Engine de templatesMapeador de URLsControle de SessesAutenticaoTestes e Metodologias geisCacheAjax

E agora? Ser que esse tal Django atende a todos estes requisitos?

Recursos do .

Recursos do DjangoArquivo Centralizado de ConfiguraesAtivao de Ambiente de DepuraoPlugins vinculadosConexo com Banco de DadosMdulos IntermediriosIdioma

Recursos do DjangoServidor web embutido;Mdulos para Deploy nos principais servidores Webmod_pythonWSGI /mod_wsgiFastCGISCGI - Simple Common Gateway InterfaceAJP - Apache JServ Protocol / Tomcat

Recursos do Django Servidores Web/ Aplicaes

Recursos do DjangoMdulo completo de formulriosGerao automtica baseada em modelosValidao centralizadaIntegrao com banco de dados

Recursos do DjangoORM (Mapeamento Objeto Relacional)Gerao de Banco de DadosEngenharia Reversa de BancoMigrationsDiversos Bancos de Dados (PostgreSQL, MySQL, Oracle, SQLite, DB2, SQLServer, Firebird/Interbase)Conexes Multibancos

Recursos do Django - ORM

Recursos do DjangoSistema completo de TemplatesSistema Prprio de TemplatesIntegrao com Outros Motores de TemplatesSeparao de Regras de Negcio e TemplatesTags, Filtros e Funes EspeciaisPossibilidade de Extenso de Filtros e FunesRecursos do Django Templates

Recursos do DjangoMapeador de URLs (URL Dispatcher)URLs Limpas e ElegantesDefinio de URLsUtilizao de Expresses RegularesMapeamento de URLs por Mdulo

Recursos do Django URLs

Recursos do DjangoGerenciamento Completo de SessesEm arquivoEm bancos de dados relacionalEm banco de dados especial (redis/memcached)Controle de expirao de sessesAo fechar o navegadorNuncaData especfica

Recursos do Django Mdulo completo de AutenticaoMdulo embutido de autenticaoPossibilidade de Extenso de Modelo de UsuriosIntegrao dom Facebook, Twitter, Google+Bases LDAP / Active DirectoryRecuperao de Senhas

Recursos do Django Mdulos de Testes e Metodologias geisTDD Test Driven DevelopmentBDD Behavior Driven Development

Recursos do Django Mdulos Ajax para aplicaes RicasEditores WYSIWYGWeb ComponentsAPIs Rest e SOAP

Recursos do Django CacheEm memriaEm arquivosEm bancos de dados (Relacionais e NoSQL)Por RequisioPor ConsultaPor Pgina

Recursos do Django Interface Administrativa - AdminAplicao PlugvelInterface e estruturas criadas (quase) automaticamentePossibilidade de PersonalizaoPequenos sistemas e backends em minutos Excelente produtividadeMotivo de Confuso: Django = Programa

Recursos do Django - Admin

Recursos do Django - Admin

Recursos do Django - Admin

E maisCriao de Log de AplicaesInternacionalizaoCriao Automtica de SitemapsIntegrao com Redes SociaisHerana de ModelosGeoprocessamento (GeoDjango)Recursos de PerformanceEnvio de Emails

E ainda maisGerao de Feed de Notcias (RSS/Atom)PaginaoMdulo de MensagensSerializaes (XML, JSON, YAML)Arquivos EstticosSignalsGeneric RelationsComunidade Brasileira ParticipativaMuito Material na InternetExcelente DocumentaoNo contavam com minha astcia!

Lista de Sites teis RelacionadosSite Oficial da Linguagem Python: https://www.python.org/

Site Oficial do Framework Django: https://www.djangoproject.com/

Lista de Sites Feitos usando Django: https://www.djangosites.org/

Site com lista de diversas Aplicaes Plugves (Plugins) para o Django: https://www.djangopackages.com/packages/p/django-pluggables/

Github Projetos e Aplicaes Plugveis Django: https://github.com/search?q=django

Site de Depoimentos do Porque Usar Django: https://ericstk.wordpress.com/2014/03/17/por-que-escolher-django/

Grupo Python Acre no Facebook (Ainda Iniciando): https://www.facebook.com/groups/1504095973195084/ Estrutura das Requisies no Django

Pequeno Trecho de CdigoModelo (Banco de Dados)

Pequeno Trecho de CdigoViews (camada de Controle / Controller)

Pequeno Trecho de CdigoTemplate (Camada de Visualizao) base.html

Pequeno Trecho de CdigoTemplate (Camada de Visualizao) mensagem.html

Pequeno Trecho de CdigoTemplate (Camada de Visualizao) Resultado

Pequeno Trecho de CdigoTemplate (Camada de Visualizao) Resultado

O que fazer com Django?SitesAplicaes WebServios WebAPIs

Globo um dos cases de sucesso : 45 milhes de acesso/dia32 mil acessos / minuto10 milhes de visitantes nicos / dia

Muito Obrigado

marcosthomazs@gmail.com