SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Desenvolvendo
Aplicações Web com
Luiz Cláudio Silva
luizclaudio@gmail.com
@luizclaudios
luizclaudiosilva
Sim. Mas, que
Python é esse?
Linguagem de programação
de alto nível
e de uso geral
Poderosa Rápida Cooperativa
Multiplataforma AbertaAmigável
● Multiparadigma
● Tipagem dinâmica e forte
● Interpretada (bytecodes)
● Memória gerenciada (GC)
● Ambiente interativo
● "Vem com baterias"
● Duas versões ativas:
2.x e 3.x
Quem usa ?
http://forextecnologic.info/apex-web-marketing-and-web-development-company-2/
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 :-)
Era assim...
http://www.codeniters.com/what-is-a-web-server.html
Depois, assim...
http://www.codeniters.com/what-is-a-web-server.html
Ainda apareceram...
E os Web Services...
http://archive.oreilly.com/pub/a/onjava/2005/05/25/j2ee-services.html
Smartphone
Desktop
Outra
Aplicação
REST API
sobre 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
(baseado no padrão MVC)
Web Development
VIEW
MODEL
GET, POST, etc.
HTML, XML,
JSON, etc.
consultas
atualizações
parâmetros
HTML, XML,
JSON, etc.
CONTROLLER
Web Dev
CONTROLLER
Web Dev
WSGI
Web Server Gateway Interface
Web Server Middleware
WSGI
Aplicação
Python
chamada à
aplicação Python
headers e
conteúdo
headers e
conteúdo
variáveis e
função de callback
CONTROLLER
Web Dev
WSGI
Web Server Gateway Interface
CONTROLLER
Web Dev
Python Web Servers
CONTROLLER
Web Dev
Template Engines
VIEW
Web Dev
Static Site Generators
VIEW
Web Dev
Código Python
(dados e comportamento)
Bancos de Dados
(RDB e/ou NoSQL)
módulo baseado
na Python DB API
Driver
ODBC
API nativas,
em Pytyhon
MODEL
Web Dev
Object-Relational Mappers
MODEL
Frameworks
Full-Stack Frameworks
Microframeworks
Content Management Systems (CMS)
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-product
ion-sites
http://wiki.python.org.br/PythonParaWeb
Luiz Cláudio Silva
luizclaudio@gmail.com
@luizclaudios
luizclaudiosilva

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Лекц-1
Лекц-1Лекц-1
Лекц-1
 
Its150 l1
Its150 l1Its150 l1
Its150 l1
 
Windows registry гэж юу вэ?
Windows registry гэж юу вэ?Windows registry гэж юу вэ?
Windows registry гэж юу вэ?
 
Lec02 structures (2)
Lec02 structures (2)Lec02 structures (2)
Lec02 structures (2)
 
Lec04 threads
Lec04 threadsLec04 threads
Lec04 threads
 
Lecture2
Lecture2Lecture2
Lecture2
 
өгөгдлийн сангийн удирдлага
өгөгдлийн сангийн удирдлагаөгөгдлийн сангийн удирдлага
өгөгдлийн сангийн удирдлага
 
Python
PythonPython
Python
 
MateriApps LIVE!の設定
MateriApps LIVE!の設定MateriApps LIVE!の設定
MateriApps LIVE!の設定
 
Lec5 angi
Lec5 angiLec5 angi
Lec5 angi
 
「日本語LaTeX」が多すぎる件について
「日本語LaTeX」が多すぎる件について「日本語LaTeX」が多すぎる件について
「日本語LaTeX」が多すぎる件について
 
Hardware
Hardware Hardware
Hardware
 
C++でできる!OS自作入門
C++でできる!OS自作入門C++でできる!OS自作入門
C++でできる!OS自作入門
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
санах ой
санах ойсанах ой
санах ой
 
хэрэглээний программ хангамж 2
хэрэглээний программ хангамж  2хэрэглээний программ хангамж  2
хэрэглээний программ хангамж 2
 
Lec11 protection
Lec11 protectionLec11 protection
Lec11 protection
 
файлын систем бүгд
файлын систем бүгдфайлын систем бүгд
файлын систем бүгд
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
07 algoritmo - eSTRUTURA DE REPETIÇÃO
07   algoritmo - eSTRUTURA DE REPETIÇÃO07   algoritmo - eSTRUTURA DE REPETIÇÃO
07 algoritmo - eSTRUTURA DE REPETIÇÃO
 

