Pergunta

Eu sei que vou obter um "depende do que você está tentando fazer" mil respostas, mas sério, não há realmente nenhuma informação sólida sobre isso ainda online. Aqui estão as minhas suposições - Eu acho que eles são semelhantes para um monte de pessoas agora:

  1. Agora é outubro de 2008. Eu quero começar a escrever um pedido de Janeiro de 2009. Estou disposto a usar o código beta e tal, mas em janeiro, eu gostaria de um site que não tem problemas 'estranho'. Com isso dito, se uma língua é simplesmente 10% mais lento do que o outro, eu não me importo com essas coisas, desde que a questão é linear. A minha principal preocupação é a produtividade do desenvolvedor.
  2. eu vou estar usando Linux, Apache, MySQL para a aplicação.
  3. Eu quero o poder de fazer coisas como scp corrida e funções cliente FTP com bibliotecas estáveis ??(eu só escolhi esses dois porque eles não são web-relacionados, mas, ao mesmo tempo representar protocolos de rede bastante comum que qualquer uso poderio aplicativo maior ). Tecnologias como OpenID e OAuth será usado também.
  4. desenvolvedores web experientes estão prontamente disponíveis (ou seja, eu não tenho de encontrar pessoas de empresas financeiras e tal).
  5. Seja qual for a escolha é é comum e será em torno de um tempo.
  6. Aqui está um kicker. Eu gostaria de ser capaz de usar ferramentas avançadas de camada de apresentação / linguagens semelhantes a HAML, SASS. Eu definitivamente quero usar JQuery.
  7. I será a criação de um aplicativo de Facebook e em algum momento fazendo coisas como lidar com mensagens SMS, aplicativos para iPhone, etc ...

Neste ponto, as escolhas para linguagem são PHP (Cake, Symfony, Zend), Python (Django), Ruby (Merb). Estou muito entre Django e Merb neste momento principalmente porque todo mundo parece estar indo dessa forma.

Por favor, não coloque qualquer tecnologia em aqui que não são feitas para mainstream. Eu sei Merb não foi testado na maior parte, mas o seu objectivo declarado é uma plataforma sólida e tem um monte de impulso por trás dele, então estou confiante de que é viável. Por favor, não responda com a forma como grande Perl é ou .Net.

Para referências futuras - estas escolhas foram já feitas:

  • Debian (Lenny) - Para converter ciclos de CPU em algo útil. Trac
  • 0,11 - Para Project Management Gliffy - Para wireframes e tal
  • Google Docs / Apps - Para documentação, e-mail hospedado, etc ...
  • Amazon EC2 / S3 -. Para hospedagem, armazenamento

Cheers, Adam

Foi útil?

Solução

depende.

php - symfony é um grande framework. desvantagens: php, prolixo e pesado diretório. propulsão fica chato de usar. upsides: php está em toda parte e o trabalho é barato. bem feito estrutura, e um bom suporte. lotes de plugins para tornar a sua vida mais fácil

python - Django também é um grande quadro. desvantagens: programadores Python pode ser mais difícil de encontrar, o Django ainda mais difícil. mudando seu esquema db pode ser um pouco difícil, pois não há migrações oficiais. não chega a fazer MVC como você esperaria. upsides: faz tudo o que você precisa e tem a grande biblioteca python std e comunidade por trás dele

.

ruby ??- Eu nunca usei merb, por isso vou abordar trilhos. upsides: há um plugin, gema, ou receita para quase tudo que você poderia querer fazer. fácil de usar. desvantagens: os plugins, pedras preciosas e receitas às vezes não conseguem trabalho em maneiras misteriosas. macaco patching é muitas vezes mal. a comunidade é .. vocal. software opinativo, e às vezes essas opiniões estão errados ( a falta de chaves estrangeiras ). trilhos em si parece como uma torre de cartas esperando para explodir e levar horas de sua vida fora.

