Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Como iniciar programação em Python para a web?

+2 votos
207 visitas
perguntada Jun 5, 2015 em Programação Computacional por DanielTheRocketMan (211 pontos)  
Compartilhe

1 Resposta

+3 votos
respondida Jun 5, 2015 por Rodrigo Miranda (231 pontos)  
selecionada Jun 8, 2015 por DanielTheRocketMan
 
Melhor resposta

Primeiro: tenha uma coceira para coçar. É muito mais fácil aprender algo com um objetivo, então arrume um projeto, um site web, um jogo, um site de colaboração, dominação mundial, etc..

Feito isso, você precisa saber python. Se ainda não sabe, seria outra pergunta ;-) Mas eu recomendo o "Learn Python the Hard Way", do Zed Shaw. O livro está disponível on-line (HTML) em:

http://learnpythonthehardway.org/book/

Eu também gosto do "Dive into Python" do Mark Pilgrim.:

http://www.diveintopython.net/

Aí você vai descobrir que existe python 2 e python 3, e que há incompatibilidade entre as duas. Então escolha Python 3. Todo o desenvolvimento interessante em Python hoje em dia é focado em Python 3 e quase tudo funciona no Python 3, então a não ser que você precise de uma biblioteca que não funciona com a versão 3, não vale a pena a versão 2.

Bom, e aí para programar para a Web é muito importante saber HTML (e, provavelmente Javascript). Não é minha especialidade, então sugiro que coloque outra pergunta sobre isso. As referências que eu conheço são o "Head First HTML and CSS" de Elisabeth Robson e Eric Freeman, o "Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics" de Jennifer Robbins e "Eloquent Javascript" de Marijn Haverbeke.

Finalmente, programando para a Web em Python. E temos então a escolha do "framework", um conjunto de bibliotecas e ferramentas que você vai usar.

Escolhas, escolhas, escolhas...

No caso de Python, em geral o framework mais usado é o Django (https://www.djangoproject.com/). Realmente é muito bom e muito completo. Antigamente tinha o Django Book, gratuito, mas está bastante desatualizado. Eu recomendo o "Getting Started with Django" de Samuel Dauzon e o "Lightweight Django" de Julia Elman e Mark Lavin (esse também vai explicar o que é REST que é uma boa idéia para sites web, ao meu ver).

Mas para iniciantes mesmo, eu recomendo o Flask (http://flask.pocoo.org/) ao invés do Django. Como é bem mais simples que o Django, o Tutorial e a documentação online já são suficientes para iniciar, mas tem o "Flask Web Development" do Miguel Grinberg.

De posse de todo esse ferramental, mão na massa, pois é assim que você realmente vai aprender.

Espero ter ajudado.

comentou Jun 6, 2015 por danielcajueiro (5,171 pontos)  
Concordo plenamente "Precisa ter coceira para coçar".  Algo particularmente muito legal é participar do desenvolvimento de um software open source em colaboração, pois além de colaborar com um projeto interessante, também se aprende como as pessoas pensam a estrutura do framework.
comentou Jun 6, 2015 por danielcajueiro (5,171 pontos)  
É válido mencionar que você ainda chamou a atenção para um outro ponto importante. Algo que incomoda na programação de Python para internet é a existência de Python 2 e Python 3 que não se falam. Isso é bem chato e realmente atrapalha muito.
comentou Jun 6, 2015 por Rodrigo Miranda (231 pontos)  
Antigamente a coisa era mais confusa, mas agora quase tudo roda no Python 3:

https://python3wos.appspot.com/

E além disso existem módulos disponíveis para os Python 2 e 3 para ficar mais fácil desenvolver código que rode nos dois, então não vejo mais motivo.

E além disso, tem o Borat nessa apresentação:

https://asmeurer.github.io/python3-presentation/slides.html#1

[]'s
...