Como preencher a lacuna entre o Python básico e a estrutura da web

Existem razões pelas quais bons livros sobre programação de servidores de aplicativos da web são escassos. O assunto é um destino em movimento e há muitas direções diferentes nas quais um servidor de aplicativos da web pode ser personalizado.

Entre os programadores da web competentes, observei pelo menos algumas estratégias diferentes usadas para desenvolver essa competência.

A primeira e mais comum estratégia é codificar e aprender. Você para de se preocupar sobre como deve haver uma maneira melhor e simplesmente cria um design, codifica-o da melhor maneira possível, de maneira semelhante a algum tutorial ou modelo que você copia e personaliza. Enquanto escreve, você pesquisa constantemente o que parece que não consegue entender ou codificar com robustez.

Outra maneira de aprender como fazer a codificação do servidor da web é escolher um dos ambientes menores de programação da web e fazer uma busca detalhada até entender cada parte dele. O Django é um excelente ambiente, mas é um pouco grande para usar esse método. Uma estrutura ou biblioteca menor como Tornado, Flask ou Bottle funcionará para aprender os mesmos conceitos presentes em todos os servidores de aplicativos da web, incluindo o Django.
Ao detalhar, leia todos os tutoriais que você pode encontrar, leia o código-fonte e leia particularmente de perto os testes fornecidos com o código-fonte. Com o tempo, a névoa da sua confusão recuará.

Ao ler o código-fonte, você encontrará padrões da Web e alguns python menos usados ​​que você precisará aprender. Servidores de aplicativos da Web em python, ruby, javascript, haskell e outras linguagens envolvem os padrões e interfaces padrão fornecidos pelo World Wide Web Consortium (W3C). Você encontrará expressões python mais obscuras que podem ser chamadas de “avançadas”, como geradores, expressões regulares e wrappers.

Conforme você aprende, será necessário pesquisar na Web para encontrar definições e explicações para as palavras e idéias que você não entende. Escreva o que aprendeu e seja capaz de fazer sentido de como o que aprendeu é expresso em código. Geralmente, um programa bem-sucedido é o produto de milhares de pequenos passos escritos em código. Seja paciente e sábio, evite a frustração ao perceber que nenhum passo mágico pode ajudá-lo, mas um passo que você não entende pode impedi-lo.

Comece a entrar em algum tipo de projeto da web (ou inicie o projeto pessoal). Em vez de pular diretamente para criar webapp do zero, comece a desenvolver seu projeto usando o Google App Engine.

Comece com Introdução; inicialmente, você verá mais do python e será forte o suficiente para entender o fluxo do python. Então, gradualmente, seu projeto ficará maior; talvez você precise de um front end (Experiência do usuário) usando HTML / CSS / JS / Template, ainda assim você poderá entender e implementar usando esses materiais.

Agora, você tem o back-end e o front-end prontos – próximo foco na exibição de conteúdo dinâmico usando o armazenamento de dados (semelhante ao banco de dados – seu par de valores-chave – necessário para criar um modelo simples para listar as colunas) – a implementação do armazenamento de dados com o projeto é novamente fácil de entender para você , por causa de suas apis python. Seu aplicativo estará funcionando com o banco de dados.
Juntamente com a estrutura MVC, porque o GAE força você a seguir o estilo MVC.

Em seguida, você pode precisar se concentrar na entrega rápida do seu site – para jogar com app.yaml (um arquivo de configuração para todas as suas solicitações) – pesquise e inclua algumas instruções para fornecer solicitações com cache / cache estático / gzip / deflate / etc.

Depois que tudo estiver resolvido, você precisará de um tempo muito pequeno para aprender e implementar cabeçalhos HTTP / CGI / HTTP / WSGI com muito poucos blocos de código.

Mas, ei !! você já desenvolveu seu aplicativo da web… job Bom trabalho !! 😀

Não é nada difícil de desenvolver um aplicativo da web – você já tem experiência em coisas difíceis. 🙂

Boa sorte!

Você diz que “terminou” esses livros. O que você quer dizer com isso? Você realmente fez todos os exercícios ou apenas os leu? Aprender uma linguagem de programação está fazendo; ou seja, código de digitação manual, brincando com ele,…

Dito isto, se você fez o Codeacademy Python Track, deve saber o suficiente para começar o desenvolvimento da web.

Aconteceu que eu sinto que nem li depois de ler a primeira parte do Tutorial oficial do Django? Eu não entendo as etapas no tutorial e por que elas fazem essas etapas.

Ninguém faz. 😉 Brincadeira, mas não é incomum ficar um pouco impressionado com o Django. Eu sugeriria começar com as minhas sugestões abaixo e ver se você se aprofundou mais com elas.

Se você deseja uma introdução suave, o Flask Web Development: desenvolvendo aplicativos da Web com Python por Miguel Grinberg é um bom começo. Você também pode fazer o mega tutorial do Flask, parte I: Olá, mundo! se você preferir não comprar um livro. Miguel Grinberg é uma espécie de guru do mundo do Flask e escreveu muitos tutoriais sobre o assunto.

Se você é sério sobre boas práticas e criação adequada de software, pode mergulhar diretamente no desenvolvimento orientado a testes com o Python. Este livro apresentará o desenvolvimento orientado a testes, o controle de versão, enquanto você aprende o Django e, embora existam poucos pré-requisitos, não é um livro fácil. É um livro que você deve usar se quiser ser um engenheiro de software, e não um garoto / garota hackeando e brincando.

Os aplicativos da Web podem ser sistemas bastante complexos, e estruturas da Web foram criadas para lidar com essa complexidade.

É melhor seguir um tutorial para uma estrutura que faz menos para você aproveitar melhor seu conhecimento da linguagem Python. Aqui está uma lista de estruturas da Web mínimas do Python: neiesc / ListOfMinimalistFrameworks

Destes, Morepath, Flask, bobo ou Bottle podem ser bons pontos de partida.

Ou talvez você deva tentar começar em um nível ainda mais baixo com uma biblioteca como o WebOb e brincar com solicitações.

No momento, estou executando uma campanha kickstarter que ajudará a diminuir a lacuna, orientando você em um aplicativo da web moderno, construído com o Flask, para lidar com coisas como registro de usuários, aceitação de pagamentos mensais recorrentes, negociação com APIs de terceiros e muito mais.

Seu conhecimento anterior está alinhado com meu público-alvo. Se você está interessado:

https://www.kickstarter.com/proj…

O Real Python é um curso bastante interessante que leva você a não conhecer python ou programar para criar coisas no Flask / Django. O Mega Tutorial do Flask que alguém vinculado abaixo também é bom.

Eu sugiro que você experimente alguns projetos práticos. Você pode criar algo por conta própria, se tiver uma idéia, com a comunidade reddit (r / python) geralmente sendo muito favorável. Se você não tem nenhum projeto em mãos, tente jogar o CheckiO – o jogo que possui várias missões Python da vida real, desde as mais fáceis até as complexas.