Hoje tentei colocar no ar duas plataformas de e-commerce: OpenCart com PHP e Spree com Rails.
OpenCart coloquei em dois minutos para rodar em cima do meu host com apache. Já o Spree me tomou o dia inteiro e acabei desistindo. Então pensei: Não é possível. Algo está errado comigo pois o RoR é um dos frameworks mais famosos do mundo e reconhecidamente um dos mais simples de se utilizar. Então fui dar uma pesquisada no google e vi que o buraco atualmente está mais embaixo:
Resumindo:
-
Rails não é simples nem aqui nem na China. Só porque vc roda um “rails new mywebapp” e cria uma aplicação inicial do nada, não quer dizer que seja simples. Scaffolding é muito legal para brincar, mas na vida real serve para muito pouco.
-
Tente fazer qualquer coisa diferente do Rails Way e você vai ficar mais perdido que cego em tiroteio. A curva de aprendizado do Rails é GIGANTESCA.
-
A coisa ficou com tanta mágica e com tanta convenção que vc já não tem mais noção de como a coisa funciona. Coloca essas coisas aqui nesse arquivo .rb e pluff, funcionou. O porquê e o como melhor vc não tentar entender. (Me lembra muito o Hibernate)
-
Fazer deployment de uma aplicação RAILS é uma zona total. Nos últimos 6 meses esse processo já deve ter mudado umas 20 vezes. Existem dezenas de tutoriais diferentes e conflitantes espalhados pela web. Boa sorte para encontrar as informações que interessam no meio dessa zona. É apenas uma questão de executar uns 20 passos e rezar para que a coisa já não esteja obsoleta / desatualizada.
-
Ruby é uma linguagem fabulosa, mas ao mesmo tempo te permite criar código esotérico, cheio de meta-programação e black magic que vai assustar até os mais experientes, o que dirá os newbies. E o fato de ser dinâmica não colabora para robustês. Rafactory em Ruby sem um caminhão de teste unitário fica realmente muito difícil.
Minha conclusão:
-
Adoro Ruby, mas para descrever algoritmos e script. Para sistemas de back-end, onde robustês e maintainability são fundamentais, prefiro uma linguagem estática.
-
Se quer simplicidade, produtividade, leveza, pequena curva de aprendizagem, flexibilidade e prazer com altos níveis de abstração, na minha opinião suspeita só há dois frameworks web que vão te oferecer isso: Mentawai e Play. Django e CakePHP não conheço para incluir aqui, mas dizem que são muito bom tb…

Eu gosto da produtividade do Rails, da pra ter um ambiente bastante produtivo e com qualidade.