Pergunta

Eu estou querendo saber se há tal coisa como Django-como a facilidade de desenvolvimento de aplicações web, combinado com boa implementação, depuração e outras ferramentas?

Django é muito produtivo framework para criação de conteúdo-sites pesados;o melhor que eu já tentei, e uma lufada de ar fresco em comparação com alguns dos Java monstruosidades lá fora.No entanto, é escrito em Python, o que significa que há pouco apoio real, no caminho da implantação/embalagem, de depuração, os criadores de perfil e outras ferramentas que fazem a construção e a manutenção de aplicativos muito mais fácil.

Ruby tem problemas semelhantes e embora eu goste Ruby muito melhor do que eu gosto de Python, tenho a impressão de que Rails é mais ou menos no mesmo barco em Django quando se trata do gerenciamento de suporte/app.

Tem alguém aqui tentou tanto Django e Grails (ou outros frameworks web) para não-trivial de projetos?Como eles se comparam?

Foi útil?

Solução

Você pediu para alguém que usou tanto Grails e Django.Eu tenho feito um trabalho tanto para grandes projetos.Aqui está meus Pensamentos:

IDE: Django funciona muito bem no Eclipse, Grails funciona muito bem no IntelliJ Idea.

Depuração: Praticamente o mesmo (supondo que você use o IntelliJ para Grails, e o Eclipse para Python).A etapa de depuração, inspecionar variáveis, etc...nunca precisam de uma instrução de impressão para qualquer um.Às vezes, django mensagens de erro pode ser inútil, mas Grails mensagens de erro são geralmente muito longa e difícil de analisar.

Tempo para executar um teste de unidade: django:2 segundos.Grails:20 segundos (os testes são executados em uma fração de segundo, é a parte sobre a colocação de um quadro de referência para executá-los que leva o resto...como você pode ver, Grails é frustrantemente lento para carregar).

Implantação: Django:copie e cole um arquivo em uma configuração do apache, e para reimplantar, basta alterar o código e recarregar o apache.Grails:crie um .arquivo war, implantá-lo no tomcat, enxágüe e repita para reimplantar.

Linguagens de programação: Groovy é TOTALMENTE incrível.Eu amo ele, mais do que Python.Mas eu certamente não tenho queixas.

Plugins: Grails:muitas quebrado plugins (e pode usar todos java lib sempre).Django:alguns estável plugins, mas o suficiente para fazer a maioria do que você precisa.

Banco de dados: Django:esquema migrações usando Sul, e, em geral intuitiva, de relações.Grails:nenhum esquema de migrações, e por padrão, ele exclui o banco de dados na inicialização...WTF

Uso: Django:startups (especialmente no Gov 2.0, o espaço), independente web dev lojas.Grails:empresa

Espero que ajude!

Outras dicas

No entanto, é escrito em Python que significa que há pouco apoio real no a forma de implantação/embalagem, a depuração, criadores de perfil e outras ferramentas que fazem a construção e manutenção de aplicações muito mais fácil.

Python tem:

  1. um grande depurador interativo, o que faz muito bom uso de Python REPL.
  2. easy_install anv virtualenv para gerenciamento de dependência, de empacotamento e implantação.
  3. criação de perfil de recursos comparáveis para outros idiomas

Então, IMHO você não deve se preocupar com essas coisas, usar Python e Django e viver feliz :-)

Sorte para você, mais recente versão Django é executado em Standards, assim , você não precisa deixar seu todo o ecossistema Java para trás.

Falando em quadros, eu avaliados este ano:

  1. Torres (Python)
  2. webpy (Python)
  3. O Symfony (PHP)
  4. O CakePHP (PHP)

Nenhuma dessas estruturas chega perto do poder de Django ou Ruby on Rails.Com base na minha collegue opinião eu poderia recomendar você kohana quadro.A desvantagem é, ele é escrito em PHP e, até onde eu sei, o PHP não tem soberba, ferramentas para depuração, criação de perfis e de empacotamento de aplicativos.

