View
254
Download
0
Category
Preview:
Citation preview
Minicurso de Ruby on RailsIgor Amorim Costa Portela
www.igorportela.com
GTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Reflexão
Desenvolvedor: Fazer afirmações com desconhecimento de causa é um atestado de
ignorância.
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Ruby != Rails
FrameworkLinguagem
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
A Linguagem
Criador: Yukihiro Matsumoto ou “Matz”Ano: 1995Características: • Dinâmica e interpretada• Forte POO - Tudo é objeto• Todas as classes herda de Object• Operação é método: eql, exists, extend
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
A Linguagem
• Métodos retornam valor puts “Hello World” => nil
Tipos básicos:• Numeric• Symbol• String• Array• Hash
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Variáveis
Locais: variavel = 0
Instâncias: @variavel = “Igor”
Classe: @@classe = Classe (satic do Java)
Globais: $variavel = 100
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Comparação
JAVApublic double soma(double a, double b){ return a + b;}
RUBYdef soma a,b a+bend
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Framework
Criador: Dave ThomasAno: 2004Características:• DRY (Don’t Repeat Yourself)• Scaffold (CRUD)
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Composto por
• ActiveSupport• ActiveRecord• ActionPack• ActionMailer• ActiveResource
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Arquitetura
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
ActiveSupport
É um framework que contém um conjunto de diversas classes e extensões de bibliotecas úteis para o desenvolvimento web
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
ActiveRecord
Framework que contém uma camada de mapeamento objeto-relacional, entre a aplicação e o banco de dados relacional.
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
ActionPack
Framework HTML, XML, Javascripts e controle de regras de negócio.
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
ActionMailer
Framework de recebimento de emails. Realiza diversas operações apenas com chamadas de entrega de correspondência.
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
ActiveResource
Framework RESTful (Representational State Transfer) “ful” é de simplesmente REST!
Técnica da engenharia de software para sistemas na internet. Principais POST, GET, PUT, DELETE
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Servidores e Banco de Dados
WEBRick ou Mongrel – desenvolvimento e teste
Sqlite3MySQLOraclePostgreSQL
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Scripts
1) AboutInformação sobre a versão e componentes2) ConsoleConsole com o ambiente da aplicação3) DbconsoleConsole padrão do banco de dados4) DestroyRemove o código gerado
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Scripts
5) GenerateGera o código de uma aplicação6) RunnerAutomatizar tarefas da aplicação7) ServerInicia o servidor de aplicação
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Boas Práticas
• Controller não deve resolver tudo sozinho.• Convenções• Modelos gordos• Controllers magros• Código em Inglês• Tabelas são classes no plural• Chave primária é por convenção (table_id)
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Prática
Criando um projeto no “terminal”
Rails new projeto –d banco_de_dados
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Estrutura do Projeto
App – abriga os controllers, helpers, views, models, css, js, images
Config – configurações da aplicação, banco, ambientes do projeto
DB – guarda as migrações, esquemas e arquivos do banco
Doc – documentaçãoLib – arquivos de biblioteca
Log – os logs dos servidores (desenvolvimento, producao, teste)
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Estrutura do Projeto
Script – scripts do rails (rails generate, rails s)Test – arquivos de testes funcionais, unitários,
integração.Tmp – arquivos temporários (sessão, cache,
migrações, esquemas e etc.)Gemfile – onde é requerida as gems
www.igorportela.comGTAaaS – Grup de Trabalho Acessibilidade como Serviço
Relacionamentos
*..1 - has_many (muitos p/ um)
1..* - belongs_to (um p/ muitos)
*..* - has_and_belongs_to_many (muitos p/ muitos)
1..1 – has_one (um p/ um)
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Migrações
Executadas em sequência.Permite portabilidade e manutenabilidade.Básico:
add_column(:email)
remove_column(:email)
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Rake
rake db:createCria o banco de dados
rake db:migrate migra o banco de dados
Rake db:destroyDestrói o banco de dados
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Fica a dica para pesquisa
Validations
Form_helpers
Presenters
Testes com BDD (Behavior Driven Development)
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Recomendações
Google group – rails-br
Pesquise “ruby on rails” no Google!
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Até a próxima!
www.igorportela.comGTAaaS – Grupo de Trabalho Acessibilidade como Serviço
Recommended