Minicurso ruby on rails

  • View
    241

  • Download
    0

Embed Size (px)

Text of Minicurso ruby on rails

  • 1. Minicurso de Ruby on Rails Igor Amorim Costa Portela www.igorportela.comGTAaaS Grupo de Trabalho Acessibilidade como Servio

2. ReflexoDesenvolvedor: Fazer afirmaes com desconhecimento de causa um atestado de ignorncia.GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 3. Ruby != Rails Linguagem FrameworkGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 4. A LinguagemCriador: Yukihiro Matsumoto ou MatzAno: 1995Caractersticas: Dinmica e interpretada Forte POO - Tudo objeto Todas as classes herda de Object Operao mtodo: eql, exists, extendGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 5. A Linguagem Mtodos retornam valorputs Hello World => nilTipos bsicos: Numeric Symbol String Array HashGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 6. VariveisLocais: variavel = 0Instncias: @variavel = IgorClasse: @@classe = Classe (satic do Java)Globais: $variavel = 100GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 7. ComparaoJAVApublic double soma(double a, double b){return a + b;}RUBYdef soma a,ba+bendGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 8. FrameworkCriador: Dave ThomasAno: 2004Caractersticas: DRY (Dont Repeat Yourself) Scaffold (CRUD)GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 9. Composto por ActiveSupport ActiveRecord ActionPack ActionMailer ActiveResourceGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 10. ArquiteturaGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 11. ActiveSupport um framework que contm um conjunto dediversas classes e extenses de bibliotecas teispara o desenvolvimento webGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 12. ActiveRecordFramework que contm uma camada demapeamento objeto-relacional, entre aaplicao e o banco de dados relacional.GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 13. ActionPackFramework HTML, XML, Javascripts e controlede regras de negcio.GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 14. ActionMailerFramework de recebimento de emails. Realizadiversas operaes apenas com chamadas deentrega de correspondncia.GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 15. ActiveResourceFramework RESTful (Representational StateTransfer) ful de simplesmente REST!Tcnica da engenharia de software parasistemas na internet. Principais POST, GET, PUT,DELETEGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 16. Servidores e Banco de DadosWEBRick ou Mongrel desenvolvimento e testeSqlite3MySQLOraclePostgreSQLGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 17. Scripts1) AboutInformao sobre a verso e componentes2) ConsoleConsole com o ambiente da aplicao3) DbconsoleConsole padro do banco de dados4) DestroyRemove o cdigo geradoGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 18. Scripts5) GenerateGera o cdigo de uma aplicao6) RunnerAutomatizar tarefas da aplicao7) ServerInicia o servidor de aplicaoGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 19. Boas Prticas Controller no deve resolver tudo sozinho. Convenes Modelos gordos Controllers magros Cdigo em Ingls Tabelas so classes no plural Chave primria por conveno (table_id)GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 20. PrticaCriando um projeto no terminalRails new projeto d banco_de_dadosGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 21. Estrutura do ProjetoApp abriga os controllers, helpers, views, models, css, js, images Config configuraes da aplicao, banco, ambientes do projetoDB guarda as migraes, esquemas e arquivos dobanco Doc documentaoLib arquivos de bibliotecaLog os logs dos servidores (desenvolvimento,producao, teste)GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 22. Estrutura do Projeto Script scripts do rails (rails generate, rails s)Test arquivos de testes funcionais, unitrios, integrao.Tmp arquivos temporrios (sesso, cache,migraes, esquemas e etc.) Gemfile onde requerida as gemsGTAaaS Grup de Trabalho Acessibilidade como Servio www.igorportela.com 23. 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)GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 24. MigraesExecutadas em sequncia.Permite portabilidade e manutenabilidade.Bsico:add_column(:email)remove_column(:email)GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 25. Rakerake db:createCria o banco de dadosrake db:migratemigra o banco de dadosRake db:destroyDestri o banco de dadosGTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 26. Fica a dica para pesquisaValidationsForm_helpersPresentersTestes com BDD (Behavior Driven Development)GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 27. RecomendaesGoogle group rails-brPesquise ruby on rails no Google!GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com 28. At a prxima!GTAaaS Grupo de Trabalho Acessibilidade como Servio www.igorportela.com