Preparando meu Ambiente de Desenvolvimento Ruby no Linux Ubuntu

Esta decidido, vamos estudar Ruby! Motivo? Por essa Linguagem de Programação se mostrar cada vez mais promissora.

Tanto pela comunidade de apaixonados e ótimos Developers, Programmers ou o que preferirem intitular. Quanto pelo fato de Ruby, na sua essência, não se deixar cair na burocracia, verbosidade, Whatever dentre outras características chatas que encontramos em algumas linguagens, digamos, Não Tão Pragmáticas.

Sendo assim, antes de vislumbrarmos essa poderosa linguagem precisaremos preparar a nossa mesa de trabalho! Para logo após, iniciar as nossas atividades de: Expressar Modelos de Negócio, Expressões Matemáticas e todo Aparato Tecnológico que dispomos, em belos Algoritmos Computacionais escritos em Ruby.

Então vamos ao tema de hoje Preparando meu Ambiente de Desenvolvimento Ruby no Linux Ubuntu.

Cenário

Sistema Operacional: Ubuntu
Dependências: Zsh, Ruby, Git, SQLite, gEdit, Firefox

Problema

Acho que o único problema aqui será se você vier do mundinho Windows. Pois se já estiver acostumado com o mundo fértil e vasto do Tux ou da Maçã não teremos problema algum.

Isso acontece pois o Ruby foi concebido para funcionar plenamente sob uma plataforma Unix Like. Então um conhecimento básico de C e Unix Shell, são mais do que bem vindos.

Logo para usuários de Windows esse artigo pode causar um certo desconforto :-D Mas siga em frente, e quebre esse Paradigma.

Solução

Para darmos uma dinâmica nesse artigo, você poderá executar esse passo-a-passo agora mesmo. Sem precisar se preocupar em particionar seu querido HD. Utilizando a maravilhosa alternativa chamada Virtualização, assim deixo uma listagem de alguns Softwares que podemos adotar.

O processo de instalação desses softwares são bem simples, mas em caso de dúvida, nada como uma rápida consulta no respectivo manual para clarear nossas idéias.

Sistema Operacional

Como dito inicialmente utilizaremos Linux, sendo que a versão adotada nesse artigo será a Ubuntu 10.04, em sua versão Desktop.

Nosso primeiro passo será baixar a Imagem ISO no link abaixo.

Depois de alguns Cafés teremos baixada a Imagem ISO.

Agora efetuaremos a instalação padrão, sem se preocupar com detalhes de configurações adicionais. Isso não será necessário! E se você não esta acostumado a instalar uma Distribuição Linux, você ficará surpreso com o rápido e prático processo de configuração no Ubuntu.

Veja exemplo abaixo.

Finalizado o processo de instalação, inicie o Terminal do Ubuntu, para certificar que esta tudo em dia:

# Nele digite os comandos
sudo apt-get update
sudo apt-get upgrade

Agora sim mandaremos brasa

Agilidade nesse artigo. O tempo urge!

Algumas Dependências

No Terminal instalaremos alguns pacotes, precisos para a base, do nosso ambiente de desenvolvimento.

# Nele digite os comandos
sudo apt-get install build-essential zlib1g-dev libssl-dev libreadline5-dev checkinstall default-jdk curl

Shell

Se você vai programar no Linux aprenda a gostar do Terminal, ele será seu melhor amigo.

E alguns acessórios legais para o Terminal, são: o zsh para uma maior interatividade do que o clássico bash e o oh-my-zsh para gerenciar a configuração do zsh. Então vamos lá!

# Instalar o zsh
sudo apt-get install zsh zsh-dev

# Instalar o oh-my-zsh
cd ~ && wget http://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

Algumas dicas:

  • Digite zsh no Terminal para habilitar o Z Shell
  • Como utilizaremos Ruby em nosso ambiente, habilite o Plugin para essa linguagem, no arquivo ~./zshrc, de plugins=(git) para plugins=(git ruby)
  • Se a instalação gerar o diretório .git/ basta excluí-lo via comando rm -rf ~/.git/
Sistema de Controle de Versão

Se vamos programar em Ruby é bom saber que o SCM Git é o mais utilizado pela galera. E se você tiver alguma dúvida se vale a pena utilizá-lo, assista essa Tech Talk com o Linus Torvalds falando sobre o Git.

De toda forma daremos continuidade ao artigo. Agora vamos lá!

# Instalar o Git
sudo apt-get install git-core

# Instalar também uma interface gráfica para o Git
sudo apt-get install gitg

Algumas dicas:

  • GitG será interessante para navegar com mais facilidade pela arvore de histórico dos nossos commits
  • Como também alguns sites para aprender a utilizar esse SCM, como GitCasts, Git Ready, Pro Git e Git User’s Manual
  • são uma boa leitura

Banco de Dados SQL

Já fazem alguns meses que utilizo o SQL Database chamado SQLite que resumidamente:

É uma biblioteca em linguagem C que implementa um banco de dados SQL embutido.

Que tem como características:

É Software Livre/domínio público e Multiplataforma; É um mecanismo de armazenamento seguro com transações ACID; Implementa a maioria do SQL92; Permite guardar o banco de dados em um único arquivo; Suporta bases de dados acima de 2 terabytes.

Sem falar que empresas como Bloomberg, Symbian, Mozilla e Adobe patrocinam o desenvolvimento desse SQL Database.

De toda forma, vamos lá!

# Instalar o SQLite
sudo apt-get install sqlite3 libsqlite3-dev

# Instalar também uma interface gráfica para o SQLite
sudo apt-get install sqlitebrowser

Ruby

E que rufem os tambores… Senhoras e Senhores, com vocês, a maneira mais rápida de habilitar, nada mais nada menos do que: Ruby Enterprise Edition! Em nosso ambiente de desenvolvimento.

