Quais são as desvantagens do RoR? [fechadas]

39

No momento, estou tentando decidir qual linguagem do lado do servidor aprender e usar para o desenvolvimento da Web, e embora seja relativamente fácil obter informações sobre por que x, y ou z é uma coisa boa, é mais difícil descobrir desvantagens para cada um deles.

Em particular, estou curioso sobre quais desvantagens existem para aprender e / ou usar Ruby on Rails em oposição a qualquer outra linguagem / framework.

    
por maxfielden 20.06.2011 / 18:27
fonte

10 respostas

58

Falando da experiência: A desvantagem é que você confia no framework Rails um pouco demais . Isso é ótimo e maravilhoso se você está apenas escrevendo aplicativos CRUD simples que se encaixam perfeitamente no ponto ideal do Rails; sua produtividade vai disparar. No entanto, no momento em que você tiver que fazer algo fora desse ponto ideal - interagir com um banco de dados existente, conversar com outro aplicativo que não tenha uma API JSON ou XML definida, implementar um fluxo de trabalho complicado, o Rails se tornará seu inimigo. É possível fazer essas coisas com o Rails, mas é "contra a corrente", então você está basicamente sozinho com a forma de fazer isso, já que a comunidade normalmente só responde com "Don não faça isso, não é a maneira Rails "- isso resulta em produtividade perdida ou código muito confuso como você basicamente tem que hackear o framework Rails.

Além disso, há a desvantagem não mencionada: tudo o mais parecerá feio e desajeitado. Depois de provar o doce e doce néctar de Rails (tudo bem, evangelizar só um pouquinho aqui ...) todo o resto é bom. Indo do Rails de volta ao PHP, ou ASP.NET WebForms, ou Java é como andar em uma cama de pregos depois de brincar em um jardim exuberante; você não verá as outras linguagens / frameworks da mesma forma, e enquanto você ainda pode apreciá-los, você secretamente anseia pelo abraço carinhoso de Rails.

    
por 20.06.2011 / 20:02
fonte
30

Para o seu primeiro idioma do lado do servidor, sinto que pode haver alguns problemas com o RoR:

  1. Você não está apenas aprendendo uma língua, você está aprendendo uma estrutura. Eu definitivamente levaria algum tempo para brincar com o velho rubi antes de saltar em trilhos.

  2. Como se trata de um framework, e um framework 'opinativo', eu sinto que isso daria a você um escopo muito limitado do que tudo está acontecendo no framework.

No geral, o Ruby on Rails pode ser um bom ponto de partida para dar o pontapé inicial, mas há muito o que aprender sobre o desenvolvimento da Web que você pode perder sendo muito dependente de um único framework.

    
por 20.06.2011 / 19:08
fonte
15

Eu tentei aprender o RoR várias vezes e meu maior problema é sempre tentar fazer com que os pacotes funcionem corretamente e a documentação. O problema com a documentação é que ela sempre parece estar desatualizada (ou muito básica). Eu adquiri o básico do local mas além disso tudo parecia tão antiquado (até mesmo o livro eu comprei e acabei retornando). Outra coisa que pode ser uma desvantagem são as dependências que algumas das bibliotecas têm e como elas podem entrar em conflito com outras como afirma Ben Coe .

Algo que eu pensei mais tarde e em vez de fazer um comentário, vou apenas editar a minha resposta é esta: RoR tem uma chance de arruinar Ruby para você. Eu sei que quando eu tentei isso me fez pensar que "Ruby era estúpida". Então, alguns meses depois, decidi dar uma chance a Ruby e adorei a linguagem, foi a estrutura que me fez odiar a linguagem. Eu não me interessei muito, mas quando o fiz, gostei muito do Sinatra . Eu acho que tenho a alegria que a maioria das pessoas tira do RoR de Sinatra.

    
por 20.06.2011 / 19:41
fonte
12

Se esta é sua primeira linguagem do lado do servidor, ela é tão boa quanto qualquer outra. A coisa a fazer é focar em um, e depois que você sentir que o dominou, explore os outros e deduza suas próprias conclusões.

Eu trabalho com RoR e ASP.NET diariamente, mas por incrível que pareça, eu prefiro o mundo ASP.NET, mas isso tem mais a ver com filosofia pessoal do que com a linguagem ou a própria arquitetura. (Sou um pouco maníaco por controle e gravito pessoalmente em idiomas strongmente tipados).

Independentemente disso, eu digo dar uma chance. O RoR é um ótimo ambiente para trabalhar, mas antes de você entrar no Rails, fique confortável com o Ruby como linguagem. Além do material da web, o Ruby é uma linguagem de script bem legal se você tiver que gerenciar uma caixa * nix e economizar uma boa quantidade de tempo.

    
por 20.06.2011 / 18:58
fonte
6

