Ruby on Rails - Introduzione

Cos'è Ruby?

Prima di cavalcare su Rails, ricapitoliamo alcuni punti di Ruby, che è la base di Rails.

Ruby è la combinazione vincente di -

  • L'eleganza concettuale di Smalltalk,
  • La facilità d'uso e di apprendimento di Python e
  • Il pragmatismo di Perl.

Ruby è -

  • Un linguaggio di programmazione di alto livello.
  • Interpretato come Perl, Python, Tcl / TK.
  • Orientato agli oggetti come Smalltalk, Eiffel, Ada, Java.

Perché Ruby?

Ruby è nato in Giappone e ora sta guadagnando popolarità anche negli Stati Uniti e in Europa. I seguenti fattori contribuiscono alla sua popolarità:

  • Facile da imparare
  • Open source (licenza molto liberale)
  • Biblioteche ricche
  • Molto facile da estendere
  • Veramente orientato agli oggetti
  • Meno codifica con meno bug
  • Comunità utile

Sebbene abbiamo molte ragioni per usare Ruby, ci sono anche alcuni svantaggi che potresti dover considerare prima di implementare Ruby:

  • Performance Issues - Anche se rivaleggia con Perl e Python, è ancora un linguaggio interpretato e non possiamo confrontarlo con linguaggi di programmazione di alto livello come C o C ++.

  • Threading model- Ruby non utilizza thread nativi. I thread Ruby vengono simulati nella VM anziché essere eseguiti come thread del sistema operativo nativo.

Esempio di codice Ruby

Ecco un esempio di codice Ruby per stampare "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 - Questo produrrà il seguente risultato:

Hello Ruby!

Rubino incorporato

Ruby fornisce un programma chiamato ERB (Embedded Ruby), scritto da Seki Masatoshi . ERB ti consente di inserire codici Ruby all'interno di un file HTML. ERB legge, parola per parola, e poi a un certo punto, quando incontra un codice Ruby incorporato nel documento, inizia a eseguire il codice Ruby.

Devi sapere solo due cose per preparare un documento ERB:

  • Se vuoi che venga eseguito del codice Ruby, racchiudilo tra <% e %>.

  • Se si desidera che il risultato dell'esecuzione del codice venga stampato, come parte dell'output, racchiudere il codice tra <%= e %>.

Ecco un esempio. Salva il codice nel file erbdemo.rb. Nota che un file Ruby avrà un'estensione.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>

Ora, esegui il programma utilizzando l'utilità della riga di comando erb.

tp> erb erbdemo.rb

Questo produrrà il seguente risultato:

<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>

Cos'è Rails?

  • Un framework per applicazioni web estremamente produttivo.

  • Scritto in Ruby da David Heinemeier Hansson.

  • Potresti sviluppare un'applicazione web almeno dieci volte più velocemente con Rails di quanto potresti sviluppare con un tipico framework Java.

  • Un framework Ruby open source per lo sviluppo di applicazioni web basate su database.

  • Configura il tuo codice con lo schema del database.

  • Nessuna fase di compilazione richiesta.

Framework a stack completo

  • Include tutto il necessario per creare un'applicazione Web basata su database, utilizzando il pattern Model-View-Controller.

  • Essendo un framework full-stack significa che tutti i livelli sono costruiti per funzionare perfettamente insieme con meno codice.

  • Richiede meno righe di codice rispetto ad altri framework.

Convenzione sulla configurazione

  • Rails evita i file di configurazione a favore di convenzioni, reflection e estensioni dinamiche di runtime.

  • Il codice dell'applicazione e il database in esecuzione contengono già tutto ciò che Rails deve sapere!

Punti di forza delle rotaie

Rails è ricco di funzionalità che ti rendono più produttivo, con molte delle seguenti funzionalità che si integrano l'una sull'altra.

Metaprogrammazione

Laddove altri framework utilizzano un'estesa generazione di codice da zero, Rail framework utilizza tecniche di metaprogrammazione per scrivere programmi. Ruby è uno dei migliori linguaggi per la metaprogrammazione e Rails utilizza bene questa capacità. Anche Rails utilizza la generazione del codice, ma si basa molto di più sulla metaprogrammazione per il lavoro pesante.

Record attivo

Rails introduce il framework Active Record, che salva gli oggetti nel database. La versione Rails dell'Active Record scopre le colonne in uno schema di database e le allega automaticamente agli oggetti del tuo dominio usando la metaprogrammazione.

Convenzione sulla configurazione

La maggior parte dei framework di sviluppo web per .NET o Java ti obbliga a scrivere pagine di codice di configurazione. Se segui le convenzioni di denominazione suggerite, Rails non necessita di molta configurazione.

Impalcatura

Spesso si crea codice temporaneo nelle prime fasi di sviluppo per ottenere rapidamente un'applicazione e vedere come i componenti principali funzionano insieme. Rails crea automaticamente la maggior parte delle impalcature di cui avrai bisogno.

Test integrato

Rails crea semplici test automatizzati che puoi estendere. Rails fornisce anche codice di supporto chiamato harness e fixtures che rendono i casi di test più facili da scrivere ed eseguire. Ruby può quindi eseguire tutti i tuoi test automatizzati con l'utility rake.

Tre ambienti

Rails ti offre tre ambienti predefiniti: sviluppo, test e produzione. Ciascuno si comporta in modo leggermente diverso, semplificando l'intero ciclo di sviluppo del software. Ad esempio, Rails crea una nuova copia del database Test per ogni esecuzione di test.