Por que escolher Django?

Django Unchained
Não esse Django.

Quando se está iniciando um projeto surge a questão sobre qual ferramenta escolher. Python tem uma infinidade de possibilidades de acordo com seus objetivos, e muitas vezes as opções podem atrapalhar sua escolha.

E o Allisson Azevedo fez uma colaboração fantástica para a comunidade liberando seu curso de Django gratuitamente no youtube. E com isso me fez pensar em que o Django se destaca?

Com isso perguntei a alguns amigos porque escolher Django para suas aplicações, quais as vantagens e o que mais gostam desse fantástico framework.


Henrique Bastos

Acho que minha palestra Trabalhando com Django para não ter trabalho expressa cada detalhe sobre isso.

Django é excelente oferecendo convenções e 90% das funcionalidades que todo mundo precisa. Além disso, quando o framework não te atende perfeitamente, torna fácil você contornar e fazer aquele pedaço do seu jeito. Pra mim isso é reflexo de um design focado no uso, no desenvolvimento pragmático.


Allisson Azevedo – Soda Virtual

O Django é um projeto sólido, principal framework web em python, com uma comunidade ativa e operosa. A desconfiança no framework que existia já caiu por terra e sua adoção não para de crescer, principalmente entre startups. Hoje temos um mercado muito promissor e o que falta muitas vezes são candidatos qualificados, por isso que eu tenho bastante interesse nessa área de treinamento.


Filipe Ximenes – Diretor da Associação Python Brasil e sócio da Vinta software studio

Utilizar Django tem pouco a ver com a linguagem [Python] no qual ele é escrito ou até mesmo com as características do framework em si e tem TUDO a ver com ecossistemas. Em primeiro lugar, o ecossitema Python que envolve além de uma linguagem extremamente poderosa, versátil e aberta, uma comunidade acolhedora, que segue os mesmos princípios de liberdade da linguagem e é bastante ativa no Brasil e no mundo. Tudo isso acompanhado do ecossistema Django, que possui uma comunidade nos mesmos moldes de Python e que deixa a disposição dos programadores milhares de bibliotecas [apps], e todo tipo de material necessário para facilitar, acelerar e melhorar o desenvolvimento de aplicações web.


Gilson Filho – Trippics.com

O Django é um framework que se tornou carro chefe para aqueles que desejam entrar no ecossistema Python, como Rails foi para o Ruby. Temos percebido através de pesquisas como também ao olhar o mercado de trabalho, que a linguagem tem sido destaque. Diante da escolha massiva da gema, Python e Django se tornou uma alternativa para as startups nos últimos tempos. Através dos projetos conhecidos como Instagram, Rdio, vemos que eles usam o Django na sua arquitetura, por ser fiel ao que promete:

“O framework web para perfeccionistas com prazos”


Gileno AlvesPycursos

Django foi o primeiro framework web Python com que trabalhei. A coisa que mais me deixou empolgado no início foi o ORM, antes trabalhava com Java e o acesso ao banco era muito precário, nesse caso específico não era culpa do Java e sim do projeto que não usava Hibernate e coisas do tipo.

Atualmente, Django é meu framework favorito porque a minha forma de trabalho se encaixa bem nele e com isso eu consigo ser bastante produtivo. A separação em app’s é muito legal e intuitiva. No início podem gerar dúvidas mas rapidamente se percebe isso.

O fato de ser batteries included é fundamental para aumentar a produtividade, muitas pessoas consideram isso uma coisa ruim porque preferem fazer suas próprias escolhas em relação a quais ferramentas vão usar em: URL’s, Banco de Dados, Templates …, mas para essas pessoas existem outros frameworks que podem se adequar melhor aos seus projetos como o Flask.

Alguns aspectos positivos de Django:

Batteries Included: O fato de vir com várias coisas de “fábrica”, ajuda muito o desenvolvimento, evita que o desenvolvedor perca muito tempo fazendo muitas escolhas e configurações. Muita gente afirma que prefere fazer suas escolhas em relação aos aspectos do projeto, entretanto se você desejar fazer um projeto de fato organizado e bem estruturado você levará um bom tempo para organizá-lo e configurá-lo, se formos procurar esqueletos de projetos em flask ou pyramid (mesmo com o scaffold) por exemplo, vamos ver muito código para deixar as coisas de fato organizadas para começar um projeto de pequeno/médio porte (de grande nem se fala). Além disso o fato de fazer escolhas por você não significa que você precisa adotar todas as escolhas, django é bastante flexível (sim ele é) e você pode deixar de usar algumas coisas, o problema é que quando você começa a “cancelar” algumas escolhas que ele faz por você, o desenvolvimento começa a perder produtividade.

