Skip to main content

Ricardo Maekawa - Revista W - Ruby On Rails

Page 1

rubi.qxp

8/9/2006

18:14

Page 66

programação

frameworks Por: Ricardo Maekawa

Ruby on Rails NO SITE Onde Encontrar Seção Programação

Entenda os motivos que fazem do framework da 37signals um marco na história do desenvolvimento web

Requisitos mínimos Windows/Linux/Macintosh Limitação Nenhuma

grande vantagem do framework Ruby on Rails é que sua concepção é centrada no programador. Quer dizer, o Rails seguiu à risca a filosofia da linguagem que possui como base: o Ruby. Assim como o famoso User-centered Design, o Ruby se vende como uma espécie de Programmer-centered Language. E isso é intensificado especialmente no desenvolvimento web com o Framework Rails. Rails também é centrado no programador. Todo framework tem o propósito de facilitar o acesso e o uso de funções para execução de determinadas tarefas do dia-a-dia. O pensamento mais óbvio

A

44 Revista W

é que se framework é um facilitador do cotidiano do programador, ele sempre será centrado no programador. A diferença do Ruby on Rails, porém, é que enquanto normalmente os frameworks são direcionados para determinados tipos de utilização, seja a construção de webservices ou a agregação de efeitos visuais, o Rails é focado na “felicidade” do programador. “Em vez de passar horas montando um arquivo XML chatíssimo para informar

que a tabela pessoas se refere a classe Pessoa, o Ruby permite que sejam feitas deduções, que acabam por economizar tempo”, explica Juracy Costa, 21, programador que esteve envolvido em projetos internacionais com o Rails e dá aulas da linguagem via internet. “Com isso, diminui o trabalho ‘chato’ e sobra tempo para o programador fazer o que mais gosta: programar”, conclui. O Ruby é uma linguagem 100%


rubi.qxp

8/9/2006

18:14

Page 67

orientada a objetos, inventada pelo japonês Yukihiro “Matz” Matsumoto en.wikipedia.org/wiki/ (e Yukihiro_Matsumoto). Para Costa, trata-se de “uma linguagem bem diferente das ditas normais, como Java, C#, VB.NET e outras coisas que o mercado atual adora, que adota conceitos bastante interessantes e uma orientação a objetos invejável”.

Linguagem Ruby Para entender o Rails, é preciso entender o Ruby; para entender Ruby, a melhor maneira é entender a mente de Matz, o arquiteto da linguagem. Matz começou a trabalhar nela em fevereiro de 1993 e fez o lançamento público em 1995. A filosofia de Matz foi de fato a de seguir os princípios do design centrado no usuário em favor do programador. Ele enfatizava que o design de sistemas deveria atender as

O Basecamp foi desenvolvido pela mesma empresa que criou o Rails

necessidades humanas, antes de atender as necessidades das máquinas. O criador da linguagem explica que “freqüentemente, especialmente os

engenheiros da computação, focam-se nas máquinas. Eles pensam que fazendo isso, a máquina vai rodar mais rápido, vai ser mais efetiva, que vai ser mais isso e mais aquilo”. Mas, para Matz, o fato é que nós precisamos focar os humanos, em como os humanos se sentem quando programam ou operam uma aplicação em uma máquina. “Nós somos os mestres e eles são os escravos.” Outra diretriz que o Ruby segue é o Principle of Least Surprise/ Princípio das poucas surpresas (POLS), que prega que as linguagens devem ser intuitivas assim como o programador assume que elas são. Mas Ruby segue mesmo é o princípio Matz’s Least Surprise/ Poucas Surpresas de Matz. “Todo mundo tem um background individual. Alguns podem vir do Python, outros do Pearl e eles podem se surpreender com os diferentes aspectos das linguagens. Então eles costumam dizer que estão surpresos com determinadas características da linguagem.” Assim, nesse ponto, o Ruby viola o princípio da pouca surpresa. Mas Matz diz que “o princípio da pouca surpresa não é apenas para você. Ele vale inclusive para quem cria a linguagem. E isso significa que o princípio da pouca surpresa só começa a valer depois que você aprende Ruby muito bem”.

Ruby on Rails Ruby on Rails é norteado por princípios que incluem o DRY (Don´t repeat yourself/ não repita a si mesmo) e convention over

O Campfire provê uma série de salas de bate-papo em Ajax para negócios

configuration/ convenção sem configuração. DRY significa que definições devem ser feitas apenas uma única vez durante a aplicação. Convenção sobre configuração é o princípio de que o senso humano deve ser atendido antes da máquina. Por exemplo, se o modelo possui uma classe chamada Post, a tabela correspondente no banco de dados será posts. Se a tabela precisar receber um nome diferente (blogposts, por exemplo), basta informar manualmente ao Framework pelo comando set_table_name “blogposts”. Assim, usando as convenções do Rails para desenvolver uma aplicação, a quantidade de códigos é reduzida. O Rails é um framework para desenvolvimento ágil de aplicações web que fazem uso de banco de dados, de acordo com o padrão Model-View-Control. Da ampla utilização dos recursos do Ajax no View, passando pelo refinado tratamento de requisições e respostas da camada Controller, até as regras de negócio e acesso ao banco-de-dados envolvidos pela camada Model, o Rails é capaz de entregar um ambiente de desenvolvimento puramente Ruby. O sistema é completamente impregnado pelo espírito das aplicações Web 2.0. Para começar a brincar, tudo o que você precisa é de um banco de dados e um webserver. “Vimos nascer um ótimo framework para WebServices e um suporte fantástico a Ajax, no qual é possível fazer aplicações Web 2.0 quase sem

