Date post: | 07-Dec-2014 |
Category: |
Technology |
Upload: | guilherme-theodoro-carlos |
View: | 345 times |
Download: | 0 times |
Ruby on Rails
Guilherme Theodoro Carloswww.showthecode.com.br
Introdução ao framework
“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
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)
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)
Modelo ArquiteturalModel View Controller
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)
Estrutura
Criando uma aplicação Rails
Desenvolvendo com RoR
➔ O uso de IDE’s não é necessário➔ Plug-in para Eclipse (Aptana Studio)
Vim Eclipse + Aptana Studio
Comandos básicos
➔ Criar banco de dados
➔ Atualizar banco de dados
➔ Rodar o servidor
Comandos básicos II
➔ Criar um model
➔ Criar um controller
Comandos básicos III
➔ Criar um scaffold (Model, View, Controller)
Active Record
➔ Desacoplar a aplicação do banco de dados
➔ Facilitar a manipulação de dados
Active Model
➔ Relacionamento entre objetos
➔ Define validações e erros do Model
Migrations
➔ DSL para gerenciamento da base de dados
➔ Provê um histórico de modificações
Database.yml
➔ Arquivo de configurações de banco de dados
➔ Diferentes bancos de dados por ambiente da aplicação
Routes
➔ Reconhece a URL e direciona para a ação do Controller
➔ Gera caminhos e URLs evitando código estático na View
Testes
➔ Cria estrutura de testes ao criar Models e Controllers
➔ Facilidade ao usar tecnicas como TDD e BDD
➔ Bibliotecas como Capybara, Cucumber e RSpec
Vantagens
➔ Alta velocidade de desenvolvimento
➔ Flexibilidade
➔ Código legível e com qualidade
➔ Integração fácil entre times
➔ Deploy facilitado
Desvantagens
➔ Curva de aprendizado da linguagem é maior
➔ Mais lento que outras linguagens web (Java, Python)
➔ Internacionalização complicada
➔ Material em português escasso
Empresas que utilizam
Referências
➔ Ruby - www.ruby-lang.org
➔ Ruby on Rails - www.rubyonrails.org
➔ Ruby Installer - www.rubyinstaller.org
Dúvidas?