Comunidade: Django sem dúvida nenhuma tem a maior comunidade e aceitação entre os frameworks web Python. Você conseguirá tirar quaisquer dúvida e usar diversas apps prontas para quase tudo que você precise.

Estrutura: Django tem uma excelente estrutura base para projetos, você organiza seu projeto em apps tornando o projeto bem estruturado desde o início e facilita a integração entre projetos e apps de terceiros. Particularmente eu quando começo qualquer projeto a primeira coisa que faço é organizar a estrutura, módulos e coisas do tipo, para que conforme o crescimento do projeto ele não fique desorganizado e com Django isso fica muito intuitivo.

Simplicidade: A startproject do django gera poucos arquivos e pastas, o ORM é um dos mais simples que eu já vi, o sistema de templates também, tudo gira em torno da simplicidade e do DRY.

Alguns aspectos negativos:

Projetos muito pequenos: para projetos muito pequenos django perde um pouco da sua simplicidade, porque ele já considera que você vai precisar de um banco relacional e de diversas outras configurações. Nesses casos o Flask, Bottle e outros microframeworks se saem muito melhor.

Aprendizado: Para ensinar Python e Web django também não se sai bem, pelo mesmo fato de ter várias configurações que poderão ser desnecessárias, principalmente porque normalmente quando se está ensinando web com python você só precisaria de escrever algumas funções para renderizar algum texto (o sistema de templates seria desnecessário) e fazer apenas alguns cálculos simples.

Projetos fora do padrão: Para projetos que precisem de muitas coisas diferenciadas como: um banco de dados não relacional, que não precise exibir páginas html ou que use apenas algum outro ORM que não o padrão do django. Projetos assim, ainda podem ter proveito do django mas dependendo da situação pode gerar uma improdutividade e assim torna-se melhor usar outro framework mas flexível em relação a essas escolhas

Deixo um dos slides mais completos de Python/Django que conheço. Muito bem indicado para aqueles que querem aprender Python e Django ao mesmo tempo.


E deixo também mais 2 vídeos tutoriais atualizados de qualidade excelente em inglês.


E não esqueça de colocar nos comentários sobre o que você mais gosta no Django.

Anúncios

8 comentários em “Por que escolher Django?

  1. Escolhi Django a 6-7 anos atrás (não me lembro muito bem quanto tempo atras, mas a versão era 0.97). Desde então por residir no RS cada projeto que trabalhei foi uma luta diferente pelo mercado de trabalho ser escasso aqui no sul.

    Antes de escolher django eu estava entre ele e ruby on rails, mas lendo sobre a diferença na arquitetura dos dois e percebendo que aprender ruby não iria me agregar valor nenhum ao trabalhar com rails (a premissa não é verdadeira para o django) optei por aprender django.

    Foi amor a primeira vista pela ideologia do django e do python em si. Eu acredito que a linguagem influência o programador e quando entendi o python (aprendi django antes de aprender python) também descobri que era uma linguagem mais avançada do que imaginava.

    Essa é a minha história e o que mais gosto no django é a ideologia:
    “The Web framework for perfectionists with deadlines.”

    1. Olá Guilherme e como anda o mercado hoje?
      Sou desenvolvedor de embarcados em C/C++ (e Assembly mas evito sempre heheh)
      E comecei a estudar Python a pouco, me surgiram oportunidades de usar ele onde menos esperavas, aplicativos com Kivy (ainda estou estudando como usar Django com o Ionic) e o MicroPython que com ele posso fazer para alguns microcontroladores códigos em Python o que me da uma turbinada enorme em tempo de desenvolvimento, enfim é apaixonante ver toda a versatilidade, facilidade e poder do Python, mas queria saber como está isso profissionalmente agora mesmo.

  2. Até hoje só recebi comentários positivos após apresentar o Django. Existem outros frameworks, linguagens de programação e plataformas de desenvolvimento, mas o conjunto do Django realmente me encantou.

    A comunidade que mantém, da suporte e produz conteúdo sobre esse framework é realmente muito ativa. E quando você decide que é o momento de evoluir, refatorar seu código, turbinar sua app, você irá encontrar material de qualidade sobre boas práticas e técnicas necessárias para fazer o que deseja.

    Mas o que ainda é um requisito importante para você se sair bem nos estudos de Django, (não que impeça completamente), é um inglês razoável, pelo menos de leitura.

  3. Sou desenvolvedor mas não sou nerd entusiasta de prompt e notepad. Qual a IDE de verdade para desenvolver web com Python e django?

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s