Pergunta

é melhor para desenvolver ruby ??on rails em a) janelas b) linux ou c) mac. por quê?

editado:

a razão pela qual eu estou pedindo isso é que eu ouvi que o desenvolvimento Ruby on Rails no Windows não é tão estável / bom em comparação quando você usou Ruby on Rails em mac. (Não tenho certeza que se isso é verdade ou não).

além do fato de que David Heinemeier Hansson (criador do Ruby on Rails) parece estar usando Mac, impressões tão iniciais parece ser aplicações Ruby on Rails e Mac vai bem juntos.

Foi útil?

Solução

Eu recomendo fortemente que você não desenvolver no Windows. Por quê? Primeiro, há um monte de coisas que quebram no Windows com cada atualização ea maioria dos gem ou plugin criadores não usam o Windows para que eles não se preocupam com janelas e não executar testes sobre ele (há várias grande nome pessoas que têm flat out disse que o Windows não é o seu problema é seu). Você vai encontrar o * nix vs problemas do Windows vai morder-lhe no rabo de novo e de novo. Pathnames barras, pequenas diferenças em implementações de SSH, problemas de console e fonte, rubygems, Capistrano, etc ...

O que vai acabar acontecendo depois de um tempo é que você sempre terá essa voz na parte de trás de sua cabeça cada vez que você tem a depuração algo dizendo "Isso é um problema apenas no Windows?" e que pouca voz é um custo para you..using um pouco de sua bateria a cada dia.

Macs são mais caros em termos de dólares iniciais (que infelizmente eu não tenho) e plataformas Linux são termos mais caros de passar um dia ou dois tentando obter o seu sem fio para trabalhar, mas esses são os custos iniciais de tempo um. A insegurança irritante de usar o Windows para o desenvolvimento Rails é um custo em curso. Pelo menos até que a comunidade começa a rejeitar coisas que não são verdadeiramente multiplataforma.

Como exemplo olhada pepino. Por alguma razão, um framework de teste é dependente de uma determinada configuração do console não disponível no Windows. Então, para usá-lo no Windows você tem que mudar a fonte em seu console e alterar a página de código em seu console. Caso contrário, a letra "a" desaparecer toda a saída. Por quê? Porque ele funciona muito bem para os sistemas * nix e dá-lhe cores bonitas (eu acho que isso é uma enorme falha e design muito, muito má escolha, mesmo se você ignorar janelas).

Você também vai se sentir como o cara que peidou no elevador cada vez que você abrir uma questão janelas.

Eu digo tudo isso como alguns que tem que usar janelas para a sua plataforma de desenvolvimento no momento. Hey, que é esse cheiro?

[editar tarde: Rubi também é cerca de 3 vezes mais lento em janelas. Isto terá um impacto a sua vontade executar os testes o tempo todo e prejudicar o seu ciclo de feedback TDD]

Outras dicas

não deve importar, o que você sente mais confortável. Eu fiz todos os três.

Eu suponho que o Windows é um pouco desconfortável por não ser baseado em UNIX, o CLI é um pouco mais desajeitado.

(Mas se você usar uma ferramenta como o NetBeans, você realmente não precisa mesmo o CLI muito)

Eu recomendo contra o uso de janelas ao desenvolver um aplicativo que irá depois ser implantado em um sistema Linux. Se você está desenvolvendo um aplicativo para a prática, o Windows está bem.

A questão é que se você está visando linux, então você vai querer ter uma pilha completa em sua máquina de desenvolvimento: um servidor web, um SGBD, talvez memcached, etc. Embora seja possível carregar todos que no Windows (eu fiz isso), vai demorar mais tempo do que em uma máquina linux, será mais lento e você terá mais dificuldade em encontrar ajuda quando algo não funciona.

Além disso, você pode executar em problemas de gema e suporte plug-in no Windows. Por exemplo, \ em vez de / para caminhos de diretório e outras esquisitices. Enquanto Rubistas vai tentar ser útil, suporte janelas às vezes é limitada uma vez que a maioria dos trabalhos RoR é feito em máquinas Mac ou Linux. Por exemplo Capistrano teve problemas em execução no Windows (que pode ser fixado agora).

