o poder do python/django
DESCRIPTION
TRANSCRIPT
![Page 2: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/2.jpg)
Alguém conhece o Python?
![Page 3: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/3.jpg)
Linguagem de Programação• Foi desenvolvida por
Guido Van Rossum em 1990
3
![Page 4: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/4.jpg)
4
![Page 5: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/5.jpg)
Monty Python’s Flying Circus• Seu nome é uma
homenagem aogrupo humorísticoinglês, adorado porgeeks de todo omundo
5
![Page 6: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/6.jpg)
Filosofia PythonicaBonito é melhor que feio
Legi
bili
dad
eco
nta
Agora é melhor que nunca
Exp
lícit
oé
mel
ho
r q
ue
imp
lícit
o
Sim
ple
sé
mel
ho
r q
ue
com
ple
xo
Co
mp
lexo
é m
elh
or
qu
e co
mp
licad
o
Ao encarar a ambigüidade, recuse a tentação de adivinhar
Por: Tim Peters
Pla
no
é m
elh
or
qu
e an
inh
ado
6
![Page 7: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/7.jpg)
Por que usar Python?
![Page 8: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/8.jpg)
É Fácil de Aprender• Sintaxe clara, muito próxima de um pseudo-código.
file = open(“texto.txt”)
for linha in file:
print linha
file.close()
FileInputStream fstream = new FileInputStream("texto.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(in));
while (in.ready()) {System.out.println(in.readLine());
}
in.close(); 8
Python Java
![Page 9: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/9.jpg)
Tipagem Dinâmica e Forte• Objetos não podem mudar de tipo• Não há conversão automática de tipo
Em Python é levantada um exceção, pois isso é umafonte de bugs difíceis de localizar e tratar
O que é comum em linguagens de script como: php,javascript e perl
Ex: “9” + 10 = “910”X
9
![Page 10: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/10.jpg)
Alta produtividade• Tempo de desenvolvimento reduzido
– Comparado a Java normalmente o código 5 vezes menor
• Código extremamente legível tornando mais fácil a manutenção
• Possui um vasto repertório de bibliotecas
10
![Page 11: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/11.jpg)
Python é Multiplataforma
Unix/Linux, Windows, Mac, OS/2 ... Por que isso é importante?
11
![Page 12: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/12.jpg)
Python é Multiplataforma• Ex: Governo brasileiro
http://www.brasil.gov.br/12
![Page 13: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/13.jpg)
Python é Multiplataforma• Python em dispositivos móveis
– Symbiam (PyS60), PySide (Maemo), ASE (Android)
13
![Page 14: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/14.jpg)
Vários gurus recomendam• Eric Raymond
– em seu HOW-TO "Como se tornar um Hacker“– recomenda ao aspirante aprender Python
primeiro
“Se você não sabe nenhuma linguagem decomputador, eu recomendo começar comPython. É bem projetada, bem documentada, erelativamente boa para iniciantes. Apesar de seruma ótima linguagem para o aprendizado daprogramação, não é apenas um brinquedo, émuito poderosa e flexível e bem adequada paragrandes projetos.”
http://www.catb.org/~esr/faqs/hacker-howto.html
14
![Page 15: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/15.jpg)
Quem usa Pythonno Mundo?
![Page 16: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/16.jpg)
É Utilizada pelo Google desde 1998!
16http://web.archive.org/web/19990204033714/google.stanford.edu/about.html
![Page 17: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/17.jpg)
O que o acha do Python?
"Python tem sido uma parte importante do Google desde o início, e permanece assim conforme o sistema cresce e evolui. Hoje, dezenas de engenheiros do Google
usam Python, e estamos procurando por mais pessoas com conhecimento nessa linguagem.“ Peter Norvig, diretor de qualidade de busca do Google, Inc.
http://www.python.org.br/wiki/PythonNoGoogle
“*...+ nossa filosofia geral é ‘Python onde podemos, C++ onde somos obrigados.’Python não é definitivamente apenas um pequeno pedaço, nem é usado apenas para tarefas de ‘scripiting’; se ficássemos sem todo nosso código Python de uma
hora para outra, nossa poderosa infra-estrura que tem sido descrita como a ‘arma secreta do Google’ ficaria abalada.” Alex Martelli, Líder técnico, Sistemas de
produção, Google, Inc
http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/
17
![Page 18: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/18.jpg)
• Sistema de ajuda do GMail• Google Groups• Sistema de compilação de aplicativos (build system).• Sistema de empacotamento e entrega de dados
(packaging system).• Sistema de monitoramento e manutenção do cluster• Sistema de testes• ...
Onde o usa o Python?
18
![Page 19: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/19.jpg)
O usa!
“Python é rápido o suficiente para o nosso site e permite que nós produzamosfeatures que podem ser mantidas em tempo recorde, com o mínimo dedesenvolvedores.“ Cuong Do, Arquiteto de Software, Youtube.com.
http://www.python.org/about/quotes/
“O Youtube (uma das propriedades mais valiosas do Google) é essencialmente todoPython [...].” Alex Martelli, Líder técnico, Sistemas de produção, Google, Inc
http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/
19
![Page 20: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/20.jpg)
Industrial Light and Magic“Python desempenha um papel chave no nosso esquema de produção. Sem ela umprojeto do tamanho de ‘Guerra nas Estrelas: Episódio II teria sido muito difícil desair. Da renderização da multidão ao processamento em lote e a composição,Python mantêm todas as partes unidas.” Tommy Burnet te, Diretor técnico Sênior,ILM.
http://www.python.org/about/quotes/
“Quando me transferi [...], todos os membros da equipe [...] me acompanharam -menos Tommy. Ele [...] ele fora contratado pela Industrial Light and Magic [...].Tommy se tornou um destacado programador da linguagem Python, por sorte delea linguagem escolhida pela empresa de Lucas. E sorte mesmo é quando o preparose une a oportunidade.” Rand Pausch, A lição final.
http://pythonologia.org/2008/09/24/a-licao-final/
20
![Page 21: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/21.jpg)
http://www.ilmfan.com/projects21
![Page 22: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/22.jpg)
DreamWorks
“Gostaria de ser tudo Python, mas hoje ainda temos muito de Perl.”Ed Leonard, Diretor de Tecnologia de Animação, DreamWorks.
“Nossa equipe tem baseado a transição de Perl para Python na facilidade. Há trêsrazões primárias para isso. A criação de binding em Python para uma biblioteca C++é muito fácil [...]. A natureza orientada a objetos de Python é muito atraente [...]. EPython é uma cidadã de primeira classe [...] na nossa industria.” Darin Grant, Chefede Produção de Tecnologia, DreamWorks.
http://www.linuxjournal.com/article/9653
http://www.linuxjournal.com/article/9653
22
![Page 23: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/23.jpg)
23
![Page 24: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/24.jpg)
E muito mais!
http://science.nasa.gov/
https://www.cia.gov/
1: http://www.djangosites.org/ 2: http://plone.org/support/sites/
...
24
![Page 25: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/25.jpg)
Quem usa Pythonno Brasil?
![Page 26: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/26.jpg)
• Portal reimplementado usando Python / Django
26http://www.slideshare.net/ricobl/python-e-django-na-globocom
45 milhões de acessos / dia
![Page 27: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/27.jpg)
• Reconstrução 3d de Imagens Médicas
http://svn.softwarepublico.gov.br/trac/invesalius/ 27
![Page 28: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/28.jpg)
28
http://legiscidade.com.br/
![Page 29: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/29.jpg)
29
http://painelmaiscultura.cultura.gov.br/
![Page 30: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/30.jpg)
E muito mais!
30
![Page 31: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/31.jpg)
E muito mais (Governo)!http://www.brasil.gov.br/http://www2.planalto.gov.br/
http://www2.camara.gov.br/31
...
![Page 32: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/32.jpg)
Desenvolvimento Web
![Page 33: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/33.jpg)
O que preciso?No mínimo ...
• Servidor de aplicação web• Persistência de dados• Engine de templates• Mapeador de URLs• Controle de sessões• Formulários e validações• Modulo de autenticação• Kit de ferramentas ajax
33
Acho que você vai precisar de
ajuda!
![Page 34: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/34.jpg)
O que tem por aí?
34
![Page 35: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/35.jpg)
Django• Framework web escrito em Python• Focado no desenvolvimento ágil• Automatiza algumas tarefas do processo de
desenvolvimento• Mantém o desenvolvedor com foco no
negócio
35
“Nós fazemos a parte repetitiva, você faz o que interessa”
![Page 36: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/36.jpg)
Django• Mapeamento Objeto-Relacional• Interface de administração automática• URLs amigáveis• Herança de templates• Suporte a multilínguagem• ...
36
![Page 37: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/37.jpg)
Metendo a Mão na Massa
37
![Page 38: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/38.jpg)
Sede PARTEC – Recife (PE)
Átila Medeiros Bezerra
Av. Rui Barbosa, 472 – Graças – Recife/PECEP: 52011-040PABX/FAX: 81 3423-6466www.partecweb.com.br
currículos:[email protected]
Mais de 15 anos de atuação no mercado de TI
Membro do Porto Digital
Membro da Softex Recife
![Page 39: O poder do Python/Django](https://reader031.vdocuments.mx/reader031/viewer/2022020101/54b54d334a795979748b469f/html5/thumbnails/39.jpg)
Referências• Comunidade
– http://www.pythonbrasil.com.br/– http://br.groups.yahoo.com/group/python-brasil/– http://pug.pe– https://groups.google.com/group/pug-pe?hl=pt
• IDEs– http://aptana.com/– http://www.jetbrains.com/pycharm/– http://eric-ide.python-projects.org/index.html
• Onde aprender– http://ark4n.wordpress.com/python/– http://blog.triveos.com.br/2011/01/04/curso-completo-de-python-e-django/– http://welcometothedjango.com.br/– http://www.aprendendodjango.com/– https://docs.djangoproject.com/en/1.3/intro/tutorial01/
39