Ruby on Rails - Introdução

O que é Ruby?

Antes de andarmos no Rails, vamos recapitular alguns pontos do Ruby, que é a base do Rails.

Ruby é a combinação de sucesso de -

  • A elegância conceitual de Smalltalk,
  • Facilidade de uso e aprendizado do Python, e
  • O pragmatismo de Perl.

Ruby é -

  • Uma linguagem de programação de alto nível.
  • Interpretado como Perl, Python, Tcl / TK.
  • Orientado a objetos como Smalltalk, Eiffel, Ada, Java.

Por que Ruby?

Ruby se originou no Japão e agora está ganhando popularidade nos Estados Unidos e na Europa também. Os seguintes fatores contribuem para sua popularidade -

  • Fácil de aprender
  • Código aberto (licença muito liberal)
  • Bibliotecas ricas
  • Muito fácil de estender
  • Verdadeiramente orientado a objetos
  • Menos codificação com menos bugs
  • Comunidade útil

Embora tenhamos muitas razões para usar Ruby, existem algumas desvantagens também que você pode ter que considerar antes de implementar Ruby -

  • Performance Issues - Embora rivalize com Perl e Python, ainda é uma linguagem interpretada e não podemos compará-la com linguagens de programação de alto nível como C ou C ++.

  • Threading model- Ruby não usa threads nativos. Threads Ruby são simulados na VM, em vez de serem executados como threads nativos do sistema operacional.

Amostra de código Ruby

Aqui está um exemplo de código Ruby para imprimir "Hello Ruby"

# The Hello Class
class Hello
   
   def initialize( name )
      @name = name.capitalize
   end

   def salute
      puts "Hello #{@name}!"
   end
   
end

# Create a new object
h = Hello.new("Ruby")

# Output "Hello Ruby!"
h.salute

Output - Isso produzirá o seguinte resultado -

Hello Ruby!

Ruby Embutido

Ruby fornece um programa chamado ERB (Embedded Ruby), escrito por Seki Masatoshi . ERB permite que você coloque códigos Ruby dentro de um arquivo HTML. O ERB lê junto, palavra por palavra, e então, em um determinado ponto, quando encontra um código Ruby embutido no documento, ele começa a executar o código Ruby.

Você precisa saber apenas duas coisas para preparar um documento ERB -

  • Se você quiser que algum código Ruby seja executado, coloque-o entre <% e %>.

  • Se você quiser que o resultado da execução do código seja impresso, como parte da saída, coloque o código entre <%= e %>.

Aqui está um exemplo. Salve o código no arquivo erbdemo.rb. Observe que um arquivo Ruby terá uma extensão.rb -

<% page_title = "Demonstration of ERB" %>
<% salutation = "Dear programmer," %>

<html>

   <head>
      <title><%= page_title %></title>
   </head>
	
   <body>
      <p><%= salutation %></p>
      <p>This is an example of how ERB fills out a template.</p>
   </body>
	
</html>

Agora, execute o programa usando o utilitário de linha de comando erb.

tp> erb erbdemo.rb

Isso produzirá o seguinte resultado -

<html>

   <head>
      <title>Demonstration of ERb</title>
   </head>
	
   <body>
      <p>Dear programmer,</p>
      <p>This is an example  of how ERb fills out a template.</p>
   </body>
	
</html>

O que é Rails?

  • Uma estrutura de aplicativo da web extremamente produtiva.

  • Escrito em Ruby por David Heinemeier Hansson.

  • Você poderia desenvolver uma aplicação web pelo menos dez vezes mais rápido com Rails do que com um framework Java típico.

  • Uma estrutura Ruby de código aberto para o desenvolvimento de aplicativos da web baseados em banco de dados.

  • Configure seu código com o esquema de banco de dados.

  • Nenhuma fase de compilação necessária.

Full Stack Framework

  • Inclui tudo o que é necessário para criar um aplicativo da web orientado a banco de dados, usando o padrão Model-View-Controller.

  • Ser uma estrutura de pilha completa significa que todas as camadas são construídas para funcionar perfeitamente em conjunto com menos código.

  • Requer menos linhas de código do que outras estruturas.

Convenção sobre configuração

  • Rails evita arquivos de configuração em favor de convenções, reflexão e extensões dinâmicas de tempo de execução.

  • Seu código de aplicação e seu banco de dados em execução já contêm tudo o que Rails precisa saber!

Vantagens do Rails

Rails é embalado com recursos que o tornam mais produtivo, com muitos dos recursos a seguir construídos uns sobre os outros.

Metaprogramação

Enquanto outros frameworks usam geração extensiva de código do zero, o framework Rail usa técnicas de metaprogramação para escrever programas. Ruby é uma das melhores linguagens para metaprogramação, e Rails usa bem esse recurso. Rails também usa geração de código, mas depende muito mais da metaprogramação para o trabalho pesado.

Active Record

O Rails introduz a estrutura Active Record, que salva objetos no banco de dados. A versão Rails do Active Record descobre as colunas em um esquema de banco de dados e automaticamente as anexa aos seus objetos de domínio usando metaprogramação.

Convenção sobre configuração

A maioria das estruturas de desenvolvimento web para .NET ou Java força você a escrever páginas de código de configuração. Se você seguir as convenções de nomenclatura sugeridas, Rails não precisa de muita configuração.

Andaime

Freqüentemente, você cria código temporário nos estágios iniciais de desenvolvimento para ajudar a colocar um aplicativo em funcionamento rapidamente e ver como os principais componentes funcionam juntos. O Rails cria automaticamente muito do scaffold de que você precisa.

Teste integrado

O Rails cria testes automatizados simples que você pode estender. O Rails também fornece código de suporte chamado harnesses e fixtures que tornam os casos de teste mais fáceis de escrever e executar. Ruby pode então executar todos os seus testes automatizados com o utilitário rake.

Três ambientes

O Rails oferece três ambientes padrão: desenvolvimento, teste e produção. Cada um se comporta de maneira ligeiramente diferente, facilitando todo o seu ciclo de desenvolvimento de software. Por exemplo, o Rails cria uma nova cópia do banco de dados de teste para cada execução de teste.