Python na Web

      Igor Sobreira
   www.igorsobreira.com
Eu
• sou Igor Sobreira
• programo em Python a 4 anos
• atualmente só com web
  •      Smart Nuts Technology
  •      Soda ...
Como se programa em
  Python pra web?
Existem muitos
 frameworks
   muitos mesmo...
4Suite
                                         Karrigell
   Albatross
                                           Maki
   ...
Começando por baixo...
WSGI
Web Server Gateway Interface
          PEP 333
Uma interface que permite servidores
e aplicações conversarem, de maneira
          simples e portável
Ilustração de Ian Bicking
PEP 333



“...WSGI must be easy to implement...”



 Mas não pra vocês, e sim pra quem
   cria frameworks e servidores
Middleware
Ilustração de Ian Bicking
• Autenticação
• Compressão
• Debug
• Signed Cookies
• etc...
Alguns servidores WSGI
• Apache (mod_wsgi)
• Paste
• Cherrypy
• Twisted
• wsgiref (builtin)
 http://www.wsgi.org/wsgi/Serv...
Frameworks
O que eu preciso?
                            no mínimo...

• Persistência de dados
• Engine de templates
• Mapeador de UR...
CMS
Servidor de aplicações   Conent Management
                              System
• Full Stack, e extremamente fexível
• Reúsa vários componentes já existentes
• É fácil substituir qualquer um
 • a idéia ...
TurboGears

•   Full Stack, também reúsa componentes WSGI existentes

•   mas não tanto com a flosofa de fexibilidade do P...
Django
•   Atualmente o mais popular no mundo python

•   Full Stack, e não reúsa nada

    •   isso ajuda muito a integra...
•   Full Stack

•   Também implementou seus componentes

•   Interface administrativa muito rica (dá pra programar
    pel...
Google App Engine
•   Rode sua aplicação na infraestrutura do Google

•   Autenticação pelo Google

•   Big Table

•   Sup...
Monte o seu!
Escolha os módulos que você mais gosta e use


SQLAlchemy, DejaVu, Storm,
  CounchDB, MongoDB...                  Beaker

...
Mas eu quero fazer tudo
       sozinho!
Boa sorte :-)
O que mais?
 não exatamente python-related
            related
Use um sistema de controle de
            versão

 • Mas eu acho que não precis...
  • Você tá errado, use!


            ...
Use um sistema de controle de
         deployment


• Fabric (Python)
• Capistrano (Ruby)
Exemplo do Fabric
fabfle.py




                 $ fab deploy
É isso. Dúvidas?
Contato
 • www.igorsobreira.com
 • igor@igorsobreira.com
Junte-se a comunidade
 • www.grupypb.net
 • www.python.org
 • www...
Python na Web
Python na Web
Upcoming SlideShare
Loading in...5
×

Python na Web

7,520

Published on

Uma visão geral de como usar Python para desenvolvimento web.

Published in: Technology
2 Comments
7 Likes
Statistics
Notes
  • Muito bom mesmo
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Legal a apresentação, infelizmente não deu pra ir para o evento, os slides ficaram bons mesmos, é um palestrante profissional mesmo, só faltou tu ajeitar lá o quem sou, era pra ter colocado também sou blogueiro, tal, hehe
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
7,520
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
179
Comments
2
Likes
7
Embeds 0
No embeds

No notes for slide

Python na Web

  1. 1. Python na Web Igor Sobreira www.igorsobreira.com
  2. 2. Eu • sou Igor Sobreira • programo em Python a 4 anos • atualmente só com web • Smart Nuts Technology • Soda Virtual • Faço TSI no IFPB (antigo CEFET-PB) • Velejo de windsurf nas horas vagas (e raras)
  3. 3. Como se programa em Python pra web?
  4. 4. Existem muitos frameworks muitos mesmo...
  5. 5. 4Suite Karrigell Albatross Maki Aquariun Snakelets mod_python Berry Sparck mnml Bottle Spyce newf Circuits TurboGears Paste CherryPy Wasp Pylons Crusader web.py Python Server Pages Cymberline web2py Python Servlet Engine Divmod Nevow webpyte Python Gearfsh Django Webware PyWebLib Gizmo QP JOWWeb2 Quixote Juno SkunkWeb Zope Fonte: http://www.slideshare.net/hdiogenes/wsgi-pycon-brasil-2008-presentation (Humberto Diógenes)
  6. 6. Começando por baixo...
  7. 7. WSGI Web Server Gateway Interface PEP 333
  8. 8. Uma interface que permite servidores e aplicações conversarem, de maneira simples e portável
  9. 9. Ilustração de Ian Bicking
  10. 10. PEP 333 “...WSGI must be easy to implement...” Mas não pra vocês, e sim pra quem cria frameworks e servidores
  11. 11. Middleware
  12. 12. Ilustração de Ian Bicking
  13. 13. • Autenticação • Compressão • Debug • Signed Cookies • etc...
  14. 14. Alguns servidores WSGI • Apache (mod_wsgi) • Paste • Cherrypy • Twisted • wsgiref (builtin) http://www.wsgi.org/wsgi/Servers
  15. 15. Frameworks
  16. 16. O que eu preciso? no mínimo... • Persistência de dados • Engine de templates • Mapeador de URLs • Controle de sessões • Formulários e validação • Outras apresentações do conteúdo • RSS, Atom, JSON, XML O que temos por aí?
  17. 17. CMS Servidor de aplicações Conent Management System
  18. 18. • Full Stack, e extremamente fexível • Reúsa vários componentes já existentes • É fácil substituir qualquer um • a idéia é justamente essa!
  19. 19. TurboGears • Full Stack, também reúsa componentes WSGI existentes • mas não tanto com a flosofa de fexibilidade do Pylons • aliás, TG2 usa Pylons :-)
  20. 20. Django • Atualmente o mais popular no mundo python • Full Stack, e não reúsa nada • isso ajuda muito a integração interna de componentes • Quebra seu “projeto” em “aplicações” • facilita muito o reúso (já tem muita app por aí) • ele mesmo já tem algumas, como o admin é o que eu uso :-)
  21. 21. • Full Stack • Também implementou seus componentes • Interface administrativa muito rica (dá pra programar pelo browser!)
  22. 22. Google App Engine • Rode sua aplicação na infraestrutura do Google • Autenticação pelo Google • Big Table • Suporta vários frameworks
  23. 23. Monte o seu!
  24. 24. Escolha os módulos que você mais gosta e use SQLAlchemy, DejaVu, Storm, CounchDB, MongoDB... Beaker Jinja2, Genhi, Mako Routes Paste CherryPy ... Repoze Werkzeug
  25. 25. Mas eu quero fazer tudo sozinho!
  26. 26. Boa sorte :-)
  27. 27. O que mais? não exatamente python-related related
  28. 28. Use um sistema de controle de versão • Mas eu acho que não precis... • Você tá errado, use! Bazar
  29. 29. Use um sistema de controle de deployment • Fabric (Python) • Capistrano (Ruby)
  30. 30. Exemplo do Fabric fabfle.py $ fab deploy
  31. 31. É isso. Dúvidas?
  32. 32. Contato • www.igorsobreira.com • igor@igorsobreira.com Junte-se a comunidade • www.grupypb.net • www.python.org • www.python.org.br
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×