Introducao ao Ruby On Rails

10.245 visualizações

Publicada em

Introdução ao Ruby on Rails. O que é e quais são suas principais características. Também explico como preparar um ambiente de desenvolvimento no Ubuntu, incluindo a configuração do gEdit e a instalação do Aptana RadRails.

Publicada em: Tecnologia
2 comentários
16 gostaram
Estatísticas
Notas
  • Excelent!
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Andre, excelente apresentacao e otimo conteúdo! Parabéns e obrigado.
    Alexandre.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
Sem downloads
Visualizações
Visualizações totais
10.245
No SlideShare
0
A partir de incorporações
0
Número de incorporações
332
Ações
Compartilhamentos
0
Downloads
315
Comentários
2
Gostaram
16
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introducao ao Ruby On Rails

  1. 1. Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro
  2. 2. Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro INTRODUÇÃO
  3. 3. O que é Ruby on Rails? Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul><li>Ruby é uma Linguagem de programação interpretada, com Tipagem;Dinâmica e forte, orientada a objetos;
  4. 4. Possui várias semelhanças com Perl, Python e SmallTalk;
  5. 5. Foi criada pelo japonês Yukihiro Matsumoto ( Matz );
  6. 6. Possui vastos repositório de bibliotecas;
  7. 7. O Ruby Gems é a ferramenta utilizada para instalação de bibliotecas.
  8. 8. Sintaxe enxuta, quase não havendo necessidade de colchetes e outros caracteres;
  9. 9. Todas as variáveis são objetos, onde até os &quot;tipos primitivos&quot; (tais como inteiro, real, entre outros) são classes;
  10. 10. Disponível para Linux , Mac e Windows. </li></ul>
  11. 11. O que é Ruby on Rails? Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul>Ruby on Rails é um framework composto por várias bibliotecas, juntas, essas bibliotecas fornecem um arsenal completo para a construção de aplicações web. Você pode usar o Rails para construir qualquer tipo de aplicação web. O principal objetivo é aumentar velocidade e facilidade no desenvolvimento de sites orientados a banco de dados ( database-driven web sites ), uma vez que é possível criar aplicações com base em estruturas pré-definidas. Frequentemente referenciado como Rails ou RoR , o Ruby on Rails é um projeto de código aberto escrito na linguagem de programação Ruby . As aplicações criadas utilizando o framework Rails são desenvolvidas com base no padrão de projeto MVC ( model-view-controller ). </ul>
  12. 12. Ruby Gems Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul>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 fácil e padronizada bibliotecas e programas em Ruby. <li>Para saber quais gems você tem instalado, use o comando:
  13. 13. gem list </li></ul>
  14. 14. DRY e Coding by convention Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul>Don't Repeat Yourself (não se repita), termo utilizado na engenharia de software quando buscamos a não repetição de ações de forma “desnecessária”. É o conceito por trás da técnica de definir nomes, propriedades e códigos em somente um lugar e reaproveitar essas informações em outros. Coding by convention (codificar por convenção) é um paradigma de desenvolvimento de software que busca diminuir o número de decisões que um desenvolvedor precisa fazer, ganhando em simplicidade, porém sem perder em flexibilidade. </ul>
  15. 15. MVC no Rails Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro Controle Modelo Visualização 1 2 3 4
  16. 16. MVC no Rails Começando 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 divisão de tarefas em um aplicativo. View é a página HTML gerada, e o código que responsável por gerar os dados dinâmicos para o HTML é o Controller . E, por fim, o Model é a camada de comunicação com os dados armazenados, sejam eles em um banco de dados ou arquivos XML. <ul><li>O internauta deseja buscar uma informação e clica no botão de busca;
  17. 17. A informação é enviada ao controller que a recebe e envia ao model ;
  18. 18. O model trata e busca a informação no banco de dados;
  19. 19. O model retorna o dado ao controler que o processo e envia ao view ;
  20. 20. A visualização gera o HTML enviado ao navegador. </li></ul>Controle Modelo Visualização 1 2 3 4
  21. 21. Estrutura de pastas Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul><li>app/ – nesta pasta está todo o seus arquivos MVC. É nesta pasta que está seu sistema;
  22. 22. config/ – arquivos de configuração do projeto e de acesso ao banco de dados escolhido;
  23. 23. db/ – contém o esquema e as migrações que permitem manipular os objetos do banco de dados;
  24. 24. doc/ - após utilizar o comando rake doc:app , então será gerada toda a documentação da sua aplicação;
  25. 25. lib/ - bibliotecas de terceiros ou código que não pode ficar na estrutura MVC , por exemplo: gerador de PDF;
  26. 26. log/ - arquivos de log de erros. Engloba erros de desenvolvimento, teste, produção e servidor; </li></ul>
  27. 27. Estrutura de pastas Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul><li>public/ – diretório onde ficam os arquivos estáticos da aplicação, como páginas de erro (404.html), imagens, javascripts e estilos CSS;
  28. 28. script/ – local onde ficam os utilitários do framework. Aqui ficam os scripts utilizados para geração de código ( generate ) e de execução do servidor web ( server ).
  29. 29. test/ – armazena os testes funcionais, testes de integração, correções e simulações;
  30. 30. tmp/ - arquivos temporários gerados durante a execução da aplicação;
  31. 31. vendor/ - este diretório armazena os plugins de terceiros. </li></ul>
  32. 32. Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro POR QUE RUBY ON RAILS?
  33. 33. Por que Ruby On Rails? Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul><li>É multi-plataforma
  34. 34. Ruby é orientado a objetos
  35. 35. Suporta “real” ao MVC
  36. 36. Grande repositório de plugins
  37. 37. Curva de aprendizado é curta
  38. 38. Desenvolvido para Web
  39. 39. Open source
  40. 40. Flexibilidade
  41. 41. Permite desenvolvimento rápido
  42. 42. Possui ORM integrado suportando facilmente qualquer banco de dados
  43. 43. Focado em resultados </li></ul>
  44. 44. Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro PROJETOS projetos open source utilizando Ruby on Rails
  45. 45. Aplicações open source desenvolvidas com Rails Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul>Gerenciamento de Projetos e Gestão do Tempo <li>Retrospectiva - http://retrospectiva.org
  46. 46. Redmine - http://www.redmine.org
  47. 47. Tracks - http://www.getontracks.org
  48. 48. Clocking IT - http://www.clockingit.com
  49. 49. RailsCollab - http://jamesu.github.com/railscollab/
  50. 50. Gestores de Conteúdo (inclui Blog)
  51. 51. Radiant CMS - http://radiantcms.org
  52. 52. Rubricks - http://rubricks.org
  53. 53. Mephisto - http://www.mephistoblog.com/
  54. 54. Typo - http://blog.typosphere.org/ </li></ul>
  55. 55. Aplicações open source desenvolvidas com Rails Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul>CRM e ERP <li>Fat Free CRM - http://fatfreecrm.com/
  56. 56. XLSuite - http://xlsuite.org/
  57. 57. Comércio Eletrônico
  58. 58. Spree - http://spreecommerce.com/
  59. 59. EcomPages - http://www.ecompages.com/
  60. 60. Redes Sociais
  61. 61. OpenMind - http://openmind.sourceforge.net
  62. 62. Insoshi - http://github.com/insoshi/insoshi
  63. 63. Community Engine - http://www.communityengine.org/
  64. 64. Veja mais em: http://www.opensourcerails.com/ </li></ul>
  65. 65. Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro SITES sites construídos com Ruby on Rails
  66. 66. Sites desenvolvidos com Rails Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul><li>Twitter - http://www.twitter.com
  67. 67. Shopify - http://www.shopify.com
  68. 68. Lighthouse - http://lighthouseapp.com
  69. 69. Odeo - http://www.odeo.com
  70. 70. Flagr - http://www.flagr.com
  71. 71. Git-Hub - http://www.github.com </li></ul>
  72. 72. Sites BRASILEIROS desenvolvidos com Rails Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul><li>Brasigo - http://brasigo.com.br
  73. 73. BlogBlogs - http://blogblogs.com.br
  74. 74. Ikwa - http://www.ikwa.com.br
  75. 75. O Curioso - http://www.ocurioso.com
  76. 76. RubyOnda.com - http://rubyonda.com
  77. 77. orangotag.com - http://orangotag.com
  78. 78. diHITT - http://www.dihitt.com.br
  79. 79. GoZub - http://gozub.com
  80. 80. MooURL - http://moourl.com </li></ul>
  81. 81. Listas de discussão, fóruns e outros Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul><li>Lista - rails-br http://groups.google.com/group/rails-br
  82. 82. Fórum – RubyOnBr - http://forum.rubyonbr.org
  83. 83. Fórum – Ruby Forum - http://www.ruby-forum.com/
  84. 84. Fórum - Rails Forum - http://railsforum.com/
  85. 85. Lista – Ruby on Rails: Talk - http://groups.google.com.br/group/rubyonrails-talk </li></ul>
  86. 86. Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro PREPARANDO O AMBIENTE DE DESENVOLVIMENTO
  87. 87. Instalando o Ruby on Rails no Ubuntu 8.04 LTS Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul><li>Instalando o Ruby </li></ul>sudo aptitude install ruby build-essential libopenssl-ruby ruby1.8-dev <ul><li>Verificando a versão do Ruby que foi instalada </li></ul>ruby -v <ul><li>Deverá aparecer uma mensagem como esta: </li></ul>ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] <ul><li>Testando as bibliotecas instaladas (deverá aparecer Ola) </li></ul>ruby -ropenssl -rzlib -rreadline -e &quot;puts :Ola&quot; <ul><li>Instalando Ruby Gems </li></ul>sudo apt-get install rubygems Instalando o Rails sudo gem install rails
  88. 88. Ambientes de desenvolvimento Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro RadRails <ul><li>Extensão do Aptana Studio ;
  89. 89. Provê auto-completação de código HTML, CSS e Javascript;
  90. 90. Fácil acesso a execução de utilitários;
  91. 91. Possui uma shell integrada não necessitando sair da ferramenta;
  92. 92. Permite o debug das aplicações;
  93. 93. Navegação visual por módulos e classes;
  94. 94. Necessita do Java ( JRE ) para funcionar. </li></ul>gEdit <ul><li>Editor padrão do Gnome ;
  95. 95. Possui suporte a plugins ;
  96. 96. Leve e robusto;
  97. 97. Necessita de plugins para facilitar o desenvolvimento de aplicações Rails;
  98. 98. Possui shell (através de plugin);
  99. 99. Possui auto-completação (através de plugin);
  100. 100. Não necessita do Java ( JRE ) instalado. </li></ul>
  101. 101. Instalando e utilizando o RadRails Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul><li>Faça download no site www.radrails.org
  102. 102. Descompacte o arquivo
  103. 103. Copie para sua pasta Home
  104. 104. Instale o Java Runtime Environment (JRE) </li></ul>sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts <ul><li>Execute o arquivo AptanaRadRails dentro do diretório Aptana RadRails em seu Home
  105. 105. Para começar um novo projeto clique no menu File -> New -> Rails Project </li></ul>
  106. 106. Configurando o gEdit Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul><li>Habilita os plugins do gEdit </li></ul>$ sudo apt-get install gedit-plugins 2. Instalando o git $ apt-get install git-core 3. Baixa e configura o gMate que é uma série de plugins que melhoram o gEdit para Rails $ git clone git://github.com/lexrupy/gmate.git 4. Executa a instalação do gMate : $ cd gmate $ sh install.sh 5. Execute o gEdit e entre em Editar > Preferências > Plug-ins e ative os componentes
  107. 107. Fontes Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro <ul><li>Ruby (linguagem de programação) - http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programa%C3%A7%C3%A3o)
  108. 108. Ruby on Rails - http://pt.wikipedia.org/wiki/Ruby_on_Rails
  109. 109. Entendendo o RubyGems - http://akitaonrails.com/2009/2/2/entendendo-rubygems
  110. 110. Ruby Gems Manual - http://docs.rubygems.org/
  111. 111. Don't repeat yourself - http://en.wikipedia.org/wiki/Don%27t_repeat_yourself
  112. 112. Convention over configuration - http://en.wikipedia.org/wiki/Convention_over_configuration
  113. 113. MVC – Model – View – Controller Architecture: New Wine in an Old Bottle - http://www.ils.unc.edu/~uskala/MVC.htm
  114. 114. MVC - http://pt.wikipedia.org/wiki/MVC
  115. 115. MVC (Model – View – Controller) - http://codeigniterbrasil.com/passos-iniciais/mvc-model-view-controller/
  116. 116. Entendo a estrutura de diretórios do Rails - http://www.fabiotomio.com.br/blog/2009/01/17/entendo-a-estrutura-de-diretorios-do-rails/
  117. 117. Why Rails? - http://blog.foraker.com/2009/06/why-rails/
  118. 118. Why not Rails? - http://jayant7k.blogspot.com/2007/10/why-not-rails.html
  119. 119. 15 free open source Ruby on Rails application - http://www.dreamcss.com/2009/07/ruby-on-rails-applications.html
  120. 120. 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/
  121. 121. Brazilian Rails Websites - http://www.akitaonrails.com/2008/7/27/brazilian-rails-websites
  122. 122. Ruby on Rails Directory Structure - http://www.tutorialspoint.com/ruby-on-rails/rails-directory-structure.htm
  123. 123. RubyOnRails on Ubuntu - https://help.ubuntu.com/community/RubyOnRails
  124. 124. Installing Ruby On Rails Debian/Ubuntu - http://wiki.rubyonrails.org/getting-started/installation/linux
  125. 125. Ambiente de Desenvolvimento Rails: Gedit + Gmate - http://infoblogs.com.br/view.action?contentId=183928&Ambiente-de-Desenvolvimento-Rails-Gedit-+-Gmate.html
  126. 126. Aptana – RadRails - http://www.radrails.org/
  127. 127. Gedit - http://en.wikipedia.org/wiki/Gedit
  128. 128. How to install Java Runtime Environment (JRE) in Ubuntu - http://www.ubuntugeek.com/how-to-install-java-runtime-environment-jre-in-ubuntu.html </li></ul>
  129. 129. Começando com Ruby on Rails 2 por André Ferraro - http://andreferraro.wordpress.com - http://twitter.com/andreferraro

×