Como alguém que aprendeu Rails recentemente (como um hobby - nunca usou isso para desenvolvimento de classe comercial) e já havia trabalhado em JEE e ASP.NET, A resposta de Wayne M soou muito verdadeira.

De qualquer forma, há um lado sutil nisso que ninguém mencionou ainda, mas que me incomodou um pouco com Rails - a strong confiança em convenção sobre configuração .

Essencialmente, se você está acostumado com a orientação "Find In Files" com uma nova base de código, é provável que o CoC o incomode ao tentar pegar o Rails. É ótimo para greenfields CRUD simples que são feitos exatamente da maneira Rails (como Wayne M diz), mas para qualquer coisa mais original e complicada, será difícil descobrir o que está acontecendo se você tentar trabalhar o fluxo procurando por coisas em arquivos para ver como o encanamento está ligado.

Embora eu pense, este problema provavelmente não será tão ruim quando você tiver muito mais experiência com o Rails. Eu definitivamente posso ver isso como um problema para alguém vindo do desenvolvimento web oldskool Java / .NET que está acostumado a um fluxo de configuração muito detalhado - e está acostumado a confiar em ver tudo escrito em algum lugar.

    
por 20.06.2011 / 22:16
fonte
5

Comigo, o maior problema com o meu primeiro X (no seu caso, o X é uma linguagem / framework web do lado do servidor), é assim que eu vejo outros problemas, eu imediatamente quero começar a aplicar o X, mesmo quando pode não ser a melhor opção. Eu fiquei melhor nisso, mas ainda é uma strong tendência.

O Ruby on Rails é uma boa escolha para começar - há uma boa comunidade, muita documentação e bons tutoriais. Mas não se esqueça de manter as alternativas em mente, especialmente se você começar a fazer mais desenvolvimento web. RoR pode ser um exagero para alguns problemas, uma solução inadequada para outros e a melhor escolha para um conjunto diferente. Conheça seus pontos strongs e fracos e saiba como usar a ferramenta.

    
por 20.06.2011 / 19:09
fonte
4

Meu conselho seria ter uma visão clara do projeto que você deseja concluir e depois começar a tentar construí-lo. Enquanto você se depara com problemas, você acabará por pegar todas as ferramentas certas. Essa abordagem é boa porque você está tomando decisões baseadas em problemas sucintos.

Outra coisa a fazer é comprar livros. Tutoriais da Internet não se encaixam na minha experiência; eles também deixam muito espaço aberto para distração. Quando você tem um livro, os editores precisam garantir que ele agregue valor, já que perderão dinheiro se receber críticas ruins. Gastar um pouco de dinheiro poupará muito tempo.

    
por 20.06.2011 / 23:43
fonte
1

Eu sinceramente não consigo entender aqueles que escrevem poeticamente sobre o que é um passeio no jardim Ruby-on-Rails. Eu vim a ele como um experiente desenvolvedor de ASP.NET-MVC, Java, PHP, Python - e achei que era o mais horrível time-waster de todos os tempos! 90% das respostas on-line do google estão erradas ou incompletas. Por quê? Isso mudou muito a cada ano? Ou será que ninguém se importa em fazer código realmente funcionar? Demorei muito tempo para fazer coisas simples; muito, muito mais do que me levaria em C # / ASP.NET-MVC, por exemplo. Certamente nunca me levou nem perto desse tempo para aprender minhas tecnologias originais. ROR é conciso. Se isso é importante para você. Mas eu raramente descobri como criar código que realizaria uma tarefa. Pessoalmente, eu preferiria digitar em um teclado por 20 segundos para escrever código que definitivamente funciona, é claro e você pode segui-lo, em vez de digitar código Ruby por 2 segundos, mas que nunca funciona até eu ficar acordado a noite inteira procurando por algum maneira de realmente fazer o trabalho. É uma horrível e fedorenta pilha de dodô. Por quê? É que código aberto (como no livre), não produz incentivos para torná-lo uma ferramenta de qualidade? Muitos script-kids bombeando revisões e módulos e documentação ruim para ele? Eu não sei. Mas quando eu finalmente consegui escapar desse primeiro projeto do Ruby-Rails, eu jurei que nunca mais entraria nessa confusão!

    
por 23.11.2013 / 13:41
fonte
0

Concordo com algumas das respostas acima sobre o RoR. Tenho desenvolvido aplicativos com o RoR nos últimos dois anos. É realmente bom com aplicações simples, operações CRUD (criar, ler, atualizar e excluir) funciona muito bem, é um benefício para o desenvolvimento de aplicativos simples, mas também é suas limitações. Embora existam muitas gemas oferece várias vantagens e facilidade de uso, é basicamente isso. Sair da caixa fará com que todos os aplicativos sejam distorcidos.

Se você é um grande time trabalhando em um aplicativo usando RoR, a delegação de trabalho pode ser difícil de se safar.

    
por 21.06.2011 / 09:56
fonte