Ruby on Rails

September 26th, 2004 § 7 comments

Há uns dois meses, eu estava procurando uma aplicação Wiki simples que eu pudesse rodar localmente e usar como um repositório de idéias, textos em produção, resenhas e material de interesse geral. Eu tinha alguns requerimentos, dois dos quais seriam o suporte ao Markdown e rodar sem a necessidade de um banco de dados. Embora eu tenha completo suporte de desenvolvimento às ferramentas que uso em minha máquina em casa, eu queria alguma coisa mais simples que fosse fácil de configurar e onde backups fossem uma questão de copiar arquivos.

Depois de um busca rápida, eu achei o Instiki. Em alguns minutos, eu percebi que ele era exatamente o que eu estava precisando. Eu baixei a aplicação, rodei o arquivo principal, abri a página principal do navegador e comecei a escrever. E ele suporte Markdown, entre outros tipos de formatação de texto. O Instiki é escrito em Ruby e vem com um servidor Web embutido. Ele pode também ser usado sob o Apache com o suporte das diretivas ProxyPass e ProxyPassReverse. Em resumo, fantasticamente adequado às minhas necessidades.

Quando eu estava lendo sobre o Instiki, eu notei que ele era baseado em um framework para o Ruby chamado Rails. Naquela época, eu não prestei muita atenção a esse framework porque, exceto pelo Wiki, eu não tinha muito interesse em Ruby. Apesar disso, o Ruby continuou em meu radar por causa de alguns leitores e amigos blogueiros. Eu sabia que a linguagem era considerada poderosa e produtivo, muito como o Python e o Smalltalk, mas eu não a investiguei mais porque ela não parecia atrativa para minha, sintática ou semanticamente, apesar dos seus méritos aparentes. O Rails continuou em meu rada também, aparecendo aqui e ali em artigos e blogs.

Um mês depois mais ou menos, eu decidi olhar seriamente o Rails, depois de ver tantas pessoas recomendarem e baixei o vídeo introdutório. Eu devo confessar que o vídeo me deixou boquiaberto. Embora em já tivesse pesquisado, usado e mesmo desenvolvido muitos frameworks Web, o Rails me impressionou mais do que qualquer coisa que eu já vira.

O Rails é tanto um framework Web quanto um framework de persistência. É baseado no conceito de MVC e é o primeiro framework MVC que eu vi que esconde as complexidades de desenvolver desse modo para a Web. Mesmo programadores que nunca ouviram falar em MVC não teria problema algum em entender como o Rails funciona e como ele deve ser usado. Provavelmente mesmo programadores relativamente inexperientes seriam capazes de ser produtivos com ele, considerando o foco do mesmo, que é produzir a aplicação em si.

Ao contrário de frameworks como o WebSnap da Borland e o ASP.NET da Microsoft, ele não afoga o programador em pântano de arquivos de configuração, manutenção de estado e relacionamentos desnecessários e esotéricos entre partes da aplicação. O Rails permite que seu usuário se concentre somente da lógico do domínio do problema de uma maneira legível e compreensível. O usuário não é forçado a ver os detalhes internos do framework para evitar cometer erros.

Como ele é escrito em Ruby, é fácil de instalar e existe em múltiplas plataformas. Muitos provedores de hospedagem possuem versões atuais do Ruby instalado e o Rails pode rodar também sobre o módulo Apache para o Ruby ou sob FastCGI.

Um fato interessante sobre o Rais é o seu tamanho: ele possui pouco mais do que mil linhas de código, um tamanho mínimo para algo que faz tanto. De fato, ele esconde tão bem a complexidade do desenvolvimento que o Basecamp, um gerenciador de projetos bem poderoso escrito nele (na verdade, o Rails foi desenvolvido para o Basecamp) gastou apenas quatro mil linhas de código (não incluindo o Rails) e foi desenvolvido por um único programador em dois meses.

Como você pode ver, eu estou completamente impressionado com o Rails. Eu vou usá-lo agora em uma aplicação que comecei a desenvolver umas semanas atrás, eu estou certo que serei mais produtivo do que se estivesse usando PHP ou outra linguagem similar. Eu tenho que me acostumar com o Ruby, mas duvido que isso vá ser um problema.

Se você nunca ouviu sobre o Rails antes, veja o vídeo. Você só vai gastar dez minutos do seu tempo e conhecerá um framework que será uma adição excelente na próxima vez em que você precisar criar rapidamente um aplicação Web.

§ 7 Responses to Ruby on Rails"

  • caffo says:

    Ronaldo,

    Tenho usado o instiki como base para as minhas anotações e listas de apoio desde que comecei a tentar aplicar a metodologia GTD no meu fluxo de trabalho, e ele realmente detona. Já instalei o rails aqui, mas devido as correrias de trabalho ainda não brinquei com ele.

    Mostrei o videozinho ao pessoal do trabalho a algumas semanas, e todo mundo ficou maravilhado: o rails está na lista de futuros estudos de todo mundo aqui. Boa sorte com os teus estudos!

  • Joao Pedrosa says:

    Que bom que você está experimentando o Rails. Eu também quero usá-lo da melhor forma e na maior intensidade que conseguir. Também tenho um blog com uma forte tendência para Ruby:
    http://sinsalabintrix.blogspot.com/

  • Ronaldo says:

    Caffo, João–

    O Rails virou meu brinquedinho agora. Como eu disse, vou usar em um projeto que já está em andamento e acredito que vou ter bons resultados.

  • Olifante says:

    Também tive uma experiência semelhante: sou fã de Python e apesar dos elogios achava que Ruby era uma linguagem demasiado semelhante para merecer a pena aprender.

    No entanto, fiquei tão impressionado com o vídeo de demonstração do “Ruby on Rails” que decidi aprender Ruby, e estou deslumbrado. A consistência da orientação de Ruby é uma lufada de ar fresco depois de lutar com as limitações de Python, e embora a linguagem seja talvez mais complexa do que Python parece-me também mais poderosa.

    Li a bíblia do Ruby online, e gostei tanto que já encomendei o livro (http://pragmaticprogrammer.com/titles/ruby/) na Amazon…

  • Ronaldo says:

    Eu estou querendo comprar a segunda edição do livro também, mas achei um pouco caro. A versão PDF podia ser um pouco mais barata. :-) De qualquer forma, acho que vai valer a pena.

    O Ruby certamente me pareceu mais poderoso que o Python. O que mais me empolgou foi a filosofia por trás da linguagem. Poderosa, mas simples. Isso me lembra muito do Smalltalk. Pena que os métodos tenha tantos underscores no meio… :-)

  • Paulo Geyer says:

    uso ruby já faz algum tempo, conheci o rails alguns dias atrás (estou criando um blog pelo rails agora), inclusive achei o seu post enquanto procurava informações sobre wiki em rails =)

    a propósito, já estive aqui antes defendendo ruby: http://reflectivesurface.com/weblog-br/2004/08/19/programacao-estetica-e-religiao

  • Ronaldo says:

    Opa! Eu lembro do seu comentário. Como você pode ver, mudei de opinião em certos aspectos. Ainda não gosto da sintaxe do Ruby, mas acho que não tenho muita opção. :-)

What's this?

You are currently reading Ruby on Rails at Superfície Reflexiva.

meta