com tudo isso dito, eu sou um desenvolvedor freelance php / symfony e Ruby / Rails. Eu trabalhei em vários projetos em ambas as linguagens e frameworks. Meu projeto mais recente é no Rails unicamente por causa da ActiveMerchant. Eu estive procurando uma razão para desenvolver uma aplicação Django por um tempo. Se houvesse uma ActiveMerchant como biblioteca para django, eu provavelmente teria usado.

Outras dicas

Django!

Olhe para cima as negociações DjangoCon no Google / Youtube - especialmente "reutilizável Apps" (www.youtube.com/watch?v=A-S0tqpPga4)

Estou usando o Django por algum tempo, depois de começar com Ruby / Rails. Eu achei mais fácil a Comunidade Django para entrar (melhor), a língua documentado com excelente exemplos, e de modularidade é incrível, especialmente se você está querendo jogar componentes personalizados na mistura, e não ser forçado a usar certas coisas aqui e ali.

Estou certo de que há provavelmente maneiras de ser tão flexíveis com Rails ou algo assim, mas eu altamente incentivá-lo a tomar um longo olhar para as apresentações Django, etc, em http://www.djangoproject.com/

Eugene mencionado agora é de 1,0 - e, portanto, continuará a ser um estável e compatível com versões anteriores codebase bem através de Janeiro de 2009.

Além disso, as interfaces de administração automáticas que constrói são produção pronta , e extremamente flexível.

Desculpe, mas sua pergunta é errada. As pessoas provavelmente vão me votar para baixo por um presente, mas eu quero dizer mesmo assim:

Eu não seria de esperar para obter uma resposta objetiva! Por quê? Que é simples:

  • defensores todos Ruby vai dizer para usar Ruby.
  • defensores Todos Python vai dizer para usar Python.
  • defensores Todos PHP irá dizer usar o PHP.
  • Insira idiomas adicionais aqui.

Got a idéia?

Eu recomendo que você tente cada um dos idiomas que você mencionou para si mesmo. Pelo menos em alguns dias cada. Depois disso, você deve ter uma melhor base muito a fazer a sua decisão final.

Dito isso, eu iria escolher Ruby (porque eu sou um defensor do rubi).

Todos eles vão fazer o trabalho.

Use o que você e sua equipe estão mais familiarizados com o

Isto terá um impacto muito maior sobre os prazos de entrega e estabilidade do seu aplicativo que qualquer uma das outras variáveis.

Eu iria com Django, se você está confortável com uma solução Python. É a versão 1.0 agora, e está amadurecendo muito bem, com uma grande base de usuários e muitos contribuintes. Integrando jQuery não é problema, e eu tenho feito isso sem quaisquer problemas.

A única coisa é, tanto quanto eu posso dizer, Ruby é muito mais popular para desenvolvimento web hoje em dia, por isso é mais fácil encontrar desenvolvedores Ruby. Eu recebo essa impressão de navegar anúncios de emprego recentes - não há que muitos para Python ou Django. Eu não sei muito sobre Merb, por isso não posso dar uma comparação justa.

Eu fiz PHP suficiente para não recomendo começar um novo projeto com ele.

Com base em suas razões, eu iria com Ruby. Vejo que você quer algumas ferramentas de administração (scp, ftp cliente) e Ruby tem (net / SFTP e líquidos / FTP bibliotecas).

Além disso, existem grandes jóias como Deus para monitorar seu sistema, Vlad the Deployer para a implantação, etc. E um monte de alternativas no campo do Merb, uso apenas o que você achar que é melhor para suas necessidades (Thin, Mongrel, vazante, etc).

Para obter uma sensação de que o ecossistema Django está no momento, você pode querer verificar para fora

Tenho de prefaciar este com a minha concordando com Orion Edwards, escolher o seu time está mais familiarizado.

No entanto, eu também tenho que observar a curiosa falta de línguas ASP.NET em sua lista. Não provocar o grande exército fanático, mas onde está a carne? NET é um estável, plataforma de desenvolvimento rápido e a força de trabalho está crescendo diariamente. VB.NET e C # são conjuntos de habilidades transportáveis, e que pode significar muito quando você está construindo uma equipe de desenvolvedores para trabalhar em um conjunto diversificado de tarefas. NET também permite que você separe a sua camada de apresentação do seu código de back-end, como outras línguas, mas também permite que você exponha esse código backend como um serviço web para coisas como suas aplicações para iPhone e Facebook.

