Ruby on Rails - Introduction

Qu'est-ce que Ruby?

Avant de rouler sur Rails, récapitulons quelques points de Ruby, qui est la base de Rails.

Ruby est la combinaison réussie de -

  • L'élégance conceptuelle de Smalltalk,
  • La facilité d'utilisation et d'apprentissage de Python, et
  • Le pragmatisme de Perl.

Ruby est -

  • Un langage de programmation de haut niveau.
  • Interprété comme Perl, Python, Tcl / TK.
  • Orienté objet comme Smalltalk, Eiffel, Ada, Java.

Pourquoi Ruby?

Le rubis est originaire du Japon et gagne maintenant en popularité aux États-Unis et en Europe. Les facteurs suivants contribuent à sa popularité -

  • Facile à apprendre
  • Open source (licence très libérale)
  • Bibliothèques riches
  • Très facile à prolonger
  • Vraiment orienté objet
  • Moins de codage avec moins de bogues
  • Communauté utile

Bien que nous ayons de nombreuses raisons d'utiliser Ruby, il existe également quelques inconvénients que vous devrez peut-être prendre en compte avant d'implémenter Ruby -

  • Performance Issues - Bien qu'il rivalise avec Perl et Python, c'est toujours un langage interprété et nous ne pouvons pas le comparer avec des langages de programmation de haut niveau comme C ou C ++.

  • Threading model- Ruby n'utilise pas de threads natifs. Les threads Ruby sont simulés dans la machine virtuelle plutôt que de s'exécuter en tant que threads natifs du système d'exploitation.

Exemple de code Ruby

Voici un exemple de code Ruby pour imprimer "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 - Cela produira le résultat suivant -

Hello Ruby!

Rubis intégré

Ruby fournit un programme appelé ERB (Embedded Ruby), écrit par Seki Masatoshi . ERB vous permet de mettre des codes Ruby dans un fichier HTML. ERB lit, mot pour mot, puis à un certain moment, lorsqu'il rencontre un code Ruby intégré dans le document, il commence à exécuter le code Ruby.

Vous devez savoir seulement deux choses pour préparer un document ERB -

  • Si vous voulez exécuter du code Ruby, placez-le entre <% et %>.

  • Si vous souhaitez que le résultat de l'exécution du code soit imprimé, dans le cadre de la sortie, placez le code entre <%= et %>.

Voici un exemple. Enregistrez le code dans le fichier erbdemo.rb. Notez qu'un fichier Ruby aura une extension.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>

Maintenant, exécutez le programme à l'aide de l'utilitaire de ligne de commande erb.

tp> erb erbdemo.rb

Cela produira le résultat suivant -

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

Qu'est-ce que les rails?

  • Un cadre d'application Web extrêmement productif.

  • Écrit en rubis par David Heinemeier Hansson.

  • Vous pouvez développer une application Web au moins dix fois plus rapidement avec Rails qu'avec un framework Java classique.

  • Un framework Ruby open source pour le développement d'applications Web basées sur des bases de données.

  • Configurez votre code avec le schéma de base de données.

  • Aucune phase de compilation requise.

Framework Full Stack

  • Inclut tout le nécessaire pour créer une application Web basée sur une base de données, en utilisant le modèle Model-View-Controller.

  • Être un framework full-stack signifie que toutes les couches sont conçues pour fonctionner de manière transparente avec moins de code.

  • Nécessite moins de lignes de code que les autres frameworks.

Convention sur la configuration

  • Rails évite les fichiers de configuration au profit des conventions, de la réflexion et des extensions d'exécution dynamiques.

  • Votre code d'application et votre base de données en cours d'exécution contiennent déjà tout ce que Rails a besoin de savoir!

Points forts des rails

Rails regorge de fonctionnalités qui vous rendent plus productif, la plupart des fonctionnalités suivantes se renforçant les unes sur les autres.

Métaprogrammation

Là où d'autres frameworks utilisent une génération de code étendue à partir de zéro, Rail Framework utilise des techniques de métaprogrammation pour écrire des programmes. Ruby est l'un des meilleurs langages pour la métaprogrammation, et Rails utilise bien cette fonctionnalité. Rails utilise également la génération de code mais s'appuie beaucoup plus sur la métaprogrammation pour les tâches lourdes.

Enregistrement actif

Rails introduit le framework Active Record, qui enregistre les objets dans la base de données. La version Rails de l'enregistrement actif découvre les colonnes dans un schéma de base de données et les attache automatiquement à vos objets de domaine à l'aide de la métaprogrammation.

Convention sur la configuration

La plupart des frameworks de développement Web pour .NET ou Java vous obligent à écrire des pages de code de configuration. Si vous suivez les conventions de dénomination suggérées, Rails n'a pas besoin de beaucoup de configuration.

Échafaudage

Vous créez souvent du code temporaire au tout début du développement pour aider à démarrer rapidement une application et voir comment les principaux composants fonctionnent ensemble. Les rails créent automatiquement une grande partie de l'échafaudage dont vous aurez besoin.

Test intégré

Rails crée des tests automatisés simples que vous pouvez ensuite étendre. Rails fournit également un code de support appelé harnais et fixtures qui facilite l'écriture et l'exécution des cas de test. Ruby peut ensuite exécuter tous vos tests automatisés avec l'utilitaire rake.

Trois environnements

Rails vous propose trois environnements par défaut: développement, test et production. Chacun se comporte légèrement différemment, ce qui facilite l'ensemble de votre cycle de développement logiciel. Par exemple, Rails crée une nouvelle copie de la base de données de test pour chaque exécution de test.