/ 10.May.2008 at 02:36pm
Muita gente me pergunta sobre isso:
“Akita, comprei o livro X, mas ele não é de Rails 2, eu consigo aprender com esse livro? Os exemplos vão funcionar?”
Vamos lá: se eu não estou enganado, tirando o livro do Obie Fernandez, nenhum outro livro cobre tudo do Rails 2 até agora (o do Dave Thomas ainda está em beta). Portanto, o que fazer? Esperar para comprar quando sair um livro novo?
Não. Você pode aprender a maior parte do Rails com qualquer um dos livros. O meu livro Repensando a Web com Rails (aliás, fiquei sabendo que eles estão com um estoque novo para pronta entrega, então aproveitem) e os outros ou começam na versão 1.1 ou 1.2. Na introdução do livro eles devem especificar exatamente qual é (pode ser 1.2 ou 1.2.6 por exemplo). O problema é que rodar um exemplo feito para Rails 1.1 pode falhar no Rails 2.0 por causa de pequenas modificações entre elas.
O comando que todos dizem para instalar Rails (depois de ter instalado Ruby) é este:
gem install rails
ou
gem install rails --include-dependencies
Na versão mais nova do RubyGems não precisa mais dessa opção—include-dependencies. Mas uma coisa que poucos livros explicam é que você pode ter RubyGems de múltiplas versões na mesma máquina! Ou seja, você pode ter Rails 1.1 ou Rails 2.0 rodando em paralelo.
Para isso faça o seguinte:
gem install rails --version 1.1
Com isso você conseguirá instalar versões anteriores de Rails. Mas não é só isso. O segundo comando que todos os livros colocam para iniciar um projeto em Rails (aquele que já cria todos os diretórios, etc) é assim:
rails meu_projeto
O problema é que o comando “rails” vai usar o Rails mais atual na sua máquina. Para rodar esse comando explicitamente dizendo qual versão usar, faça assim:
rails _1.1_ meu_projeto
E pronto, agora dentro desse diretório “meu_projeto”, todos os outros comandos como ‘rake’, ou ‘script/generate’ vão usar a versão que você especificou. Note inclusive que isso vale também para outras gems como o Capistrano. Você pode fazer assim:
cap _1.0_ deploy
Dessa forma você ainda pode fazer deployment usando uma receita antiga da versão 1.0 (que não é totalmente compatível com a 2.x).
Ou seja, sim, compre os livros que existem atualmente. Não fique aguardando porque senão você estará perdendo tempo. Nenhum livro é suficiente para aprender tudo. Todos os livros são bons para que se tenha pelo menos o “grosso”, mas depois disso é sua responsabilidade de evoluir sozinho. Por exemplo, o livro do Obie vai ficar parte obsoleto em breve porque o Rails 2.1 está para sair e isso trará coisas que obviamente o livro dele não cobre. O novo do Dave Thomas provavelmente vai cobrir 2.1, mas até ele sair nós já estaremos vendo coisas novas da 2.2 ou mesmo 3.0!
Portanto, não espere! Quem cruza os braços e usa isso como ‘desculpa’ para ainda não começar está perdendo tempo. Compre qualquer um dos livros e entenda que o assunto não acaba nesses livros, tem muito mais!
3 Comments
Akita, perguntei isso em outro tópico mas tive resposta. Ouvi dizer que você iria lançar uma edição nova do seu livro, mais atualizada e tal… é vero? Se sim, quando sai mais ou menos?
raul souza lima / 10.May.2008 at 06:38pm
Aí vai uma lista com livros que cobrem Rails 2:
The Art of Rails – http://www.amazon.com/gp/product/0470189487
Simply Rails 2 – http://www.amazon.com/Simply-Rails-2-Patrick-Lenz/dp/0980455200
Practical REST on Rails 2 Projects – http://www.amazon.com/Practical-REST-Rails-Projects/dp/1590599942/
lucas húngaro / 11.May.2008 at 10:38pm
Akita, estou comessando agora a aprender rails, notei uma grande diferença em algumas coisas do rails 1.x para o rails 2, como o scaffold, mudou muito, tentei fazer alguns exemplos ultilizando o rails 2 mas não é a mesma coisa.
Esse tipo de coisa aparentemente não dá para seguir desses livros mais antigos, você sugere um umpouco mais atual?
santiago / 15.May.2008 at 11:12am
Leave a Comment