Grails Django versus versus?

votos
21

Eu estou querendo saber se há uma coisa como Django-como facilidade de desenvolvimento de aplicativos web combinada com boa implantação, depuração e outras ferramentas?

Django é um framework muito produtivo para a construção de sites de conteúdo pesado; o melhor que eu tentei e uma lufada de ar fresco em comparação com alguns dos monstruosidades Java lá fora. No entanto, é escrito em Python que significa que há pouco apoio real no caminho de implantação / embalagem, depuração, perfis e outras ferramentas que tornam a construção e manutenção de aplicações muito mais fácil.

Ruby tem problemas semelhantes e, embora eu faço como Ruby muito melhor do que eu gosto de Python, tenho a impressão de que o Rails é mais ou menos no mesmo barco em Django quando se trata de gerir / apoiando o aplicativo.

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

Publicado 16/09/2008 em 20:05
fonte usuário
Em outras línguas...                            


9 respostas

votos
30

Você pediu para alguém que usou tanto Grails e Django. Eu fiz trabalho tanto para grandes projetos. Aqui está o meu pensamento:

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

Depuração: Praticamente o mesmo (supondo que você use IntelliJ para Grails, e Eclipse para Python). Depuração Step, variáveis inspeção, etc ... não precisa de uma declaração de impressão para qualquer um. Às vezes django mensagens de erro podem ser mensagens de erro inúteis mas Grails são geralmente muito demorado e difícil de analisar através.

Tempo para executar um teste de unidade: Django: 2 segundos. Grails: 20 segundos (os próprios tanto correr em uma fração de segundo testes, é a parte sobre o carregamento do quadro para executá-los que leva o resto ... como você pode ver, Grails é frustrantemente lento para carregar).

Implantação: Django: copiar e colar um arquivo em uma configuração do Apache, e reimplantar, basta alterar o código e recarregar apache. Grails: criar um arquivo .war, implantá-lo no tomcat, enxaguar e repetir para reimplantar.

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

Plugins: Grails: lotes de plugins quebrados (e pode usar todos os lib java sempre). Django: alguns plugins estáveis, mas o suficiente para fazer mais do que você precisa.

Base de dados: Django: migrações de esquema usando Sul, e as relações geralmente intuitivos. Grails: há migrações de esquema, e por padrão, ele exclui o banco de dados na inicialização ... WTF

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

Espero que ajude!

Respondeu 23/12/2009 em 23:42
fonte usuário

votos
10

Grails.

Grails apenas se parece com Rails (rubi), mas usa Groovy, que é mais simples do java. Ele usa a tecnologia java e você pode usar qualquer lib java sem nenhum problema.

Eu também escolher Grails mais simplicidade e há muitas lib java (como relatório de jaspe, JAWR etc) e eu estou contente que agora se juntam com SpringSource que torna a sua base sólida.

Respondeu 20/01/2009 em 08:32
fonte usuário

votos
10

No entanto, é escrito em Python que significa que há pouco apoio real no caminho de implantação / embalagem, depuração, perfis e outras ferramentas que tornam 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 a gestão de dependência, embalagem e distribuição.
  3. características de perfis comparáveis a outros idiomas

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

Sorte para você, a mais nova versão do Django roda em Jython , assim você não precisa deixar todo o seu ecossistema Java para trás.

Falando de quadros, I avaliou este ano:

  1. Pilões (Python)
  2. webpy (Python)
  3. Symfony (PHP)
  4. CakePHP (PHP)

Nada disso enquadramentos chega perto do poder de Django ou Ruby on Rails. Baseado em minha opinião colega que eu poderia recomendar-lhe kohana quadro. A desvantagem é, é escrito em PHP e, tanto quanto eu sei, o PHP não tem excelentes ferramentas para depuração, profiling e embalagem de apps.

Editar: Aqui é um muito bom artigo sobre a embalagem e distribuição de aplicações Python (especificamente aplicações Django). É um tema quente na comunidade Django agora.

Respondeu 16/09/2008 em 23:02
fonte usuário

votos
8

A afirmação de que grails exclui o banco de dados em start-up é completamente errado. É o comportamento no start-up é completamente configurável e fácil de configurar. Eu geralmente uso criar-drop ao executar um aplicativo no modo desenv. Eu uso atualização quando eu corro em teste e produção.

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

Eu adoraria ver alguém que tenha realmente construído e implantado alguns projetos comerciais comentar sobre as vantagens / desvantagens. Ser uma leitura muito interessante.

Respondeu 04/01/2010 em 06:37
fonte usuário

votos
3

A "boa implementação" questão - para Python - não tem o profundo significado que tem para Java.

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

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

Desde minhas coisas é executado em Linux, eu tenho simples scripts "install.py" que se movem material para fora dos diretórios do Subversion em /opt/thise /opt/thatdiretórios. Eu uso um configurações de caminho explícitas na minha configuração do Apache para nomear os diretórios onde as aplicações ao vivo.

Patch pode ser feito editando os arquivos no lugar. (A política ruim.) Eu prefiro editar no local SVN e execute novamente minha pequena instalação para ter certeza que eu realmente ter todos os arquivos sob controle.

Respondeu 18/09/2008 em 23:47
fonte usuário

votos
3

Tenho dois amigos que originalmente começou a escrever um aplicativo usando Ruby on Rails, mas funcionou em uma série de problemas e limitações. Após cerca de 8 semanas de trabalhar nele, eles decidiram investigar outras alternativas.

Eles se estabeleceram na Catalisador Framework , e Perl. Isso foi cerca de 4 meses atrás agora, e eles repetidamente falou sobre o quão melhor a aplicação vai, e quanto mais flexibilidade que eles têm.

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

Respondeu 17/09/2008 em 00:45
fonte usuário

votos
1

Por "boa implementação" você está comparando-a com arquivos EAR de Java, que lhe permitem implementar aplicações web fazendo o upload de um único arquivo a um servidor J2EE? (E, em menor grau, a guerra arquivos; arquivos EAR pode ter arquivos WAR para projetos dependentes)

Eu não acho que Django ou Rails têm obtido bastante a esse ponto ainda, mas posso estar errado ... zuber apontou um artigo com mais detalhes sobre o lado do Python.

Capistrano podem ajudar no lado do Ruby.

Infelizmente, eu realmente não tenho trabalhado com Python ou Ruby que muito, então eu não posso ajudar em profilers ou depuradores.

Respondeu 17/09/2008 em 14:19
fonte usuário

votos
1

Pessoalmente, eu fiz algumas bastante grandes projetos com Django, mas eu pode comparar apenas com disse "montrosities" (Primavera, EJB) e coisas realmente baixo nível como trançado.

frameworks web usando linguagens interpretadas são na sua maioria em sua infância e todos eles (mantido ativamente, que é) estão ficando melhor a cada dia.

Respondeu 17/09/2008 em 11:12
fonte usuário

votos
1

cakephp.org

CakePHP é realmente bom, realmente perto de Ruby on Rails (1.2). É em php, funciona muito bem em hosts compartilhados e é fácil de implementar.

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

Eu recomendo totalmente CakePHP.

Respondeu 16/09/2008 em 20:49
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more