# Baixar o Ruby Enterprise Edition 1.8.7
cd ~ && wget http://rubyforge.org/frs/download.php/71100/ruby-enterprise_1.8.7-2010.02_i386_ubuntu10.04.deb

# Instalar o Ruby
sudo dpkg -i ruby-enterprise_1.8.7-2010.02_i386_ubuntu10.04.deb

# Adicionar um repositório secundário de RubyGems
gem sources -a http://gems.github.com

# E checar nossa instalação
ruby -v

Editor de Texto

E que IDE utilizaremos para editar o nosso código Ruby? A resposta é simples: Nenhuma!

Não precisamos de nenhum “trator” para codificar. Precisamos sim de um funcional editor de texto e o que gosto de utilizar no Linux é o gEdit.

Tudo bem. Eu sei. A galera no Linux gosta de usar o Vi ou Vim como editor de texto. Mas ainda não me acostumei com esse “tiozinho”. Então vamos de gEdit!

Para darmos um plus plus no gEdit, adicionaremos o Plugin chamado gMate que adiciona diversas melhorias ao gEdit, tornando-o um pouco semelhante ao aclamado Textmate do MacOSX.

E assim ganhamos funcionalidades tais como:

  • Advanced Bookmarks. Highlight, remenber and toggle bookmarks in your files
  • Classbrowser. A Classbrowser (depends of ctags, I use exuberant-ctags)
  • Find in Files. Find a string in files (integrated with filebrowser)
  • Gedit Open File. Regex based file open (like textmate Go to file…)
  • Gedit Todo. Find Todo Marks in source files (integrated with filebrowser)
  • Gemini. Pair complete for quotes and braces
  • Quickhighligthmode. Fast change current highlight mode
  • Rails Extract Partial. Extract selected region of rhtml as a partial
  • Rails Hotcommands. Execute Rails Commands (such rake tasks)
  • Rails Hotkeys. Navigation in Rails Project Files
  • Regex Search Replace. Search and replace with regular expressions
  • Smart Indent. Smart Indentation regex based
  • Tabulation. Auto set tabs and spaces based on file type
  • Text Tools. Some text manipulation improvements (adapted from line tools)
  • Trailsave. Remove trailing spaces before save a document
  • Word Completion. Word completion plugin
  • Gedit Go To File. Yet Another Go to File plugin Just Like SnapOpen and GeditOpenFiles also based in Textmate Go to file
  • Multi Edit. Check it out at author’s page http://jon-walsh.com/journal/multi-edit
  • Pastie. Paste a selection of code or a source file to pastie.org directly from editor http://github.com/ivyl/gedit-pastie
  • Zen Coding. Tools for faster HTML/CSS coding http://github.com/mikecrittenden/zen-coding-gedit

Vamos a instalação!

# Adicionar o Ubuntu on Rails PPA
sudo apt-add-repository ppa:ubuntu-on-rails/ppa

# Instalar o gMate
sudo apt-get install gedit-gmate

Agora vamos as dicas:

  • Após inicializar o gEdit vá no menu Editar > Preferências e configure o gEdit ao seu modo
  • Particularmente costumo habilitar todos os Plugins, utilizar o esquema de cor Ruby Blue e habilitar a numeração de linhas
Navegador Padrão

Tenho que dizer que não utilizo esse navegador somente no Linux, quando o foco é desenvolvimento. Utilizo ele também no MacOSX. E em último caso, quando (extremamente) preciso, no Windows também :-D .

Pois basicamente o Firefox é o melhor navegador para desenvolvimento de aplicações Web, na minha humilde opnião é claro, isso graças a diversos Plugins muito bem escritos, que dão um ótimo valor a esse navegador de Internet.

Assim a seguir deixo o link dos Plugins que utilizo:

  • Delicious Bookmarks, para manter os Favoritos em dia
  • Firebug, como uma excelente extensão do nosso editor de texto
  • Gears, como o HTML5 ainda não se tornou o padrão adotado pelos navegadores de Internet, esse rapaz chamado Gears do Google traz algumas funcionalidades de Cache, Database e Pool para o lado cliente da nossa aplicação Web. Que merece seu estudo a parte
  • JSONView, para visualizar estruturas JSON de forma mais adequada
  • Page Speed, para testar a performance da nossa aplicação
  • RESTClient, que é uma boa ferramenta para testar serviços REST
  • Selenium IDE, para criar testes nas Views
  • YSlow, para também testar a performance da nossa aplicação
Ferramentas Online

Antes de chegarmos ao final desse artigo. É bom comentar sobre algumas aplicações Web, que são úteis quando alguém do time esta a maior parte do tempo remoto (mas não necessariamente). Então vamos lá!

A parte do não necessariamente, se refere ao GitHub por ser um maravilhoso misto de Hospedagem de Projetos + Rede Social.

Hospedagem de Projetos pois muitas das RubyGems e Plugins e Whatever que a galera do Ruby utiliza, constam nesse local.

Rede Social pois além de estar na moda :-D Brincadeiras a parte, você poderá ter uma forma de contato direto com esses Developers que commitam no GitHub. E etc…

Material de Estudo

Não posso deixar vocês sem mais alguns Links, esses dessa vez, sobre material de estudo para Ruby.

E material de estudo para Rails. Pois se tornou normal para os Web Developers chegarem ao mundo Ruby, através desse excelente Framework Web.

Porém não fique somente no que o Rails propõem, pois Rails é basicamente a adoção do que existe de boas práticas em Web Development e Ruby.

:-)
Bom é isso caro leitor.

Quem escreveu foi o André Moreira.
Obrigado pela visita e até o próximo post.

Um comentário em “Preparando meu Ambiente de Desenvolvimento Ruby no Linux Ubuntu

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s