Ruby and Rails
Linguagem de
Programação
Framework ou
Meta Framework
de desenvolvimento
Ruby and Rails
Ruby = É uma Linguagem de Programação dinâmica, open source com foco na
simplicidade e na produtividade. Tem uma sintaxe elegante de leitura natural e
fácil escrita. É interpretada, com tipagem Dinâmica, Forte e totalmente
Orientada a Objetos.
O seu criador, Yukihiro “Matz” Matsumoto, uniu partes das suas linguagens
favoritas (Perl, Smalltalk, Eiffel, Ada, Python e Lisp) para formar uma nova
linguagem que equilibra a programação funcional com a programação
imperativa.
5.times { print "Nós *amamos* o Ruby -- ele é fantástico!" }
Ruby and Rails
Criador do Ruby: Yukihiro “Matz” Matsumoto
Ruby and Rails
Influências por Linguagem

Linguagem Prática (Perl)

Orientação a Objetos (Smalltalk)

Metaprogramação (Smalltalk)

Sintaxe (Smalltalk, Eiffel e Ada)

Tratamento de Exceções(java e Python ++)
s = "texto"
s.length => 5
s.class => String
1.next => 2
1.class => Fixnum
x = nil
x.class => NilClass
1.73.to_i => 1
1.73.class => Float
Conversão de Tipos
Todos os Tipos Primitivos Possuem
Conversão para Outros Tipos
Tudo é um Objeto
Até o Nulo (Nil) é um Objeto
Pura Orientação a Objetos
Linguagem Dinâmica
Não Declaramos Tipos de Variáreis
Ruby and Rails
Ruby and Rails
Como começar a programar em Ruby
O interpretador interativo é irb no Terminal(caso esteja utilizando Linux ou Mac) ou
Cmd(Se está utilizando o Windows). Para começar uma sessão, digite:
Terminal
irb
Ruby Online:
http://tryruby.org
Ruby and Rails
Ruby and Rails
Ruby and Rails
O que é RubyGems?
RubyGems é o sistema de empacotamento para o Ruby.
RubyGems está para o Ruby como o Apt-get 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.
Para saber quais gems você tem instalado, use o comando:
gem list
Ruby and Rails
Gerenciador de dependências Bundler
Assegura quais versões são necessárias para sua aplicação, bem
como resolução de dependência entre elas.
http://bundler.io/
gem install bundler rails
bundler install
Ruby and Rails
O framework Ruby on Rails
Ruby on Rails é um framework livre (meta-framework) que promete 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 arquitetura MVC (Model-View-Controller).
História
Ruby on Rails foi uma extração de David Heinemeier Hansson de um projeto seu, o
gerenciador de projetos Basecamp. Foi lançado a público pela primeira vez em 2003.
Foi lançado oficialmente 2004.
Criador do Ruby on Rails: David Heinemeier Hansson - DHH
Ruby and Rails
Criando um aplicação Rails
Ruby and Rails
Ruby and Rails
DRY e Convention over configuration
Dont Repeat Yourselff (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.
Convention over configuration (Conversão em vez de configuração):
Na maioria dos casos, usamos convenções no dia-a-dia da programação, em geral para
facilitar o entendimento e manutenção por parte de outros desenvolvedores. Sabendo disso,
e sabendo que o tempo gasto para configurar XML em alguns frameworks de outras
linguagens é extremamente alto, decidiu-se adotar esse conceito.
Ele diz basicamente que deve-se assumir valores padrão onde existe uma convenção. Se o
desenvolvedor quiser, pode-se sobrescrever essa convenção com o valor necessário. Por
exemplo, uma classe User pode ter seus dados armazenados na tabela Customer. Seguindo
a convenção, seria na tabela Users. Com isso, o tempo de desenvolvimento cai ainda mais.
Criando um aplicação Rails
Ruby and Rails
Ruby and Rails
Ruby and Rails
Por que deveria aprender Rails
O Ruby on Rails é o framework número das StartUps.
Foco no negócio 90% e desenvolvimento 10%
Rápida resposta a mudanças no negócio
Rails é por padrão RESTful (REpresentational State Transfer)
Baixa curva de aprendizagem
Ruby and Rails
Pastas importantes
App → controllers, models, views
Config
Db
Public
Test
Vendor
Ruby and Rails
Quem usa?
Ruby and Rails
Deployment
Ruby and Rails
Heroku create
Git push heroku master
Deployment
Ruby and Rails
IDE (Integrated Development Environment ou Ambiente de Desenvolvimento Integrado)
Ruby and Rails
IDE (Integrated Development Environment ou Ambiente de Desenvolvimento Integrado)
Ruby and Rails
IDE (Integrated Development Environment ou Ambiente de Desenvolvimento Integrado)
Ruby and Rails
Qualidade de Código
Ruby and Rails
Intregração Continua (Continuous Integration) CI
Ruby and Rails
A influência do Ecossistema Ruby e Rails
Ruby and Rails
Site: http://gilcierweb.com.br/
Github: https://github.com/gilcierweb
Projeto Open Source: https://github.com/gilcierweb/CMS-Rails
Ruby on Rails Nordeste
Phoenix Framework Brasil
Elixir Brasil
Laravel Brasil
Instalando Ruby e Rails no Ubuntu
https://gorails.com/setup/ubuntu/14.04
Referências:
https://www.ruby-lang.org/pt/
http://ruby-doc.org/core-2.3.0/
http://guides.rubyonrails.org/
https://www.caelum.com.br/apostila-ruby-on-rails/
http://tryruby.org
https://www.heroku.com/
https://codeclimate.com/
https://travis-ci.org/

Ruby and Rails

  • 1.
    Ruby and Rails Linguagemde Programação Framework ou Meta Framework de desenvolvimento
  • 2.
    Ruby and Rails Ruby= É uma Linguagem de Programação dinâmica, open source com foco na simplicidade e na produtividade. Tem uma sintaxe elegante de leitura natural e fácil escrita. É interpretada, com tipagem Dinâmica, Forte e totalmente Orientada a Objetos. O seu criador, Yukihiro “Matz” Matsumoto, uniu partes das suas linguagens favoritas (Perl, Smalltalk, Eiffel, Ada, Python e Lisp) para formar uma nova linguagem que equilibra a programação funcional com a programação imperativa. 5.times { print "Nós *amamos* o Ruby -- ele é fantástico!" }
  • 3.
    Ruby and Rails Criadordo Ruby: Yukihiro “Matz” Matsumoto
  • 4.
    Ruby and Rails Influênciaspor Linguagem  Linguagem Prática (Perl)  Orientação a Objetos (Smalltalk)  Metaprogramação (Smalltalk)  Sintaxe (Smalltalk, Eiffel e Ada)  Tratamento de Exceções(java e Python ++)
  • 5.
    s = "texto" s.length=> 5 s.class => String 1.next => 2 1.class => Fixnum x = nil x.class => NilClass 1.73.to_i => 1 1.73.class => Float Conversão de Tipos Todos os Tipos Primitivos Possuem Conversão para Outros Tipos Tudo é um Objeto Até o Nulo (Nil) é um Objeto Pura Orientação a Objetos Linguagem Dinâmica Não Declaramos Tipos de Variáreis Ruby and Rails
  • 6.
    Ruby and Rails Comocomeçar a programar em Ruby O interpretador interativo é irb no Terminal(caso esteja utilizando Linux ou Mac) ou Cmd(Se está utilizando o Windows). Para começar uma sessão, digite: Terminal irb Ruby Online: http://tryruby.org
  • 7.
  • 8.
  • 9.
    Ruby and Rails Oque é RubyGems? RubyGems é o sistema de empacotamento para o Ruby. RubyGems está para o Ruby como o Apt-get 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. Para saber quais gems você tem instalado, use o comando: gem list
  • 10.
    Ruby and Rails Gerenciadorde dependências Bundler Assegura quais versões são necessárias para sua aplicação, bem como resolução de dependência entre elas. http://bundler.io/ gem install bundler rails bundler install
  • 11.
    Ruby and Rails Oframework Ruby on Rails Ruby on Rails é um framework livre (meta-framework) que promete 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 arquitetura MVC (Model-View-Controller). História Ruby on Rails foi uma extração de David Heinemeier Hansson de um projeto seu, o gerenciador de projetos Basecamp. Foi lançado a público pela primeira vez em 2003. Foi lançado oficialmente 2004.
  • 12.
    Criador do Rubyon Rails: David Heinemeier Hansson - DHH Ruby and Rails
  • 13.
    Criando um aplicaçãoRails Ruby and Rails
  • 14.
    Ruby and Rails DRYe Convention over configuration Dont Repeat Yourselff (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. Convention over configuration (Conversão em vez de configuração): Na maioria dos casos, usamos convenções no dia-a-dia da programação, em geral para facilitar o entendimento e manutenção por parte de outros desenvolvedores. Sabendo disso, e sabendo que o tempo gasto para configurar XML em alguns frameworks de outras linguagens é extremamente alto, decidiu-se adotar esse conceito. Ele diz basicamente que deve-se assumir valores padrão onde existe uma convenção. Se o desenvolvedor quiser, pode-se sobrescrever essa convenção com o valor necessário. Por exemplo, uma classe User pode ter seus dados armazenados na tabela Customer. Seguindo a convenção, seria na tabela Users. Com isso, o tempo de desenvolvimento cai ainda mais.
  • 15.
    Criando um aplicaçãoRails Ruby and Rails
  • 16.
  • 17.
    Ruby and Rails Porque deveria aprender Rails O Ruby on Rails é o framework número das StartUps. Foco no negócio 90% e desenvolvimento 10% Rápida resposta a mudanças no negócio Rails é por padrão RESTful (REpresentational State Transfer) Baixa curva de aprendizagem
  • 18.
    Ruby and Rails Pastasimportantes App → controllers, models, views Config Db Public Test Vendor
  • 19.
  • 20.
  • 21.
    Ruby and Rails Herokucreate Git push heroku master Deployment
  • 22.
    Ruby and Rails IDE(Integrated Development Environment ou Ambiente de Desenvolvimento Integrado)
  • 23.
    Ruby and Rails IDE(Integrated Development Environment ou Ambiente de Desenvolvimento Integrado)
  • 24.
    Ruby and Rails IDE(Integrated Development Environment ou Ambiente de Desenvolvimento Integrado)
  • 25.
  • 26.
    Ruby and Rails IntregraçãoContinua (Continuous Integration) CI
  • 27.
    Ruby and Rails Ainfluência do Ecossistema Ruby e Rails
  • 28.
    Ruby and Rails Site:http://gilcierweb.com.br/ Github: https://github.com/gilcierweb Projeto Open Source: https://github.com/gilcierweb/CMS-Rails Ruby on Rails Nordeste Phoenix Framework Brasil Elixir Brasil Laravel Brasil Instalando Ruby e Rails no Ubuntu https://gorails.com/setup/ubuntu/14.04 Referências: https://www.ruby-lang.org/pt/ http://ruby-doc.org/core-2.3.0/ http://guides.rubyonrails.org/ https://www.caelum.com.br/apostila-ruby-on-rails/ http://tryruby.org https://www.heroku.com/ https://codeclimate.com/ https://travis-ci.org/