Editar: Aqui é muito bom artigo sobre empacotamento e implantação de aplicativos Python (especificamente Django apps).É um tema quente em Django comunidade agora.

A afirmação de que grails exclui o banco de dados no start-up é completamente errado.Do comportamento no start-up é totalmente configurável e fácil de configurar.Eu geralmente uso create-drop quando executar uma aplicação no dev modo.Eu uso o update quando eu executar em teste e produção.

Eu também adoro o bootstrap de processamento que me permite pré-configurar os usuários de teste, dados, etc. pelo ambiente em Grails.

Eu adoraria ver alguém que realmente criados e implantados alguns projetos comerciais comentário sobre os prós / contras.Ser realmente uma interessante leitura.

Grails.

Grails só se parece com Rails (Ruby),mas ele usa groovy, que é mais simples do que java.Ele utiliza a tecnologia java e você pode usar qualquer java lib sem qualquer problema.

Eu também escolher Grails mais simplicidade e há muitas java lib (como o jasper report, jawr etc) e eu estou contente que agora eles se juntam com a SpringSource, que torna a sua base sólida.

Eu tenho dois amigos que originalmente começou a escrever uma aplicação usando o framework Ruby on Rails, mas deparou-se com uma série de problemas e limitações.Depois de cerca de 8 semanas de trabalho, eles decidiram investigar outras alternativas.

Eles se estabeleceram na Catalisador Quadro, e Perl.Que era de cerca de 4 meses atrás, e eles várias vezes falou sobre o quão melhor o aplicativo está indo, e quanto mais flexibilidade que eles têm.

Com Perl, você tem todos CPAN disponível para você, junto com a grande quantidade de ferramentas incluídas.Eu sugiro dar uma olhada nele, pelo menos.

O "bom implantação do" problema -- para Python -- não tem o Profundo Significado que ele tem para Java.

Python implantação para Django é, basicamente, "mover arquivos".Você pode correr em linha reta fora da subversão tronco diretório se você quiser.

Você pode, sem quebrar muito suor, usando o Python distutils e construir-se um kit de distribuição que coloca o Django aplicações em Python site-packages.Eu não sou um grande fã dele, mas é realmente fácil de fazer.

Desde meu telefone é executado no Linux, eu simples "install.py" scripts que mover coisas fora do Subversion em diretórios /opt/this e /opt/that diretórios.Eu uso um caminho explícito configurações no meu configuração do Apache para nomear aqueles diretórios onde as aplicações ao vivo.

A aplicação de patches pode ser feito editando-se os arquivos no lugar.(Uma má política.) Eu prefiro editar no SVN local e execute novamente o meu pequeno instalar para ter certeza de que eu, na verdade, todos os arquivos sob controle.

cakephp.org

O Cakephp é realmente bom, muito perto do ruby on rails (1.2).É em php, funciona muito bem no shared hosts e é fácil de implementar.

A única desvantagem é que a documentação é um pouco deficiente, mas você obter rapidamente e rapidamente começar a fazer coisas legais.

Recomendo totalmente o cakephp.

Pessoalmente, eu fiz alguns, ao invés de grandes projetos com o Django, mas eu posso comparar apenas com o dito "montrosities" (Spring, EJB) e realmente de nível baixo de coisas como a Torcida.

Frameworks Web usando as linguagens interpretadas são a maioria em sua infância e em todos eles (mantido activamente, o que é) estão ficando melhor a cada dia.

Por "bom implantação" você está comparando ele com o Java da ORELHA de arquivos, que permitem que você para implementar aplicações web através do upload de um único arquivo para um servidor de J2EE?(E, em menor medida, a GUERRA de arquivos;ORELHA arquivos podem ter GUERRA arquivos para projetos dependentes)

Eu não acho que Django ou no Rails tem obtido muito a esse ponto ainda, mas eu poderia estar errado...zuber indicou um artigo com mais detalhes sobre o Python lado.

Capistrano pode ajudar na Ruby lado.

Infelizmente, eu realmente não trabalhou com Python ou Ruby que muito, então eu não posso ajudar na criadores de perfil ou depuradores.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top