Introducao ao Ruby On Rails

download Introducao ao Ruby On Rails

If you can't read please download the document

Transcript of Introducao ao Ruby On Rails

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

INTRODUO

O que Ruby on Rails?

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Ruby uma Linguagem de programao interpretada, com Tipagem;Dinmica e forte, orientada a objetos;

Possui vrias semelhanas com Perl, Python e SmallTalk;

Foi criada pelo japons Yukihiro Matsumoto (Matz);

Possui vastos repositrio de bibliotecas;

O Ruby Gems a ferramenta utilizada para instalao de bibliotecas.

Sintaxe enxuta, quase no havendo necessidade de colchetes e outros caracteres;

Todas as variveis so objetos, onde at os "tipos primitivos" (tais como inteiro, real, entre outros) so classes;

Disponvel para Linux, Mac e Windows.

O que Ruby on Rails?

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Ruby on Rails um framework composto por vrias bibliotecas, juntas, essas bibliotecas fornecem um arsenal completo para a construo de aplicaes web. Voc pode usar o Rails para construir qualquer tipo de aplicao web. O principal objetivo aumentar velocidade e facilidade no desenvolvimento de sites orientados a banco de dados (database-driven web sites), uma vez que possvel criar aplicaes com base em estruturas pr-definidas. Frequentemente referenciado como Rails ou RoR, o Ruby on Rails um projeto de cdigo aberto escrito na linguagem de programao Ruby. As aplicaes criadas utilizando o framework Rails so desenvolvidas com base no padro de projeto MVC (model-view-controller).

Ruby Gems

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

RubyGems o sistema de empacotamento para o Ruby. RubyGems est para o Ruby como o Apt est para o Debian/Ubuntu.Sendo um sistema de gerenciamento de pacotes, o RubyGems distribui de forma fcil e padronizada bibliotecas e programas em Ruby.

Para saber quais gems voc tem instalado, use o comando:gem list

DRY e Coding by convention

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Don't Repeat Yourself (no se repita), termo utilizado na engenharia de software quando buscamos a no repetio de aes de forma desnecessria. o conceito por trs da tcnica de definir nomes, propriedades e cdigos em somente um lugar e reaproveitar essas informaes em outros.

Coding by convention (codificar por conveno) um paradigma de desenvolvimento de software que busca diminuir o nmero de decises que um desenvolvedor precisa fazer, ganhando em simplicidade, porm sem perder em flexibilidade.

MVC no Rails

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

ControleModeloVisualizao

1

2

3

4

MVC no Rails

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

O MVC (model-view-controller) pode ser entendido como uma diviso de tarefas em um aplicativo. View a pgina HTML gerada, e o cdigo que responsvel por gerar os dados dinmicos para o HTML o Controller. E, por fim, o Model a camada de comunicao com os dados armazenados, sejam eles em um banco de dados ou arquivos XML.

O internauta deseja buscar uma informao e clica no boto de busca;

A informao enviada ao controller que a recebe e envia ao model;

O model trata e busca a informao no banco de dados;

O model retorna o dado ao controler que o processo e envia ao view;

A visualizao gera o HTML enviado ao navegador.

ControleModeloVisualizao

1

2

3

4

Estrutura de pastas

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

app/ nesta pasta est todo o seus arquivos MVC. nesta pasta que est seu sistema;

config/ arquivos de configurao do projeto e de acesso ao banco de dados escolhido;

db/ contm o esquema e as migraes que permitem manipular os objetos do banco de dados;

doc/ - aps utilizar o comando rake doc:app , ento ser gerada toda a documentao da sua aplicao;

lib/ - bibliotecas de terceiros ou cdigo que no pode ficar na estrutura MVC, por exemplo: gerador de PDF;

log/ - arquivos de log de erros. Engloba erros de desenvolvimento, teste, produo e servidor;

Estrutura de pastas

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

