Introduction à Rails - Paris on Rails 2006

Preview:

DESCRIPTION

"Enfin", c'est le mot qu'on peut avoir à la découverte du framework web Ruby On Rails.Enfin un cadre de travail MVC qui facilité réellement le développement au lieu de le complexifier. ActiveRecord, une des briques magiques de cette application, pose une interface objet pour votre base de donnée en moins de cinq lignes. Le reste est à l'image de ruby : principe de surprise minimum, agilité et extensibilité. Cette présentation vous montrera, après des années de framework Web et d'expertises PHP, ce que quelques mois de Ruby On Rails suffisent à gagner.

Citation preview

Introduction à Rails

Éric DaspetParis On Rails, novembre 2006

Qui êtes-vous ?

Réalise / Décide

Web / Client-serveur

Ruby / PHP / Java

Rails / MVC / scripts

Qui suis-je ?

Éric DaspetConsultant Web

Open Source

Rails, un framework

Cadre de travailSolution techniqueOutils à dispositionDédié au Web

Écrit en Ruby

Un peu de visuel ...

Déploiement de Rails avec l’IDE Radrails

Structure initiale

Configuration et lancement

Création du projet

Les répertoires créés

Config SGBDR

Serveur de test

Rails, du MVC

Les objets manipulésLe modèle

Le code d’affichageLa vue

Ce que vous en faîtesLe contrôleur

Un peu de visuel ...

Création d’une première application

Utilisation de la structure MVC

Générateur de modèle

Scripts MVC simples

Définition des données

Résultat MVC

Le framework Rails

Simple

Structuré

Dedans : Active Record

Décrit la liaisonObjet – Relationnel

Dynamique

Basé sur des conventions

Un peu de visuel ...

Création d’une entité Active Record

Accès aux données en lecture et recherche

création, modification et suppression

Utilisation des données

Active Record, encore plus

Gérer les relations

Gérer les jointures

Gérer les contraintes

Et bien plus encore...

Un peu de visuel ...

Faire des relations entre les entités

Utiliser des contextes

Valider des données

Utilisation des catégories

Résultat de validation

Active Record

Simple

Automatique

Efficace

Et le reste ? Simple ?

10.years.ago50.megabytes7.is_multiple_of? 3Dvd.find_by_nom()

LisibilitéConfort

Le reste ? Automatique ?

Formulaires générésValidation automatiséeGénération du CRUDServices Web natifs

DynamiquePas de configuration

Le reste ? Efficace ?

Console complèteBreakpointIDE dédié : RadrailsTests unitairesDéploiement

Code concisOutils intégrés

Et le reste ? Extensible ?

Plugins mis en avantBasé sur RubySimple à personnaliséAccès aux sources

Aucune limitePlugins intégrés

Et le reste ? Moderne ?

Ajax intégréJavascript généréEffets visuelsPhilosophie REST

Méthodes agilesÀ la pointe

Les autres outils

Simples

Complets

Extensibles

Modernes

Le résultat ?

Plus simple d'accèsMoins d’erreurs

Plus de réactivitéMaintenances courtes

Plus de confortPeu de limitations

Plus productifs ?

Ouimais peut être pas sur le

développement initial

En qualitéEn maintenanceEn évolutionsEn réactivité

Les limites actuelles (2006)

Qui s’améliorentDocumentationPerformancesEncore peu utilisé

StructurellesPeu de limitesÉvolution constanteReprise d'existant

Par rapport aux autres ?

Un peu de visuel ...

Rubynom = dvd.categorie.nom

JavaString nom = dvd.getCategorie().getNom() ;

PHP$nom = $dvd->getCategorie()->getNom() ;

À retenir sur Ruby On Rails

Simplicité, confort, maintenance courte

Agile, réactivité et facilité d’évolution

Outillage complet, automatisé, moderne

Introduction à Rails

Éric DaspetParis On Rails, novembre 2006

Liens annexes, anglais

Ruby : http://www.ruby-lang.org/Doc. Ruby : http://www.ruby-doc.org/Rails : http://www.rubyonrails.org/

Les screencastLes documentations (API)

Les livres : (entre autres sur http://pragmaticprogrammer.com/)

Rails RecipesAgile Web Development with Rails

Liens annexes, français

Ruby France : http://www.rubyfr.org/Rails France : http://www.railsfrance.org/

Usenet : fr.comp.lang.rubyLivres : http://www.eyrolles.com/

Ruby On Rails (traduction du Agile Web Development)

Liens très annexes

Éric Daspet : http://eric.daspet.name/

Livre PHP 5 avancé : http://eyrolles.com/Paris-Web : http://www.paris-web.fr/

SQLI : http://www.sqli.com/ Me contacter à SQLI : edaspet@sqli.com

Réutilisation du contenu

Les contenus originaux de cette présentation sont diffusés sous licence Creative Commons avec les options :

Paternité (obligation de mentionner l'auteur)Pas d'utilisation commerciale (sans accord explicite)Pas de modifications (contenu d'opinion)

La licence complète est disponible à l'adresse http://creativecommons.org/licenses/by-nc-nd/2.0/fr/

Toute autre utilisation nécessite un accord explicite et écrit de la part de l'auteur