Django é passado?
Tenho a impressão que o Djanjo tá perdendo força, ainda recomendam ele para quem tá começando no back-end com Python?
Tenho a impressão que o Djanjo tá perdendo força, ainda recomendam ele para quem tá começando no back-end com Python?
Django tem seus altos e baixos, eu trabalho com ele desde a versão 0.96, na época sequer usavam git e o framework rivalizava com o Rails.
Acho importante entender o porque o Django nasceu pois isso explica um pouco do porque ele tem cara de "velho".
Django foi criado com um forte background jornalístico, ou seja, um framework voltado para o desenvolvimento de sites de notícias, mais do que os blogs da época, tanto que nas versões iniciais ele vinha com um sistema de comentários built in e outras features nesse sentido, como o aclamado admin.
O primeiro tombo do Django foi justamente nessa identidade. O Wordpress ganhava cada vez mais features e maior popularidade, então seu maior caso de uso passava a ser questionado, isso por volta de 2010 - 2011.
Claro que diversos casos de uso surgiram com o Django, mas nessa época eram poucos e a maioria dos desenvolvedores meio que se conheciam.
O Rails por sua vez sempre foi mais "bonito", era uma comunidade engajada e o front-end de seus produtos tinham uma maior sinergia, o que também contribuiu para a estagnação do Django naquele período.
Entre 2010 e 2015 eu percebia poucos projetos novos surgindo com Django aqui no Sul do Brasil, a maior parte das vagas eram para sistemas legados, e pagavam bem, pois o número de desenvolvedores na praça também era pequeno.
Hoje eu percebo que o framework saiu da sua pior fase e está em franca expansão, e duas ferramentas foram as principais responsáveis por tirar essa capa velha dele: Celery e Django Rest Framework.
Acredito que poucas ferramentas no mercado se assemelham ao Celery em robustez. Com ela você consegue resolver inúmeros problemas assíncronos que atormentavam a comunidade Python antes do async, mas de quebra garante uma arquitetura limpa e compatível com a estrutura do Django, além disso é possível gerir tasks programáveis e outras coisas com ele sem a necessidade de um crontab.
O Django Rest Framework dispensa apresentações, e hoje junto com o Fast Api são duas ferramentas extremamente populares quando o assunto é criar APIs REST.
Além dessas ferramentas, podemos trazer para a mesa o Django Channels que deu o poder para o Django servir websockets, tornando-o capaz de criar complexas aplicações Real Time. Ainda pouco explorado, mas muito poderoso, já usei em projetos grandes e recomendo muito!
Tudo isso trouxe o Django para 2022, e apesar da idade, ele rivaliza com seus pares.
O lado positivo é que poucos desenvolvedores se especializaram nele em comparação com outros frameworks de outras linguagens, isso explica também os bons salários e a aparente maior facilidade de contratação para quem já o domina.
Por fim, eu recomendo começar com algo mais simples como o próprio Fast Api, conseguir experiência primeiro e depois entrar no Django de cabeça, pois apesar de todos esses benefícios ele não costuma ser amigável para iniciantes. É poderoso, porém complexo.
Passado é o que não paga tua contas, mano! Se Django esta pagando, vá em frente! Mas sempre busque conhecimento!
Acredito que não, depende muito das empresas, algumas preferem usar o Django, outras acabam usando FastAPI ou Flask, mas olhando as vagas, maioria sempre pede Django, é bem difícil ele ficar para trás.
Olha, eu sempre trabalhei com .net até que em 2020 comecei a trabalhar com Python (fastapi), recentemente uma empresa dos EUA me chamou no linkedin e acabei trocando de emprego.
Hoje trabalho com Django + React e desde que coloquei Django no linkedin a quantidade de recrutadores gringos me chamando pra vagas aumentou consideravelmente (talvez seja só coincidencia).
Não sei o que você considera como "passado", talvez não seja o framework da moda e talvez algumas abordagens não sejam as mais atuais, mas muitas empresas ainda usam ele e não parecem estar dispostas a trocar. Então se sua ideia é conseguir um emprego, acredito que ele ainda seja o melhor framework web em Python pra começar.
Obs: se for seu primeiro emprego, tente entender como ele funciona "under the hood", pq ele faz muita "mágica" e você precisa entender como as coisas vão acontecer.
Uma curiosidade minha: vc está usando a API em python e o django e o react como interfaces? Eu estava pensando em fazer um "sisteminha" para testes e eventuralmente fazer ele evoluir. Como sou inicante é um pouco dificil entender como tudo se conecta ou como seria a melhor metodologia para eu escolher para meu peojeto. Ex: usar nuvem para banco de dados e servidor de APIs, programa local fazendo requisições para nuvem, ou fazer tudo local e fazer o "backup" dos dados gerados localmente na núvem. Eu recentemente vi um vídeo que comentou que vc pode fazer 30k requisições mês na núvem da amazon com um valor quase símbolico. Logo, essa poderia seria uma estratégia interessante para eu tentar montar meu APP.
Sim, django rest como api e react como interface.
Você pode utilizar o django rest framework, que não usa as views html e sim json assim você consegue consumir no frontend react.
Sobre esses 30k de requisições eu não sei que servico seria, tem a AWS lambda que da varias requisicoes gratis por mes mas vc nao usaria o django.
Também da pra usar o AWS EC2 que voce tem uma maquina T2 micro gratis por um ano.
é um vídeo da Alura que comentam sobre serverless e o serviço seria sim o Lambda AWS. Eu não tinha me atentado que um serviço consome views html e outro json. por questões de volume de dados me parece muito claro que json já seria uma excelente escolha.
Obrigado pelas dicas Pedro.
Na verdade o browser entender HTML, CSS e JS. Quando usamos o Django retornando as views sempre retornamos esses 3, mas com o rest framework podemos retornar json q serão consumidos de outras formas, como uma UI em react ou um app em flutter.
ótimo. obrigado pela explicação.
Eu me aprofundei mais em programação e deixei a parte de montar sites mais de lado pois eu não gostei tanto kkkkk, logo eu não tinha chegado na parte que tem essa "divisa de águas". Sei que tudo é importante, mas eu tinha que priorizar um quando eu estava estudando.
Isso é normal, eu só fui comecar estudar desenvolvimento web depois que entendia muito bem bancos de dados, sql, algoritmos e estrutura de dados. Não precisa atropelar as coisas.
A forma que vejo uma tecnologia (framework) madura se tornar passado é se ela não continuar evoluindo com as tendencia de mercado, acredito que essa não deve ser uma realidade do Django.
Alguns pontos que mostra que o Django segue evoluindo:
Galera, que sensacional! Aprendi muito com todos os comentários aqui em resposta a minha dúvida. Como sou iniciante tava com receio de tá entrando numa tecnologia que já tivesse ficando obsoleta, mas percebi que não é esse o caso quando falamos em Django. Vou procurar focar mais seguindo alguns ensinamentos que aprendi nas respostas de vocês, também percebi que tenho que ver o lado do react que é algo que eu não tava levando muito a sério, mas vocês me fizeram ver que será essencial para minha evolução no desenvolvimento web. Obrigado à todos!!!