Desenvolvendo Aplicações Web com Python

31
Desenvolvendo Aplicações Web com

Transcript of Desenvolvendo Aplicações Web com Python

Page 1: Desenvolvendo Aplicações Web com Python

DesenvolvendoAplicações Web com

Page 2: Desenvolvendo Aplicações Web com Python

Luiz Cláudio Silva

[email protected]

@luizclaudios

luizclaudiosilva

Page 3: Desenvolvendo Aplicações Web com Python

Sim. Mas, quePython é esse?

Page 4: Desenvolvendo Aplicações Web com Python

Linguagem de programação de alto nível

e de uso geral

Page 5: Desenvolvendo Aplicações Web com Python

Poderosa Rápida Cooperativa

Multiplataforma AbertaAmigável

Page 6: Desenvolvendo Aplicações Web com Python

● Multiparadigma● Tipagem dinâmica e forte● Interpretada (bytecodes)● Memória gerenciada (GC)

Page 7: Desenvolvendo Aplicações Web com Python

● Ambiente interativo● "Vem com baterias"

● Duas versões ativas: 2.x e 3.x

Page 8: Desenvolvendo Aplicações Web com Python

Quem usa ?

Page 9: Desenvolvendo Aplicações Web com Python

http://forextecnologic.info/apex-web-marketing-and-web-development-company-2/

Page 10: Desenvolvendo Aplicações Web com Python

No programa de hoje:

Desenvolvimento de aplicações Web

● E-mail (SMTP, IMAP, etc.)

● Outros protocolos (FTP, SSH, XMPP, etc.)

● Programação baixo nível (sockets)

● Scraping

● O que você pensou :-)

Page 11: Desenvolvendo Aplicações Web com Python

Era assim...

http://www.codeniters.com/what-is-a-web-server.html

Page 12: Desenvolvendo Aplicações Web com Python

Depois, assim...

http://www.codeniters.com/what-is-a-web-server.html

Page 13: Desenvolvendo Aplicações Web com Python

Ainda apareceram...

Page 14: Desenvolvendo Aplicações Web com Python

E os Web Services...

http://archive.oreilly.com/pub/a/onjava/2005/05/25/j2ee-services.html

Page 15: Desenvolvendo Aplicações Web com Python

Smartphone

Desktop

OutraAplicação

REST APIsobre HTML

Resources(URIs)

Methods(POST, GET, PUT,

DELETE)

Custom Headers

APLICAÇÃO

ServidorClientes

HTML Req

XML/JSON Res

E, agora, as RESTful APIs...

HTML Req

XML/JSON Res

HTML Req

XML/JSON Res

Page 16: Desenvolvendo Aplicações Web com Python

(baseado no padrão MVC)

Web Development

VIEW

MODELGET, POST, etc.

HTML, XML, JSON, etc.

consultas

atualizações

parâmetros

HTML, XML,JSON, etc.

CONTROLLER

Page 17: Desenvolvendo Aplicações Web com Python

Web Dev

CONTROLLER

Page 18: Desenvolvendo Aplicações Web com Python

Web Dev

WSGIWeb Server Gateway Interface

Web Server MiddlewareWSGI

AplicaçãoPython

chamada à aplicação Python

headers e conteúdo

headers e conteúdo

variáveis e função de callback

CONTROLLER

Page 19: Desenvolvendo Aplicações Web com Python

Web Dev

WSGIWeb Server Gateway Interface

CONTROLLER

Page 20: Desenvolvendo Aplicações Web com Python

Web Dev

Python Web Servers

CONTROLLER

Page 21: Desenvolvendo Aplicações Web com Python

Web Dev

Template Engines

VIEW

Page 22: Desenvolvendo Aplicações Web com Python

Web Dev

Static Site Generators

VIEW

Page 23: Desenvolvendo Aplicações Web com Python

Web Dev

Código Python(dados e comportamento)

Bancos de Dados(RDB e/ou NoSQL)

módulo baseadona Python DB API

Driver ODBC

API nativas,em Pytyhon

MODEL

Page 24: Desenvolvendo Aplicações Web com Python

Web Dev

Object-Relational Mappers

MODEL

Page 25: Desenvolvendo Aplicações Web com Python

Frameworks

Page 26: Desenvolvendo Aplicações Web com Python

Full-Stack Frameworks

Page 27: Desenvolvendo Aplicações Web com Python

Microframeworks

Page 28: Desenvolvendo Aplicações Web com Python

Content Management Systems (CMS)

Page 29: Desenvolvendo Aplicações Web com Python
Page 30: Desenvolvendo Aplicações Web com Python

Referências:

http://www.python.org

http://www.python.org.br

https://docs.python.org/2/howto/webservers.html

http://www.fullstackpython.com/

https://www.digitalocean.com/community/tutorials/a-comparison-of-web-servers-for-python-based-web-applications

https://www.python.org/dev/peps/pep-0249/

https://wiki.python.org/moin/WebFrameworks/

http://www.slant.co/topics/426/~general-purpose-python-web-frameworks-usable-in-production-sites

http://wiki.python.org.br/PythonParaWeb

Page 31: Desenvolvendo Aplicações Web com Python

Luiz Cláudio Silva

[email protected]

@luizclaudios

luizclaudiosilva