1. Ensinando OO com
Python, Django
e PyGame
Luciano Ramalho
Academia Python - Globalcode
python.globalcode.com.br
2. O problema...
Programar Orientado a Objetos dá mais trabalho
mais conceitos para aprender, mais código para
escrever, em mais arquivos
retrabalho (refatoração)
E as vantagens não ficam evidentes nos programas
pequenos que são usados como exemplos
reuso de quê?
3. A solução
Ensinar OO no contexto de uma biblioteca de classes rica
Sempre foi assim em Smalltalk
linguagem + ambiente
4.
5.
6. Mas e no mundo real Python?
Django
popular e útil, resultados rápidos graças ao admin
Tkinter
integrado na distribuição
PyGame
com GameEngine
de Andy Harris
7. Exemplo com Django
Sistema de entrega de uma pizzaria por telefone
Atendente recebe uma ligação, identifica o cliente pelo
telefone ou cadastra um novo cliente e anota as pizzas
do pedido
Quando as pizzas ficam prontas, atendende associa um
entregador ao pedido
8. Exemplo com Django
Sistema de entrega de uma pizzaria por telefone
Atendente recebe uma ligação, identifica o cliente
pelo telefone ou cadastra um novo cliente e anota as
pizzas do pedido
Quando o pedido fica pronto, atendende associa
um entregador ao pedido
14. OO com jogos
Jogos são um ótimo contexto para exercitar OO
metáforas claras: objetos = atributos + comportamentos
resultados estimulantes
2D x 3D
2D oferece um contexto suficientemente rico
complexidade do 3D talvez não compense
15. Bibliotecas em Python
Bibliotecas 2D
PyGame: multi-plataforma, bem suportada, baixo nível
Pyglet: alto-nível, ótima, abandonada no momento,
quebrada no Ubuntu GNU Linux 11.04 e no OS X ⩾ 10.6
Bibliotecas 3D
sugestões?
16. Livro: Game Programming
Game Programming: The L Line,
The Express Line to Learning
Andy Harris, professor na
Indiana/Purdue University
ISBN: 978-0-470-06822-9
570 p. + slides
publicado em fev/2007
17. Game Programming: temas
Introdução à programação
Gráficos 2D com PyGame
Animação com PyGame
Audio com PyGame
Programação orientada a eventos com PyGame
Programação orientada a objetos com GameEngine
18. Porquê?
Desenho instrucional da
Academia Python !"!#$%&!'()*+,- COM LUCIANO RAMALHO
na Globalcode
A Academia Python dá uma visão acessível e prática da linguagem: principais
bibliotecas, desenvolvimento Web com Django, receitas para tarefas comuns,
!
programação Orientada a Objetos e multi-paradigma e testes automatizados.
!
As academias da Globalcode são formações completas compostas por vários
!
módulos com muito mais tempo para os alunos interagirem com os instrutores.
Especificamente:
!
!
A Academia Python tem cinco módulos totalizando 112 horas aula. É fruto da
!
união entre a qualidade e metodologia da Globalcode e a experiência e
Módulo PY2 -
conhecimento do Luciano Ramalho.
Módulos da Academia Python:
PY1 - Introdução à linguagem Python
Orientação a Objetos e PY2 - Orientação a Objetos e frameworks
PY3 - Desenvolvimento Web com Django e JQuery
Frameworks
PY4 - Django pro ssional
PY5 - Cloud, NoSQL e novas arquiteturas
@luciano !"#$%&'()%*+),%-.',%/'*0
Mais informações:
!"#$%&'()%*+),%-./,%0/*12 2!""#$%"&'())%*