Como alternativa , você pode usar o Windows como sua máquina desktop, mas usar uma máquina Linux como seu servidor de desenvolvimento para executar o aplicativo. Qualquer PC antigo será executado linux muito bem. Use samba para acessar remotamente e editar os arquivos de sua máquina Windows. A máquina linux não precisa de uma tela, você só vai usá-lo remotamente.

Apenas mudar de seu aplicativo config / environments / development.rb para incluir

config.action_controller.consider_all_requests_local = true

para que você possa ver os rastreamentos de pilha do seu navegador rodando em sua máquina Windows.

Saudações,

Larry

Ruby on Rails funciona bem em todas as plataformas, mas o apoio ferramenta varia. Por exemplo, TextMate é um editor favorito entre Rubistas, e é só Mac. Você vai ser capaz de encontrar muitas ferramentas úteis para trabalhar com RoR no TextMate, por isso talvez seja melhor fazer desenvolvimento RoR em um Mac.

Eu uso Mac e Linux mim mesmo.

Um sistema baseado em Unix irá oferecer-lhe um caminho de fim de que não resistência como todas as gemas estão disponíveis / compilable nesses sistemas, o que não é tão fácil em uma máquina Windows. Não é impossível no Windows, mas você vai gastar mais tempo fazê-la funcionar em vez em alguns casos, em vez de fazer o trabalho.

Desses sistemas Unix meu preferido é um Mac, ele tem todo o poder Unix, bem como todas as sutilezas de interface que pode ser falta de seu sistema linux, e é claro que eu não poderia viver sem minha dose diária de TextMate, de modo Mac é.

I começou a vida como um programador em 1981 em sistemas Unix início. Eu fiquei uma pessoa Unix puro até 1995. Em seguida, 'coisas' aconteceu, (propriedade de negócios), e Windows entrou na minha vida.

Então em 2007 eu começar a aprender RoR, puro do Windows. I implantado em Joyent, que é Solaris. Eu já desenvolveu com sucesso duas grandes aplicativos, desenvolvidos no Windows, e implantado no Solaris / Apache / Mongrel, sem nenhum incidente grave.

O único problema do Windows que eu sempre lembro é que eu tive que forçar sistema de arquivos lê e escreve em modo binário para corrigir um 'desenvolvimento' vs. 'implantação' questão.

Eu honestamente não vejo nenhum problema com o desenvolvimento no Windows e implantando no Unix. Mas eu tinha uma extensa experiência Unix, eu não tenho certeza que a história teria sido a mesma se eu não sei Unix.

Além disso, eu vou sempre apenas trabalho no RoR aplicativos de construção I para o meu negócio. Eu nunca mais vai precisar para construir quaisquer outras aplicações RoR, eu nunca vou desenvolver quaisquer plugins, nunca tem que assumir outro projeto, nunca tem ninguém INSISTA I incluir algo só está disponível em algo que não funciona bem com o meu ambiente de desenvolvimento do Windows , etc ...

Eu diria o seguinte:

Se você é responsável pelo desenvolvimento de um aplicativo Web para o seu empregador, e que o empregador é baseado em Windows, que não deve impedi-lo de considerar RoR como plataforma. O aplicativo teria que ser implantado por um terceiro, a menos que seu empregador é grande o suficiente e o projeto suficientemente importante para justificar em casa sistemas Unix.

Então, se você sabe nada sobre Unix, você pode precisar de um pouco de ajuda ao longo do caminho. Se você vai com um terceiro Rails host, confira seus fóruns de suporte, certifique-se que há pessoas dispostas e capazes de falar uma pessoa não-Unix através de quaisquer problemas de implantação / instalação e manutenção.

Vou te dar um exemplo, em Joyent, se eu quiser executar uma migração, eu tenho que ir através de sua coisinha GUI banco de dados, log no banco de dados, em seguida, 'executar' um comando. OK, então eu obter um text_field simples, onde eu entro de entrada destinado a um shell Unix, que é:

cd / user / myhome / sites / mysite && rake db: migrar RAILS_ENV = produção

que pode não ter sido tão fácil de descobrir se eu não tivesse tido a fundo Unix.