public/ diretrio onde ficam os arquivos estticos da aplicao, como pginas de erro (404.html), imagens, javascripts e estilos CSS;

script/ local onde ficam os utilitrios do framework. Aqui ficam os scripts utilizados para gerao de cdigo (generate) e de execuo do servidor web (server).

test/ armazena os testes funcionais, testes de integrao, correes e simulaes;

tmp/ - arquivos temporrios gerados durante a execuo da aplicao;

vendor/ - este diretrio armazena os plugins de terceiros.

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

POR QUE RUBY ON RAILS?

Por que Ruby On Rails?

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

multi-plataforma

Ruby orientado a objetos

Suporta real ao MVC

Grande repositrio de plugins

Curva de aprendizado curta

Desenvolvido para Web

Open source

Flexibilidade

Permite desenvolvimento rpido

Possui ORM integrado suportando facilmente qualquer banco de dados

Focado em resultados

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

PROJETOS

projetos open source utilizando Ruby on Rails

Aplicaes open source desenvolvidas com Rails

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Gerenciamento de Projetos e Gesto do Tempo Retrospectiva - http://retrospectiva.org

Redmine - http://www.redmine.org

Tracks - http://www.getontracks.org

Clocking IT - http://www.clockingit.com

RailsCollab - http://jamesu.github.com/railscollab/Gestores de Contedo (inclui Blog)

Radiant CMS - http://radiantcms.org

Rubricks - http://rubricks.org

Mephisto - http://www.mephistoblog.com/

Typo - http://blog.typosphere.org/

Aplicaes open source desenvolvidas com Rails

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

CRM e ERP Fat Free CRM - http://fatfreecrm.com/

XLSuite - http://xlsuite.org/Comrcio Eletrnico

Spree - http://spreecommerce.com/

EcomPages - http://www.ecompages.com/Redes Sociais

OpenMind - http://openmind.sourceforge.net

Insoshi - http://github.com/insoshi/insoshi

Community Engine - http://www.communityengine.org/

Veja mais em: http://www.opensourcerails.com/

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

SITES

sites construdos com
Ruby on Rails

Sites desenvolvidos com Rails

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Twitter - http://www.twitter.com

Shopify - http://www.shopify.com

Lighthouse - http://lighthouseapp.com

Odeo - http://www.odeo.com

Flagr - http://www.flagr.com

Git-Hub - http://www.github.com

Sites BRASILEIROS desenvolvidos com Rails

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Brasigo - http://brasigo.com.br

BlogBlogs - http://blogblogs.com.br

Ikwa - http://www.ikwa.com.br

O Curioso - http://www.ocurioso.com

RubyOnda.com - http://rubyonda.com

orangotag.com - http://orangotag.com

diHITT - http://www.dihitt.com.br

GoZub - http://gozub.com

MooURL - http://moourl.com

Listas de discusso, fruns e outros

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Lista - rails-br http://groups.google.com/group/rails-br

Frum RubyOnBr - http://forum.rubyonbr.org

Frum Ruby Forum - http://www.ruby-forum.com/

Frum - Rails Forum - http://railsforum.com/

Lista Ruby on Rails: Talk - http://groups.google.com.br/group/rubyonrails-talk

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

PREPARANDO O
AMBIENTE DE DESENVOLVIMENTO

Instalando o Ruby on Rails no Ubuntu 8.04 LTS

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Instalando o Ruby

sudo aptitude install ruby build-essential libopenssl-ruby ruby1.8-dev Verificando a verso do Ruby que foi instalada

ruby -v Dever aparecer uma mensagem como esta:

ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] Testando as bibliotecas instaladas (dever aparecer Ola)

ruby -ropenssl -rzlib -rreadline -e "puts :Ola" Instalando Ruby Gems

sudo apt-get install rubygems Instalando o Railssudo gem install rails

Ambientes de desenvolvimento

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

RadRails Extenso do Aptana Studio;

Prov auto-completao de cdigo HTML, CSS e Javascript;

