Review - Rails Space

Posted by Daniel Lopes on 14/11/2008

Eu pessoalmente, acho que livros ( em conjunto com screencasts) são a melhor forma e aprender coisas e novas. A parte boa dos livros técnicos é já começar do jeito certo com quem já tem alguma experiência. E como se manter atualizado e sempre estudando é obrigação de qualquer profissional que queira prestar um trabalho razoável, resolvi fazer este post.

O objetivo deste post e dos posts futuros que vou criar na mesma seção será criar um pequeno review de cada livro que eu terminar de ler, compartilhando o meu ponto de vista sobre cada um. Ler é importante mas não pode ser qualquer coisa….

Rails Space

Vou começar pelo Rails Space que foi o último que acabei de ler por completo.

Rails Space segunda edição foi publicado em outubro de 2007, então já de cara percebemos que não será 100% atual com o Rails 2.1 … mas este é um problema comum para a maioria dos livros de Rails. Como o framework está sempre em constante desenvolvimento é díficil sair um livro atualizado, mas especificamente neste livro os autores escrevem o código de forma que a incompatibilidade com o Rails atual será mínima ( se essa é a sua dúvida sobre comprar ou não, então compre )

O livro foi escrito por Michael Hartl e Aurelius Prochazka, ambos Ph.D’s em física pela Caltech. O foco do livro é interessante, mostrar passo a passo o desenvolvimento de um sistema em Rails. Uma rede social vai sendo desenvolvida bem do básico, passando arquitetura rest, test com Test::Unit, Ajax e até o último capítulo onde é ensinado como colocar o sistema em produção.

O livro é bem interessante, e ao contrário que é possível imaginar, a linguagem usada por ambos os escritores é bem simples e a didática é muito boa.

Apesar de no geral o livro ser bom, no meu ponto de vista o livro peca em vários pontos. Quando ouvi falar dele a primeira coisa que pensei foi “Vou compra-lo para aprender truques e segredos com experts e em aplicativos reais.”, mas é exatamente aí que mora o problema… esse não é objetivo do livro, ele é básico de mais ( mesmo que você seja um pouco avançado em Rails pode ser que consiga aprender algo ) e o objetivo dele não é construir um aplicativo real e sim aprender Rails codificando algo. Por este motivo acho que o livro já errou no nome, deveria ser algo como “Rails Space, Aprendendo rails”.

E por ser um livro focado para quem está iniciando ele adota várias posturas que não são ideais para um projeto real, como por codificar o login do zero. O autor passa quase a metado do livro explicando como criar um sistema de login, mas na prática o que quase todo desenvolvedor Rails faz é usar um plugin para isso ( normalmente o restful_authentication ). Apesar de passar a metade do livro explicando o login o autor não chega em um resultado final com a qualidade e segurança do restful_authentication.

E ainda seguindo nesta mesma linha o autor também não utiliza nenhum plugin para upload e escreve tudo do zero, novamente nem se comparando aos plugins attachment_fu e paperclip. Resumindo, livro perde muito tempo reescrevendo a roda em coisas que já temos soluções praticamente convencionadas no Rails através de plugin.

Para fechar os pontos negativos, o autor não usa Capistrano e o capítulo de deploy não tem 20 páginas. Na época ainda não existia o passenger mas ele poderia ter explicado melhor como configura mais de uma instância Mongrel ( dúvido muito que uma rede social consiga rodar bem em apenas uma ) e como automatizar deploy com Capistrano, além de configurar algumas outras coisas.

O livro aborda até bem como implementar algo em rest ( que ainda não era o default no rails) e também como trabalhar com ajax. Explica muito bem ActiveRecord dando exemplos práticos, principalmente associações.

No resumo geral, se você está aprendendo Rails ele é um excelente livro, indico bastante mesmo se tratando de uma versão antiga do Rails. Mas se você não é tão básico no Rails e espera a construção de um aplicativo real e aprender algo com a experiência prática neste tipo de sistema então esqueça… você não é o público alvo deste livro.

Bem, espero ter compartilhado o meu ponto de vista sobre a leitura… no próximo post vou falar resumidamente de todos os outros livros que li neste ano.

blog comments powered by Disqus