Destaque

Desenvolvendo aplicações Mobile em Python
Desenvolvendo aplicações Mobile em PythonDesenvolvendo aplicações Mobile em Python
Desenvolvendo aplicações Mobile em PythonRelsi Maron
 
Kivy - Python Nordeste 2013
Kivy - Python Nordeste 2013Kivy - Python Nordeste 2013
Kivy - Python Nordeste 2013Diego Dukão
 
Kivy - Python UI Library for Any Platform
Kivy - Python UI Library for Any PlatformKivy - Python UI Library for Any Platform
Kivy - Python UI Library for Any PlatformSaurav Singhi
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 
Mikrotik ultimo manual
Mikrotik ultimo manualMikrotik ultimo manual
Mikrotik ultimo manualChristian Val
 
Mikrotik passo a passo
Mikrotik   passo a passoMikrotik   passo a passo
Mikrotik passo a passoIvan de Sousa
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantesrichardsonlima
 
2016 Future of Cloud Computing Study
2016 Future of Cloud Computing Study2016 Future of Cloud Computing Study
2016 Future of Cloud Computing StudyNorth Bridge
 

Destaque (11)

Desenvolvendo aplicações Mobile em Python
Desenvolvendo aplicações Mobile em PythonDesenvolvendo aplicações Mobile em Python
Desenvolvendo aplicações Mobile em Python
 
Kivy - Python Nordeste 2013
Kivy - Python Nordeste 2013Kivy - Python Nordeste 2013
Kivy - Python Nordeste 2013
 
Kivy - Python UI Library for Any Platform
Kivy - Python UI Library for Any PlatformKivy - Python UI Library for Any Platform
Kivy - Python UI Library for Any Platform
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Curso oficial Mikrotik
Curso oficial MikrotikCurso oficial Mikrotik
Curso oficial Mikrotik
 
Mikrotik ultimo manual
Mikrotik ultimo manualMikrotik ultimo manual
Mikrotik ultimo manual
 
Mikrotik passo a passo
Mikrotik   passo a passoMikrotik   passo a passo
Mikrotik passo a passo
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantes
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
Computacao em Nuvem
Computacao em NuvemComputacao em Nuvem
Computacao em Nuvem
 
2016 Future of Cloud Computing Study
2016 Future of Cloud Computing Study2016 Future of Cloud Computing Study
2016 Future of Cloud Computing Study
 

Semelhante a Desenvolvimento de aplicações Web com Python

Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013George Mendonça
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP IPatrícia Melo
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoSidney Roberto
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHPVinícius Krolow
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04Ale Uehara
 
Programe na Velocidade da Luz
Programe na Velocidade da LuzPrograme na Velocidade da Luz
Programe na Velocidade da LuzDaniel Polito
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...tdc-globalcode
 
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3Loiane Groner
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2Maurício Linhares
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
JavaScript e suas tendências no mercado de TI
JavaScript e suas tendências no mercado de TIJavaScript e suas tendências no mercado de TI
JavaScript e suas tendências no mercado de TIFred Souza
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Maurício Linhares
 
Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Flavio Torres
 
Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mai...
Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mai...Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mai...
Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mai...Rodrigo Wanderley de Melo Cardoso
 

Semelhante a Desenvolvimento de aplicações Web com Python (20)

Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP I
 
Aula 3 - Software
Aula 3 - SoftwareAula 3 - Software
Aula 3 - Software
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHP
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Programe na Velocidade da Luz
Programe na Velocidade da LuzPrograme na Velocidade da Luz
Programe na Velocidade da Luz
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
 
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
 
Apresentacao sfd-poa
Apresentacao sfd-poaApresentacao sfd-poa
Apresentacao sfd-poa
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
JavaScript e suas tendências no mercado de TI
JavaScript e suas tendências no mercado de TIJavaScript e suas tendências no mercado de TI
JavaScript e suas tendências no mercado de TI
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
 
Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13
 
Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mai...
Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mai...Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mai...
Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mai...
 

Mais de Luiz Cláudio Silva

Servindo Aplicações Python na Nuvem
Servindo Aplicações Python na NuvemServindo Aplicações Python na Nuvem
Servindo Aplicações Python na NuvemLuiz Cláudio Silva
 
Ensinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com PythonEnsinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com PythonLuiz Cláudio Silva
 
Python na Google App Engine (v3)
Python na Google App Engine (v3)Python na Google App Engine (v3)
Python na Google App Engine (v3)Luiz Cláudio Silva
 
