ruby on rails - introdução ao framework
DESCRIPTION
Apresentação feita para a matérias Tópicos em Tecnologias de Sistemas de Informação do curso Sistemas de Informação da PUC Campinas. Na apresentação você irá conhecer o básico do framework Ruby on Rails, seus diferenciais e vantagens e desvantagens. O uso é permitido, desde que o autor seja citadoTRANSCRIPT
![Page 1: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/1.jpg)
Ruby on Rails
Guilherme Theodoro Carloswww.showthecode.com.br
Introdução ao framework
![Page 2: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/2.jpg)
“There is something distinct about the Rails philosophy in comparison to the Java or .NET environments. If you are the type of person who "thinks in code" and likes to work with scripts to get things done, Rails may be a great fit for you.”
— Justin James, TechRepublic.com
![Page 3: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/3.jpg)
O que é Ruby?
➔ Linguagem dinâmica e de código abertodesenvolvida em C
➔ Tem foco na simplicidade e produtividade
➔ Puramente orientada à objetos
➔ Baseada em Perl, Smalltalk e LISP
➔ Criada em 1995 por Yukihiro Matsumoto (Matz)
![Page 4: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/4.jpg)
O que é Ruby on Rails?
➔ Framework de código aberto desenvolvido em Ruby
➔ Tem por objetivo o desenvolvimento rápidoe fácil de aplicações web
➔ Convenção em vez de configuração
➔ Don’t Repeat Yourself
➔ Criado em 2004 por David Heinemeier Hansson (DHH)
![Page 5: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/5.jpg)
Modelo ArquiteturalModel View Controller
![Page 6: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/6.jpg)
Linguagens e Tecnologias
O Ruby on Rails é compatível com várias tecnologias:
➔ HTML5, CSS3
➔ Javascript — jQuery, AJAX, Backbone.js, JSON
➔ MySQL, PostgreSQL, Oracle, SQL Server
➔ MongoDB, CouchDB, Cassandra, Redis
➔ JVM (JRuby)
![Page 7: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/7.jpg)
Estrutura
Criando uma aplicação Rails
![Page 8: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/8.jpg)
Desenvolvendo com RoR
➔ O uso de IDE’s não é necessário➔ Plug-in para Eclipse (Aptana Studio)
Vim Eclipse + Aptana Studio
![Page 9: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/9.jpg)
Comandos básicos
➔ Criar banco de dados
➔ Atualizar banco de dados
➔ Rodar o servidor
![Page 10: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/10.jpg)
Comandos básicos II
➔ Criar um model
➔ Criar um controller
![Page 11: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/11.jpg)
Comandos básicos III
➔ Criar um scaffold (Model, View, Controller)
![Page 12: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/12.jpg)
Active Record
➔ Desacoplar a aplicação do banco de dados
➔ Facilitar a manipulação de dados
![Page 13: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/13.jpg)
Active Model
➔ Relacionamento entre objetos
➔ Define validações e erros do Model
![Page 14: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/14.jpg)
Migrations
➔ DSL para gerenciamento da base de dados
➔ Provê um histórico de modificações
![Page 15: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/15.jpg)
Database.yml
➔ Arquivo de configurações de banco de dados
➔ Diferentes bancos de dados por ambiente da aplicação
![Page 16: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/16.jpg)
Routes
➔ Reconhece a URL e direciona para a ação do Controller
➔ Gera caminhos e URLs evitando código estático na View
![Page 17: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/17.jpg)
Testes
➔ Cria estrutura de testes ao criar Models e Controllers
➔ Facilidade ao usar tecnicas como TDD e BDD
➔ Bibliotecas como Capybara, Cucumber e RSpec
![Page 18: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/18.jpg)
Vantagens
➔ Alta velocidade de desenvolvimento
➔ Flexibilidade
➔ Código legível e com qualidade
➔ Integração fácil entre times
➔ Deploy facilitado
![Page 19: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/19.jpg)
Desvantagens
➔ Curva de aprendizado da linguagem é maior
➔ Mais lento que outras linguagens web (Java, Python)
➔ Internacionalização complicada
➔ Material em português escasso
![Page 20: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/20.jpg)
Empresas que utilizam
![Page 21: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/21.jpg)
Referências
➔ Ruby - www.ruby-lang.org
➔ Ruby on Rails - www.rubyonrails.org
➔ Ruby Installer - www.rubyinstaller.org
![Page 22: Ruby on Rails - Introdução ao Framework](https://reader034.vdocuments.mx/reader034/viewer/2022052618/5485aebc5806b595588b47cf/html5/thumbnails/22.jpg)
Dúvidas?