Um pouco sobre a história e funcionalidades do Ruby e como juntou-se com o Rails. Um pouco também dos projetos na PTInovação que se utilizam dessas tecnologias.
1. Ruby on Rails
Magnum Fonseca | Thales Lima | Weslley Almeida
2. Ruby > O que é Ruby?
> Ruby é uma linguagem interpretada
multiparadigma, dinâmica e open source
com foco na simplicidade e
produtividade.
> Seus objetos e classes podem ser
alterados em tempo de execução. Além
disso é totalmente orientada a
objetos, ou seja, em Ruby tudo é um
objeto.
3. > Como Surgiu?
> Desenvolvido no Japão em 1995, por Yukihiro
“Matz” Matsumoto.
> Matz desejava uma linguagem
mais poderosa que Perl e mais
orientada a objetos que Python.
A partir disso Matz decidiu
desenhar a sua própria
linguagem de programação.
5. Diferenças de outras linguagens
> Interpretadores
* O interpretador Ruby é o programa que faz todo o
trabalho pesado e roda seu código Ruby. No entanto
existem diversos interpretadores:
* MRI (Matz Ruby Interpreter)
* JRuby
* IronRuby
* MacRuby
* Etc…
6. Diferenças de outras linguagens
> Gems
* Gem é um pacote ou uma aplicação escrita em ruby.
Essas bibliotecas podem ser instaladas e divulgadas
em diversos computadores, como as “libs” em C.
* Uma adição interessante é que é muito fácil instalar
uma gem
gem install rails
7. Diferenças de outras linguagens
> IRB (Interactive Ruby
Execution)
* Basicamente um shell para
Ruby. É um interpretador
em tempo real dos códigos
digitados.
* É um método ágil de testar
seus códigos ou de
aprender Ruby
9. > Tudo é objeto!
* Não existe variável primitiva
* +, -, /… são todos métodos
10. > Syntax Sugar
* Linguagem onde o que importa é a
beleza do código, expressividade do
mesmo
* Algumas regras podem ser
quebradas, para que o código seja
melhor entendido por humanos
11. > Syntax Sugar
if(a<b){
System.out.println("a é menor");
}
puts("a é menor") if(a.<(b))
puts "a é menor" if a < b
12. > Duck typing
* Se ele anda como um pato, e faz quack
como um pato, eu devo tratá-lo como um
pato
* Foco no que os objetos podem fazer, não
no que eles são
14. > Blocos
* Uma das coisas mais poderosas em Ruby
* É um bloco, um fechamento do código
que recebe código como parâmetro
* Como um iterador mas executa códigos
16. Rails > O que é Rails?
<%= Ruby on Rails é um framework livre 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. %>
17. > O início
David Hannson em 2004
Extraído do trabalho dele
na 37Signals
18. > Do que é formado?
> Rails é um meta-framework formado
de:
– Action Pack;
– Action Mailer;
– Active Record;
– Active Support;
– Active Web Services.
19. > MVC
> Model-view-controller (MVC) é um
padrão de arquitetura de software que
visa separar a lógica de negócio da lógica
de apresentação, permitindo o
desenvolvimento, teste e manutenção
isolado de ambos
24. > Produtividade
> Active Record
c = Celular.new
c.nome = "Galaxy S II"
c.preco = 2000
Design Pattern, Framework
c.save
ORM
=== Em SQL ===
INSERT INTO CELULARES(NOME,PRECO) VALUES ("Galaxy S
II", 2000);
25. > Produtividade
> Action Pack
Pacote que gerencia as ações que
ocorrem na aplicação, do request ao
response
26. > Action Pack
> Action Controller
Gerencia o que ocorre na
Controller, quais ações e como elas
devem ser tomadas
27. > Action Pack
> Action View
* os celulares:como os dados serão c.nome
Todos
Gerencia <%= @celulares.collect { |c|
apresentados na tela %>
}.join ", "
* .erb, rotas, …