Revista W 45


8/9/2006

18:14

Page 68

programação

rubi.qxp

plataforma Rails. Há também o www.43things.com), que 43things (w apresenta uma nuvem taxonômica com etiquetas sobre o tema “o que pretendo fazer”, enviando lembretes www.odeo.com), por e-mail e o Odeo (w central de podcasts em que você pode ouvir, baixar ou publicar um podcast, entre outros. O projeto 43things apresenta uma nuvem taxonômica com etiquetas

necessidade de se escrever JavaScript”, diz Juracy Costa. O sistema acabou por se tornar opção para o desenvolvimento de projetos pessoais de programadores, como Daniel Dias (laboratorio.us), 23. “Minha primeira experiência com o RoR foi em junho de 2005, desde então ele está na minha lista de alternativas para projetos / experimentos pessoais”, relembra. Atualmente, Daniel mantém um projeto chamado Ridiculous (rridiculous.rubyforge.org), que se trata de um objeto simples de acesso a API do del.icio.us, desenvolvido em Ruby. “Venho lendo um pouco sobre o desenvolvimento de plugins para o RoR e esta me parece uma boa forma de colaborar com o projeto”, finaliza. Mas o RoR não fica apenas nos projetos experimentais. Startups, organizações sem fins lucrativos e até grandes corporações estão usando Rails. A ferramenta tem influência na infra-estrutura necessária para os projetos e isso permite que o Rails suporte todo tipo de aplicação web. Seja o software destinado para colaboração via rede, comércio eletrônico, gerenciamento de conteúdo, estatística ou gerenciamento. Entre os sites que usam Rails estão www.basecamphq.com), o Basecamp (w uma ferramenta para gestão de projetos desenvolvida pela 37signals, mesma empresa que criou o Rails e o www.campfirenow.com), que Campfire (w provê uma série de salas de bate-papo para negócios. Esse software explora os limites do Ajax na

46 Revista W

Começando Há dois caminhos que podem ser seguidos quando se pretende fazer um deploy do Ruby on Rails. Um deles é instalar o ambiente de maneira artesanal. Você terá de instalar o Ruby, cuja versão recomendada é a 1.8.2. Há um instalador para o Windows no site da Revista W. Depois você vai ter que instalar as RubyGems, um pacote de gerenciamento do Ruby que vem por padrão na linguagem. É similar a outros gerenciadores de arquivos. Então, com as RubyGems rodando, finalmente

Agora você está rodando Ruby on Rails! Digite http://0.0.0.0:3000 no seu navegador e siga as instruções que aparecem. Mas você não precisa passar por essas etapas se não estiver disposto. O Rails disponibiliza uma série de pacotes de instalação do ambiente, ao estilo da série Wamp/Mamp e EasyPHP. Com um único arquivo executável, todo o ambiente é automaticamente colocado de pé: o servidor, o banco de dados, o Ruby, e o Rails. Para quem usa Macintosh; a saída é o Locomotive (llocomotive.sourceforge.net). Para quem vai de Windows, a melhor opção é o pacote pronto Instant Rails (iinstantrails.rubyforge.org). O Rails conta ainda com a possibilidade de incorporar plug-ins em seu manto de funções. Esses plug-ins dão a você a possibilidade de contar com algumas mágicas prontas para enfrentar determinados tipos de problema que podem aparecer.

Big In Japan

O Odeo é uma central em que você pode ouvir, baixar ou publicar podcasts

você instala o Rails por meio da seguinte linha de comando: gem install rails -includedependencies

Agora, é só fazer sua primeira aplicação. Crie o esqueleto da sua aplicação e inicialize o servidor. rails path /to/your/new/application cd path/to/yout/new/application ruby script/server

www.biggu.com) é O Big In Japan (w um conjunto de utilitários para blogs concebido por uma dupla de VCs americanos (Alexander Muse e Brian Brian Oberkirch) como uma coleção de ferramentas Web 2.0 para bloggers. O projeto foi coordenado pelo brasileiro Rodrigo Franco, que já havia feito alguns projetos para a Weblogswork www.weblogswork.com). (w

Requisitos O Rails trabalha com servidores e bancos de dados comprovadamente aprovados pelo mercado. Para web Server, a equipe da 37sinals recomenda o servidor Apache (httpd.apache.org) ou o ligthttpd (www.lighttpd.net), rodando FastCGI, SCGI ou o sistema Mongrel (mongrel.rubyforge.org). Como banco de dados, você pode usar MySql, PostgreeSQL, SQLite, Oracle, SQL Server, DB2 ou Firebird.


Turn static files into dynamic content formats.

Create a flipbook
Ricardo Maekawa - Revista W - Ruby On Rails by Ricardo Maeka - Issuu