Como do Ruby 1.9.2 e Rails 3.2, o Windows é muito mais lento para autoteste e spork (um ciclo completo levou ~ 15 segundos, em média, em comparação com meros segundos em Linux para o mesmo projeto), mas eu gosto melhor gui- ferramentas git centric e funcionalidade (TortoiseGit, WinSCP) entre outras coisas desde que eu sou muito mais familiarizado com o Windows. Tenho verificado que o essencial características que eu preciso estão trabalhando em ambas as plataformas, assim que eu encontrar quebra a ser uma questão menor em comparação com a velocidade.

não importa, Se você é um purista, em seguida, seu ambiente de dev deve corresponder da melhor seu ambiente de produção quanto possível no que diz respeito ao sistema operacional e versão do Ruby e Rails. Mas realmente não importa muito.

Algumas pérolas funciona em Mac, mas não alguns sabores de Linux (como gitjour quando eu última tentou fazê-lo).

Usando um Mac pode ser bom ou ruim, dependendo se você quer saber que o que você desenvolver será capaz de trabalhar em qualquer outro sistema operacional.

Eu fiz desenvolvimento trilhos leves em ambos OSX e Linux (Ubuntu), e eu achei as diferenças a ser quase imperceptível (em termos de Ruby e Rails ... obviamente os ambientes de desktop são uma diferente muito entre os dois de OS ).

Como já foi dito, a maioria ruby ??/ rails tutoriais, pedras preciosas, plugins, etc, são orientadas para sistemas do tipo Unix, então eu diria que pode haver alguns soluços irritantes tentando fazer Ruby / Rails no Windows, a menos que naturalmente você estiver usando IronRuby. : -)

A alternativa de baixo aborrecimento para a criação de um ambiente Unix para o desenvolvimento Rails é executar um dos mais fáceis de usar distribuições Linux, como Ubuntu ou Fedora sob virtualização software como o VMWare, VirtualBox, VirtualPC, etc.

Eu concordo com muitas das mensagens anteriores que Rails no Windows pode ser um problema. É simplesmente o caso que muitas pessoas em desenvolvimento para Rails estão em Macs ou Linux e, como resultado erros do Windows não são encontrados, isto é particularmente um problema com plugins.

Um problema com Rails é IDEs. TextMate no Mac parece ser uma escolha popular, ainda opções de Linux e Windows são muito fragmentado. Normalmente eu não me preocuparia com isso, mas eu descobri que Rails torna-se muito mais gerenciável quando você tem suporte IDE. Em geral, existem lotes de arquivos localizados em uma estrutura de diretórios razoavelmente complexo assim que ter um IDE que lhe permite encontrar facilmente arquivos de seu procurando é um impulso incrível produtividade.

Outra coisa que você pode querer considerar é o seu ambiente de implementação parece. Por exemplo, as pessoas podem implantar lá Rails aplicativos em servidores Linux. Nesse caso, você pode ser capaz de contornar os erros através do desenvolvimento no OS X, mas, infelizmente, os erros vão surgir quando você vai para implantar seu novo software. Esse é o último lugar que você quer ser a depuração do código. Claro que você deve estar testando seu código em um ambiente de teste em primeiro lugar, mas muitas vezes as pessoas pular esta etapa.

Enquanto procurava a resposta a esta questão devido a sempre ter que cortar o meu caminho em torno de janelas para que as coisas funcionem durante o desenvolvimento em Ruby, posso dizer que, se você tem a opção, use Linux ou Mac. Eu comecei oficialmente usando Ubuntu 9.04 a partir de hoje e aqui estão as razões pelas quais:

1) Não é possível fazer qualquer coisas ssh, como o uso Capistrano, Vlad, criar gemas para rubyforge, etc. Você pode fazer essas coisas usando cygwin, mas é uma dor na bunda para uso cygwin e janelas de trabalho para tudo.

2) A gota d'água foi quando tentando lançar tarefas em segundo plano em um app Rails apenas para perceber que o Windows pode processos se bifurca .... nem se incomodou com o Cygwin para este, apenas mudou para Ubuntu assim Eu não tenho de continuar a trabalhar em torno destas questões.

Ubuntu 9.0.4 é muito quente, porém, bastante impressionado por isso não pode ser tão ruim.

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