Ruby on Rails vs ASP.NET MVC 3 para um cara .NET? [fechadas]

98

Eu sou muito novo no RoR e quero escolher entre APS.NET MVC3 e RoR. C # é com certeza mais fácil para mim, pois tenho feito isso por muito tempo, mas gostaria de saber se há algum ponto em considerar o uso de RoR em vez de .MVC para desenvolver um site do mundo real.

O que mais eu consigo com o RoR que não consigo com a ASP.NET MVC 3 que valha a pena gastar tempo para dominar o RoR? Achei que o plug-in RoR da comunidade disponível seria um dos motivos, mas não parece tão organizado e parece que a curva de aprendizado para fazer as coisas certas será tão grande que praticamente não economizará muito tempo para um novato! Posso estar errado aqui e realmente aprecio seu comentário na vida real sobre isso. Lembre-se de que ainda tenho que aprender ASP.NET MVC, mas isso parece rápido para um cara .NET!

O que o RoR poderia oferecer a um cara .NET que VALE A PENA escolher o RoR em vez da ASP.NET MVC 3? e por favor os conselhos práticos! :)

iCode
fonte
11
Como esta questão está fora do assunto ou não é uma questão real? De qualquer forma, adicionei a advicetag à pergunta.
Zabba
1
@zabba, por quê? Parece um não tag para mim.
bzlm
1
@bzlm, o que é uma não tag?
Zabba
2
@zabba apenas 95 perguntas, nenhum resumo wiki, propósito pouco claro (perguntas que requerem "conselho" geralmente não são respondidas e, portanto, não são bem-vindas de acordo com o
regulamento
3
Calma galera! Como é "quais são os valores de RoR sobre .NET MVC para um NET dev?" não é uma pergunta? !!! Não está bloqueado no MVC e estava apenas querendo saber a resposta !!
iCode

Respostas:

71

Ambos são fantásticos e podem atingir os mesmos objetivos muito rapidamente. Eu usei um ótimo livro para aprender um tempo atrás, e seria o seu caminho: Rails para desenvolvedores .Net

Além disso, escrevi um post sobre como passar de MVC para RoR há algum tempo.

Quanto às comparações, ambos têm pontos fortes, conforme abordado, mas aqui estão alguns que se destacam:

  • Eu realmente gosto da implantação do RoR e das formas simples de enviar para sites ativos - nenhum script para executar, apenas um pouco de linha de comando deve ajudá-lo a começar a funcionar assim que o código for realmente escrito. Se você escolher RoR, ENTENDA OS COMANDOS DA LINHA DE COMANDO - isso tornará sua vida muito mais fácil!

  • Como você mencionou, os plug-ins são ótimos e podem realmente ser usados ​​para acelerar as coisas.

  • Como um .Net dev, MVC será uma brisa, eu recomendaria usar o Razor, pois é muito simples e menos desordenado do que o antigo 2.0 sem a renderização do razor.

  • O EF4 do .Net pode ser comparado quase diretamente ao ActiveRecord do RoR, um ótimo sistema ORM para lidar com dados.

  • Eu descobri que a documentação do .Net é um pouco mais consistente e completa.

  • Um problema que tive com o RoR foram as mudanças rápidas e drásticas; não há muito tempo, eles atualizaram para 3.0 em meu host, e eu não bloqueei minha versão - todo tipo de coisa quebrou até que eu descobri as novas coisas (eu deveria ter congelado minha versão).

Não é uma escolha de corte limpo - ambos são excelentes. Como você já é um desenvolvedor .Net, acho que MVC3 seria o caminho a percorrer, mas ambos são fáceis de aprender.

Naspinski
fonte
4
Agora que a ASP.NET MVC é de código aberto, me pergunto com que rapidez ela fechará a lacuna de recursos com RoR. Estou investindo no MVC3 agora que a comunidade de desenvolvedores terá a capacidade de contribuir com um produto que ainda é totalmente suportado pelas equipes de engenharia da MS.
Scott
1
Não tenho certeza sobre RoR. Se você é um cara do .NET com C # MVC e Razor, mas acha MS MVC, WebAPI, WCF, EF um pouco complicado, e quer uma solução mais compacta ... você pode tentar SS servicestack.net ... É grátis , open source, comunidade muito ativa suporta .net e mono, substituição completa do pesado framworks acima. Eu, pessoalmente, amo muito :)
Tom,
2
O controle de versão do Ruby é simples e previsível se você usar o Bundler, como deveria.
Lilith River
31

Eu uso e gosto de ambos, e o problema com uma pergunta como esta é que eles são tão diferentes que você poderia ficar o dia todo falando sobre maçãs e laranjas, mas como sua pergunta não é específica, direi apenas:

Se você se considera "um cara do .NET", então deve aprender uma linguagem que funcione de maneira muito diferente do C #, e uma linguagem dinâmica como Ruby não é um mau lugar para começar. (Outra opção seria uma linguagem funcional como Haskell, Scala, etc.)

Depois de fazer isso, você será um programador melhor e não precisará mais se chamar de "um cara do .NET"!

Craig Stuntz
fonte
3
Eu concordo, mas meu objetivo de ter um site real instalado e funcionando o mais rápido possível e estendendo meus horizontes não é meu objetivo principal agora. Eu com certeza valorizo ​​aprender coisas novas como Ruby, mas meu foco agora é escolher a opção certa para o tempo limitado que tenho. E por que as maçãs e laranjas têm como objetivo ser um framework de desenvolvimento web?
iCode
3
Fazer com que um site real rodando rapidamente não será um problema com Rails. Faça um favor a si mesmo: passe uma semana trabalhando neste tutorial antes de decidir que ele prejudicará seu tempo de entrada no mercado. O único risco é que você aprenda alguma coisa! A razão de serem "maçãs e laranjas" é que funcionam de forma diferente, rodam em plataformas diferentes, etc. Eles têm arquitetura MVC em comum, e há claramente muita influência - principalmente em uma direção - mas eles são muito mundos diferentes. Pode ser uma diferença que amplia a mente.
Craig Stuntz
Otimo obrigado. Eu vou fazer isso. Você poderia ainda comentar o que se pode obter com Rails que está disponível em .MVC de uma perspectiva prática, visto que você usou ambos?
iCode
6

Não sou um RoR dev aqui, mas eu faço Django e acho que a mesma pergunta poderia ser feita para Django também. O que mais gosto do Django em vez da ASP.NET MVC é que o Django já vem com o ORM. O que significa que quase todos os exemplos de código que você encontrar na web seguirão um padrão semelhante. Com a ASP.NET MVC, você pode escolher entre vários ORMs diferentes, o que pode ser bom, mas também pode causar confusão.

Assim como @Craig disse, na verdade é maçãs vs laranjas. Eu escolheria o ASP.NET MVC se fosse necessário implantá-lo em uma pilha MS e usar o Django para projetos "pessoais" ou projetos que exigissem que ele fosse implantado no Linux.

Al W
fonte
3
Nunca usei Django antes. Eu sou um cara Rails e .NET MVC. Quase todos os tutoriais do .NET MVC que vi presumem que você está usando o Entity Framework e que a documentação e os tutoriais no site ASP.NET são muito bons. Para incluir EF em um projeto MVC, você simplesmente digita um comando no console do gerenciador de pacotes NuGet - exatamente como obter uma gema com Rails, exceto que você está obtendo uma referência de assembly .net. IMHO .NET MVC com EF e Code First junto com AppHarbor para implantação são o mais próximo que você pode chegar de um ambiente Rails.
PhillipKregg
6

Você menciona em sua resposta a Craig Stuntz que deseja a 'opção certa pelo tempo limitado que você tem'

Vá com mvc3 e concentre-se em aprender exatamente isso, em vez de uma nova linguagem e estrutura ao mesmo tempo. RoR é ótimo, mas é uma nova linguagem, estrutura e IDE ao mesmo tempo e é provável que você não acerte na primeira vez. Eu não fiz.

Existem alguns tutoriais realmente bons no site asp.net que o colocarão em funcionamento muito rapidamente

Careca
fonte
2
Esse tem sido o meu pensamento também, mas ouvi pessoas falando sobre como é fácil fazer coisas em RoR, mesmo para iniciantes, mas estou me perguntando se isso é para um site da web hello world ou um site de produção do mundo real. Eu sei que minha pergunta é complicada, mas algo me diz que RoR é uma nova linguagem, estrutura e IDE ao mesmo tempo como você mencionou e não pode ser tão rápido de fazer um produto de produção com .MVC, mas eu queria saber o que é .net experiências da comunidade com isso? Eu quero saber principalmente, além da diversão, qual é o sentido de escolher RoR em vez de .MVC3? Obrigado
iCode