Notas sobre o NetBeans 6

Foi lançada a versão final do NetBeans 6, com a promessa de ser a melhor IDE de desenvolvimento para Ruby/Ruby on Rails. E, realmente, para uma IDE, ele parece estar no caminho certo. Apesar de um ou outro bug que aparecem de quando em quando (versão para linux, rodando no Ubuntu 7.10), o funcionamento está razoável. Quando se cria um projeto em RoR, a separação das áreas (Controllers, Models, Views, Helpers) está mais lógica que a separação de pastas padrão do Rails. O Code Completion, que tantos adoram, é bastante interessante, inclusive completando os atributos de um Model através dos campos existentes no banco de dados. Toda a ajuda referente a métodose classes do Code Completion parece ter sido retirada das APIs oficiais do Ruby on Rails e do Ruby.

O NetBeans também possui acesso direto aos comandos do /script/ e do rake através da sua interface, integração com CSV e Subversion, debugger (caso o Fast Debugger esteja instalado – o que pode ser feito através da própria IDE), controle de Plugins do RoR, dentre outras features.

Enfim, não fui muito a fundo, por enquanto, mas, para mim, um bom editor de textos, o shell do Linux e o railsapi.org em conjunto podem ser tão produtivos quanto o NetBeans, além de bem mais leves. Para quem gosta de IDEs, pode realmente valer a pena. Talvez, caso a pessoa utilize Windows (que tem um shell bem chatinho para se usar com o RoR), a experiência seja bem melhor.

Tags:

/** @todo Acionar o AdSense e começar a ganhar milhões com o blog **/

Finalmente, foi superado o trauma do primeiro post, ainda agravado por uma mudança de ferramenta. Ainda estou tentando descobrir duas coisas: primeiro, um bom e agradável layout; segundo, saber exatamente o que colocar nesta caixinha de texto.

(…)

E eu continuo minha saga com o famigerado ORM do Cakephp. Na maioria das vezes, é só um inconveniente. Algumas, é realmente irritante.

Precisei fazer uma busca em uma tabela utilizando um valor que deveria ser buscado a 4 relacionamentos de distância. Até aí, nada demais, penso eu. No Rails, eu poderia utilizar uma cascata de :include e :through, dependendo do caso. Então eu creio que, no Cake, eu possa fazer simplesmente:

$this->ModelName->recursive = 4;
$this->ModelName->find('ModelDistante.field = ' . $value);

Certo? Claro que não. Após alguns minutos revirando o código, eu resolvo mudar o log para exibir as queries executadas. Para minha surpresa, apenas a primeira recursividade é utilizada na primeira query. Após isto, o Cake vai iterando pelo resultado e resgatando os dados relacionados aos demais níveis da recursividade. Bizarro.
A solução é criar a query (utilizando o método Model::query()) na mão, o que é um tanto ilógico já que se opta a utilizar um ORM para não precisar fazer o trabalho duro.
Ainda bem que foi a primeira vez em mais de um mês no projeto. No mais, o Cake tem se mostrado um framework razoavelmente bom. Tem várias limitações, claro. Espero que em versões futuras mudem o ORM.

Primeira postagem… sobre o quê?

Qual o foco deste blog? Sei lá, talvez uma espécie de “meu querido diário…”. Ou quem sabe só uma ferramenta para descarregar o estresse escrevendo besteiras e xingando a mãe dos outros. Que seja.

(…)

Tive, finalmente, a felicidade de terminar o primeiro projeto usando o CakePHP. Conclusões? Se puder, use Rails (ou o Symphony, caso queira mesmo continuar com o PHP).
Não que o CakePHP seja de todo ruim… Só tem um longo caminho a evoluir, principalmente o ORM. Não sei quem teve a idéia de criar a recursividade ao se resgatar dados de tabelas relacionadas, só sei que foi bem infeliz. Muito melhor criar um XML com os dados das tabelas, como no Symphony.
Além disto, eles tentaram copiar a idéia dos partials do Rails, mas todos os partials devem ser salvos num diretório “views/elements”, o que deixa tudo um pouco confuso.
Sempre li que o Symphony é muito inchado de features, muitas delas desnecessárias. Pode ser, mas ainda assim é melhor, já que funciona como deveria.