Tome cada sugestão com um grão de sal, e escolher o que se adequa à aplicação melhor. Faça sua pesquisa, e design para a função e não os fanáticos.

Disclaimer: Uma vez que um desenvolvedor PHP, ColdFusion e Perl. fanático Flex e Adobe amante. Agora escrever aplicações .NET corporativos. ;)

Não se esqueça Mono, que permite executar NET sob * nix. Não que eu estou dizendo que vai ser perfeito, apenas jogando advogado do diabo.

Não fique preso na mentalidade de layout de página do lado do servidor. Considere tecnologias como o SproutCore, GWT ou ExtJS que colocam o código layouting totalmente no cliente, fazendo com que o servidor responsável apenas para dados de triagem e processamento (e facilmente substituídos).

E você realmente precisa saber qual plataforma de servidor que deseja. Não escolher um, porque ele é o sabor do mês, escolher um, porque você está confortável com isso. Sabores não duram, uma base de código solidamente construída vai.

Tendo aplicações integradas em Django, eu posso atestar a sua utilidade. Se todas as estruturas eram tão elegante (sim Spring, eu estou olhando para você).

No entanto, em termos de apostar a fazenda em Django, uma coisa que você precisa levar em consideração é que o Python 3 será lançado em breve. Python 3 não é compatível e não há um risco de que ele vai desembolsar a língua e acabam retardando o impulso para todos os projetos Python enquanto eles lidar com as conseqüências. Para ser justo, Ruby 2.0 é devido em breve também, mas eu não acho que vai ser tão perturbador.

A minha experiência com várias novas tecnologias ao longo dos últimos anos leva dez me recomendar que você faça a estabilidade da plataforma de um critério sério. É tudo muito bem desenvolver com o quadro mais recente e maior, mas quando você encontrar ele é movido para a frente uma versão ponto e de repente a maneira que você tem feito tudo o que é obsoleto, que pode vir a resultar em trabalho extra desnecessário. Isto foi particularmente minha experiência de trabalho com trilhos um pouco à frente da versão 1. Por essa razão sozinho, eu evitaria qualquer plataforma que não, pelo menos, foi a 1,0 quando você começar a trabalhar nele.

Ruby é ótimo trabalhar com e irá manter a sua alta produtividade do desenvolvedor, mas se Django é a plataforma mais estável que eu seria a favor de que, com certeza.

Não paga para ser tendencioso sobre a configuração do servidor. Qualquer moderno pena framework web seu peso em código fonte tem uma camada de abstração SQL de algum tipo. PostgreSQL recebe um desempenho muito melhor, e este é proveniente de um ex-MySQL partidária.

O Apache é um animal, tanto para configurar e sobre os recursos do seu servidor. Por que não ir com algo leve, como nginx ou lighttpd ?

(Para que conste, eu sou um grande utilizador Django, mas como a resposta aceita disse, ir com o que sua equipe sabe. Rápido turn-around não é o tempo para estar aprendendo novos quadros. Se você está contratando um equipa a partir do zero, ir com Django.)

Update: Acabei usando e amando, Django. Estou totalmente feito com PHP - desculpe por isso. futuros leitores tentando criar um novo site web 2.0 (assumindo que eles têm um fundo de programação), deve considerar fortemente essa configuração:

Amazon EC2 para hospedagem (US $ 80 / mês - não é barato, mas vale a pena se você puder pagar) Django / Python (Python é a linguagem de script poderosa maioria do planeta - e Django apenas faz com que funcione na web)

O desenvolvimento deve ser feito com SqlLite eo servidor de desenvolvimento que vem com Django. Não perca tempo com Nginx, Apache, MySQL até que você está withing algumas semanas de um beta.

Oh, e eu agora desenvolver em um Mac, o que funciona muito bem para o desenvolvimento local Django.

Finalmente, Pinax é um grande começo para Django desenvolvimento.

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