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!" }
4. 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 ++)
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
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
9. 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
10. 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
11. 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.
12. Criador do Ruby on Rails: David Heinemeier Hansson - DHH
Ruby and Rails
14. 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.
17. 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
18. Ruby and Rails
Pastas importantes
App → controllers, models, views
Config
Db
Public
Test
Vendor
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/