Usando Python na Google App Engine v2
Usando Python na Google App Engine v2Usando Python na Google App Engine v2
Usando Python na Google App Engine v2Luiz Cláudio Silva
 
Praticas Ágeis de Desenvolvimento de Software v3
Praticas Ágeis de Desenvolvimento de Software v3Praticas Ágeis de Desenvolvimento de Software v3
Praticas Ágeis de Desenvolvimento de Software v3Luiz Cláudio Silva
 
Computação em Nuvem, Padrões Abertos e Software LIvre
Computação em Nuvem, Padrões Abertos e Software LIvre Computação em Nuvem, Padrões Abertos e Software LIvre
Computação em Nuvem, Padrões Abertos e Software LIvre Luiz Cláudio Silva
 
Já ouviu falar em Extreme Programming?
Já ouviu falar em Extreme Programming?Já ouviu falar em Extreme Programming?
Já ouviu falar em Extreme Programming?Luiz Cláudio Silva
 
Praticas Ágeis de Desenvolvimento de Software v2
Praticas Ágeis de Desenvolvimento de Software v2Praticas Ágeis de Desenvolvimento de Software v2
Praticas Ágeis de Desenvolvimento de Software v2Luiz Cláudio Silva
 
Extreme Programming (Agile Tour 2011)
Extreme Programming (Agile Tour 2011)Extreme Programming (Agile Tour 2011)
Extreme Programming (Agile Tour 2011)Luiz Cláudio Silva
 
Práticas Ágeis de Desenvolvimento de Software
Práticas Ágeis de Desenvolvimento de SoftwarePráticas Ágeis de Desenvolvimento de Software
Práticas Ágeis de Desenvolvimento de SoftwareLuiz Cláudio Silva
 
Usando Python na Google App Engine
Usando Python na Google App EngineUsando Python na Google App Engine
Usando Python na Google App EngineLuiz Cláudio Silva
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a WebLuiz Cláudio Silva
 

Mais de Luiz Cláudio Silva (15)

Servindo Aplicações Python na Nuvem
Servindo Aplicações Python na NuvemServindo Aplicações Python na Nuvem
Servindo Aplicações Python na Nuvem
 
Usando BDs NoSQL com Python
Usando BDs NoSQL com PythonUsando BDs NoSQL com Python
Usando BDs NoSQL com Python
 
Ensinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com PythonEnsinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com Python
 
Python na Google App Engine (v3)
Python na Google App Engine (v3)Python na Google App Engine (v3)
Python na Google App Engine (v3)
 
Usando Python na Google App Engine v2
Usando Python na Google App Engine v2Usando Python na Google App Engine v2
Usando Python na Google App Engine v2
 
Apresentando AngularJS
Apresentando AngularJSApresentando AngularJS
Apresentando AngularJS
 
Praticas Ágeis de Desenvolvimento de Software v3
Praticas Ágeis de Desenvolvimento de Software v3Praticas Ágeis de Desenvolvimento de Software v3
Praticas Ágeis de Desenvolvimento de Software v3
 
Computação em Nuvem, Padrões Abertos e Software LIvre
Computação em Nuvem, Padrões Abertos e Software LIvre Computação em Nuvem, Padrões Abertos e Software LIvre
Computação em Nuvem, Padrões Abertos e Software LIvre
 
Já ouviu falar em Extreme Programming?
Já ouviu falar em Extreme Programming?Já ouviu falar em Extreme Programming?
Já ouviu falar em Extreme Programming?
 
Praticas Ágeis de Desenvolvimento de Software v2
Praticas Ágeis de Desenvolvimento de Software v2Praticas Ágeis de Desenvolvimento de Software v2
Praticas Ágeis de Desenvolvimento de Software v2
 
Python na Nuvem
Python na NuvemPython na Nuvem
Python na Nuvem
 
Extreme Programming (Agile Tour 2011)
Extreme Programming (Agile Tour 2011)Extreme Programming (Agile Tour 2011)
Extreme Programming (Agile Tour 2011)
 
Práticas Ágeis de Desenvolvimento de Software
Práticas Ágeis de Desenvolvimento de SoftwarePráticas Ágeis de Desenvolvimento de Software
Práticas Ágeis de Desenvolvimento de Software
 
Usando Python na Google App Engine
Usando Python na Google App EngineUsando Python na Google App Engine
Usando Python na Google App Engine
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 

Desenvolvimento de aplicações Web com Python