quinta-feira, 11 de outubro de 2012

Ruby on Rails e JRuby



Parece que o desenvolvimento com Ruby on Rails ainda está em passos lentos no Brasil (e em passos largos lá fora), se comparado com Java e outras linguagens, se concentrando especialmente em algumas regiões como São Paulo. Julguei tal proporção pelo site http://ondetrabalhar.com/ e conversas com colegas da área.

Desde que comecei a investigar o assunto, fui cativado pela maturidade, organização e versatilidade tanto da linguagem Ruby quanto do framework Rails, especialmente a partir do Rails 3. Como sou um grande defensor da inovação tecnológica, quero ajudar essa tecnologia a se difundir mais por essas terras, ainda que seja uma pequena fagulha em uma grande floresta. E sei que já há muitas outras fagulhas e até fogueiras por aí, inclusive excelentes literaturas em português sobre o assunto.



Ótimo! Delongas bastantes para um primeiro post sobre Ruby on Rails!! Vamos aos meandros da coisa! 8)


O site railsinstaller.org foi como uma luva para instalar Ruby e Rails. Lá é possível encontrar procedimentos de instalação para Mac OS X, Linux e inclusive para o sistema da Microsoft (como dizia um professor meu que se negava a citar o nome).


Enfim, sem desculpas para não começar a brincar com Ruby on Rails hoje ainda!! Ou amanhã, tudo bem!  :o)

Falando em brincar, dei uma olhada na internet e achei o railstutorial.org. Tutorial com uma didática excelente e abrangendo não somente o Ruby on Rails, mas diversos recursos adicionais (gems) tradicionalmente utilizados em aplicações web. Coloquei minha implementação no GitHub.

Dando uma palhinha, além de Ruby on Rails, utilizei Rspec, Capybara, Cucumber, FactoryGirlBootstrap, CSS, Sass, jQuery, além de outras gems, tudo versionado no Git (parte bem interessante para quem sempre trabalhou com SVN, CVS ou simplesmente nunca utilizou versionamento).



Concluído o tutorial e tendo acumulado um amplo e excelente aprendizado, comecei a estudar mais sobre JRuby, implementação da linguagem Ruby em Java. Só contextualizando, o JRuby surgiu de uma ideia de combinar uma linguagem extremamente inovadora, atraente para desenvolvedores, porém ainda não tão madura em termos de infraestrutura e ambientes de produção, com uma linguagem não tão atraente e mais prescritiva, porém que possui uma plataforma de execução extremamente madura: Ruby e Java. Resultou no JRuby.
Para rodar com JRuby a minha implementação do tutorial, foram necessários alguns pequenos ajustes:

Primeiramente o comando jruby parecia não estar automaticamente disponível na linha de comando como tinha acontecido quando instalei o ruby, mas na verdade descobri que os executáveis estavam na pasta .rvm/bin a partir da minha pasta pessoal, porém com um nome bem extenso: jruby-1.7.0.preview2. Fiz uma cópia com o nome jruby e tudo ficou 100%. Fiz a mesma coisa com o jirb (IRB do JRuby).


Aí fui finalmente testar a execução da minha aplicação. No diretório raiz da aplicação, em vez de

   rails server  

executei

    jruby -S rails server   

Não funcionou de primeira. Isso porque o JRuby utiliza JDBC para acesso a banco de dados, logo, foram necessários alguns ajustes, dentre os quais um foi editar o Gemfile do meu projeto Rails substituindo a gem:

    gem 'sqlite3'   

por duas outras

    gem 'jdbc-sqlite3'   
    gem 'activerecord-jdbcsqlite3-adapter'   

Arquivo Gemfile salvo! Como um último ajuste, foi necessário alterar o atributo adapter do config/database.yml para adapter: jdbcsqlite3 e aí só executei novamente o comando jruby -S bundle install e o jruby -S rails server e tudo rodou redondo! Bom demais!

Com ou sem JRuby, o servidor executa a aplicação deixando-a disponível no seu navegador a partir do link http://localhost:3000.


Teste você mesmo!! É muito gratificante! :o)

É isso! Até a próxima!


Um comentário:

  1. Poderia ter detalhado um pouco mais Daniel a utilização em si do jruby e porque usa-lo! Mas desde já grato pelo post. Excelente o blog.

    ResponderExcluir