Abordagem Python para serviços da Web e/ou Handeling Get and Post
Pergunta
Estou trabalhando com Python há um tempo. Recentemente, entrei em soquetes com Twisted, o que foi bom para aprender Telnet, SSH e passagem de mensagens. Eu queria ter uma ideia e implementá -la de maneira web. Uma semana de pesquisa e tudo o que realmente posso fazer é criar um recurso que as manipulares obtenham e publiquem tudo para si mesmo. E isso me disseram que é uma prática ruim.
Então, as perguntas que tenho depois de uma semana:
* Outras opções, como tornado e soquetes Python padrão, são uma abordagem melhor (ou mais popular)?
* Deve -se realmente usar recursos separados nas operações Twisted Get e Post?
* Qual é um bom recurso para começar nesta área de desenvolvimento do Python?
Minha formação com idiomas são C, Java, HTML/DHTML/XHTML/XML e meus principais sistemas (até em casa) são Linux.
Solução
Eu recomendo a criação de seu próprio servidor da web e lidar com chamadas de soquete cruas para criar aplicativos da Web; Faz muito mais sentido escrever seus serviços da Web como aplicativos WSGI e usar um servidor da Web existente, seja algo como tornado ou apache com mod_wsgi.
Outras dicas
Se o que você está fazendo é mais um site do que uma API, procure usar uma estrutura da web normal como Django.
Vou tentar responder seus vários pontos individualmente.
Outras opções, como Tornado e Standard Python Sockets, são uma abordagem melhor (ou mais popular)?
As estruturas do WSGI são de longe as opções mais populares nos dias de hoje. Eles podem lhe dar acesso a GET
e POST
Primitivos, mas geralmente os envolvem com açúcar sintático suficiente para levá -lo às corridas rapidamente.
Dificilmente ninguém lida com soquetes para htt. Para lhe dar uma ideia, uma das bibliotecas HTTP mais populares, solicitações de inicialmente embrulhado urrllib2
até recentemente.
Deve -se realmente usar recursos separados nas operações Twisted Get e Post?
Não posso falar com isso, pois não sou um desenvolvedor distorcido. Parece ser uma linguagem em si mesma.
Qual é um bom recurso para começar nesta área de desenvolvimento do Python?
Para manuseio GETs
e POSTs
, Webob é provavelmente um bom lugar para começar.
Para um pouco mais de contexto, o webob está envolvendo os primitivos da base da base vindo de WSGI (rimas com "uísque"). O WSGI é uma interface entre aplicativos da Web e servidores, não muito diferente CGI.
PEP 3333, o documento que definiu o padrão WSGI, é um lugar muito bom para começar se você estiver interessado no âmago da questão do HTTP.
Indo um pouco mais baixo na pilha, também existem vários servidores WSGI que vale a pena conferir. Opções hospedadas em nuvem, plataforma como serviço (PaaS) como Google App Engine e Heroku Cuidará dos detalhes para você. Por outro lado, há servidores WSGI especializados como Gunicorn e Tornado, o último dos quais você já está familiarizado.
Se você deseja fazer as coisas, confira Garrafa, Frasco, Django, ou qualquer uma das outras grandes estruturas da web do Python por aí.