Fcil acesso a execuo de utilitrios;

Possui uma shell integrada no necessitando sair da ferramenta;

Permite o debug das aplicaes;

Navegao visual por mdulos e classes;

Necessita do Java (JRE) para funcionar.

gEdit Editor padro do Gnome;

Possui suporte a plugins;

Leve e robusto;

Necessita de plugins para facilitar o desenvolvimento de aplicaes Rails;

Possui shell (atravs de plugin);

Possui auto-completao (atravs de plugin);

No necessita do Java (JRE) instalado.

Instalando e utilizando o RadRails

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Faa download no site www.radrails.org

Descompacte o arquivo

Copie para sua pasta Home

Instale o Java Runtime Environment (JRE)

sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts Execute o arquivo AptanaRadRails dentro do diretrio Aptana RadRails em seu Home

Para comear um novo projeto clique no menu File -> New -> Rails Project

Configurando o gEdit

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Habilita os plugins do gEdit

$ sudo apt-get install gedit-plugins2. Instalando o git$ apt-get install git-core3. Baixa e configura o gMate que uma srie
de plugins que melhoram o gEdit para Rails$ git clone git://github.com/lexrupy/gmate.git4. Executa a instalao do gMate:$ cd gmate$ sh install.sh5. Execute o gEdit e entre em Editar > Preferncias > Plug-ins e ative os componentes

Fontes

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Ruby (linguagem de programao) - http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programa%C3%A7%C3%A3o)

Ruby on Rails - http://pt.wikipedia.org/wiki/Ruby_on_Rails

Entendendo o RubyGems - http://akitaonrails.com/2009/2/2/entendendo-rubygems

Ruby Gems Manual - http://docs.rubygems.org/

Don't repeat yourself - http://en.wikipedia.org/wiki/Don%27t_repeat_yourself

Convention over configuration - http://en.wikipedia.org/wiki/Convention_over_configuration

MVC Model View Controller Architecture: New Wine in an Old Bottle - http://www.ils.unc.edu/~uskala/MVC.htm

MVC - http://pt.wikipedia.org/wiki/MVC

MVC (Model View Controller) - http://codeigniterbrasil.com/passos-iniciais/mvc-model-view-controller/

Entendo a estrutura de diretrios do Rails - http://www.fabiotomio.com.br/blog/2009/01/17/entendo-a-estrutura-de-diretorios-do-rails/

Why Rails? - http://blog.foraker.com/2009/06/why-rails/

Why not Rails? - http://jayant7k.blogspot.com/2007/10/why-not-rails.html

15 free open source Ruby on Rails application - http://www.dreamcss.com/2009/07/ruby-on-rails-applications.html

23 amazing and open source Ruby on Rails application - http://www.coolcreation.co.uk/website-design-blog/23-amazing-and-open-source-ruby-on-rails-applications/

Brazilian Rails Websites - http://www.akitaonrails.com/2008/7/27/brazilian-rails-websites

Ruby on Rails Directory Structure - http://www.tutorialspoint.com/ruby-on-rails/rails-directory-structure.htm

RubyOnRails on Ubuntu - https://help.ubuntu.com/community/RubyOnRails

Installing Ruby On Rails Debian/Ubuntu - http://wiki.rubyonrails.org/getting-started/installation/linux

Ambiente de Desenvolvimento Rails: Gedit + Gmate - http://infoblogs.com.br/view.action?contentId=183928&Ambiente-de-Desenvolvimento-Rails-Gedit-+-Gmate.html

Aptana RadRails - http://www.radrails.org/

Gedit - http://en.wikipedia.org/wiki/Gedit

How to install Java Runtime Environment (JRE) in Ubuntu - http://www.ubuntugeek.com/how-to-install-java-runtime-environment-jre-in-ubuntu.html

Comeando com Ruby on Rails 2 por Andr Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

Muokkaa otsikon tekstimuotoa napsauttamalla

Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso