M'enfin ?!?

Aller au contenu | Aller au menu | Aller à la recherche

lundi 27 juin 2011

Rails ou Sinatra ?

Ruby on Rails ou Sinatra, comment choisir entre les deux ? C'est une question que j'entends régulièrement et pour laquelle, je suis toujours un peu embêté d'avoir un pointeur tout prêt vers un article qui expliquerait cela. Encore aujourd'hui, la question m'a été posée et j'ai eu beau chercher, je n'ai rien trouvé de bien concluant.

On est jamais mieux servi que par soi-même, et c'est donc l'occasion de réveiller ce blog qui commençait à prendre la poussière.

Donc Rails ou Sinatra ? Ça dépend mais la plupart du temps, il est assez facile de choisir l'un ou l'autre. Ils ont des philosophies assez différentes et couvrent ainsi des problématiques différentes.

Commençons par Ruby on Rails. Il a été développé par David Heinemeier Hansson pour développer des applications web rapidement mais en gardant du code maintenable. Rails est donc fait pour permettre aux personnes dont le métier est de construire des applications web (développeurs, intégrateurs, etc.) de pouvoir faire ça le plus efficacement possible. On retrouve ainsi le scaffold qui permet de gagner du temps en début de projet et de nombreuses conventions pour aller plus vite dans les cas courants. Mais cela a aussi des inconvénients : Rails est un gros framework et apprendre à s'en servir correctement demande un investissement initial en temps qui est loin d'être négligeable. Si on veut vraiment être efficace, il faut respecter l'esprit de Ruby on Rails et ses manières de faire, mais aussi connaître les bibliothèques qui vont bien, les fameuses gems comme Devise ou Sass.

De l'autre coté, Sinatra a des ambitions toutes autres : il veut juste permettre à des développeurs Ruby de faire des applications web simples avec le minimum d'efforts. Cela commence avec une API extrêmement simple qui permet de démarrer tout de suite sans avoir à apprendre grand chose. Pour cela, Sinatra se contente du minimum et n'essaye pas d'offrir plein de choses dès le départ. C'est ainsi un projet avec une taille beaucoup plus réduite mais qui offre plus de libertés. Là où les projets Rails sont toujours organisés d'une façon semblables pour permettre aux développeurs et intégrateurs de passer facilement d'un projet à l'autre, Sinatra est bien plus souple et peut, par exemple, venir ajouter une interface web à un projet déjà existant. Sa simplicité est également intéressante pour les débutants qui peuvent ainsi faire très rapidement des choses sans avoir, au préalable, à lire un bouquin complet. Et rien n'interdit de passer à Rails plus tard.

Pour résumer, Ruby on Rails est un rouleur compresseur qui permet de construire très rapidement des applications web de qualité pour les personnes dont c'est le métier, alors que Sinatra couvre d'autres besoins : il permet de découvrir Ruby ou le développement web en douceur pour les débutants et offre une souplesse incroyable pour les hackers confirmés.

dimanche 11 juillet 2010

Présentation rapide de Ruby 1.9 aux RMLL

Cette semaine, s'est tenue la 11ème édition des Rencontres Mondiales du Logiciel Libre à Bordeaux. J'en ai profité pour faire une présentation rapide de Ruby 1.9. Les slides sont en ligne sur http://rmll2010-ruby19.heroku.com/.

Un ami, oz, m'a prêté le livre Confessions of a public speaker de Scott Berkun. C'est u livre très intéressant qui vous donne des conseils pratiques sur comment donner de meilleurs présentations. Je n'ai malheureusement pas eu le temps de le lire entièrement avant ma présentation aux RMLL, et encore moins d'appliquer les conseils, mais j'ai vraiment le sentiment que les conseils sont pertinents et m'auraient permis de faire une bien meilleure présentation. En tout cas, je suis bien décidé à essayer d'en appliquer quelques uns à la prochaine présentation que je ferais, puis de plus en plus si cela marche comme prévu.

jeudi 11 février 2010

FrenchRails compatible Rails 3 (enfin, je crois)

Mon petit plugin french_rails est maintenant compatible avec Rails 3. La version 0.2 vient d'être publiée sur Gemcutter, et j'ai pu l'utiliser sur une application de test en Rails 3 beta. Vous devriez donc pouvoir faire de même.

mercredi 10 septembre 2008

RubyflowFr, premiers retours

RubyflowFr est en ligne depuis une dizaine de jours. C'est l'occasion de faire un premier retour dessus :

  • 18 posts
  • 8 utilisateurs enregistrés
  • environ 1500 pages vues
  • une trentaine de personnes suivent quotidiennement les flux RSS, d'après Feedburner
  • déjà des changements de CSS !

Merci à Nicolas Gruson pour ces modifications de CSS qui améliorent grandement la lisibilité du site. Bref, cela démarre pas mal, même si j'aimerais bien que plus de personnes proposent des liens (il n'y a pas besoin de compte pour cela).

jeudi 4 septembre 2008

PDF de l'article sur Rails et la sécurité

Ce très court billet est là juste pour vous dire que mon article, Rails et la sécurité, est maintenant disponible en PDF. Vous pouvez le télécharger là : Rails et la sécurité (PDF).

mardi 2 septembre 2008

RubyflowFr est en ligne

Rubyflow est une application de publications de liens à destination de la communauté Ruby. Peter Cooper a libéré le code source de cette application, aussi Ruby France a décidé d'en sortir une version française destinée à la communauté française des rubyistes et railers.

L'adresse du site est http://flow.rubyfrance.org/. Bien entendu, vous êtes encouragés à partager vos liens sur Ruby, Rails, Merb ou autres en les postant accompagnés d'une courte description. Vous savez ce qu'il vous reste à faire ;)

mercredi 2 avril 2008

Dossier Ruby on Rails dans programmez

La revue Programmez sort un dossier sur Ruby on Rails. La première partie de ce dossier est sortie ce mois-ci, et la suite sera pour le mois prochain. Si je vous parle de cela, c'est parce que j'ai l'honneur de participer à ce dossier : j'ai écrit le dossier sur Rails et la sécurité. Vous n'aurez plus d'excuses pour ne pas suivre les règles de bases pour s'assurer de la sécurité de son appli rails.

Mise à jour : l'article en question est maintenant disponible sur http://blog.menfin.info/post/2008/0... et également au format PDF.

dimanche 17 février 2008

4ème apéro Ruby

L'association Ruby France organise pour la quatrième fois un apéro Ruby à la cantine. Ce sera l'occasion de discuter autour d'un verre de Ruby et de découvrir la cantine. Il devrait notamment y avoir une présentation de Ruby 1.9 et des lightning talks.

J'y serais et vous ?

Mise à jour : j'ai oublié le lien vers l'annonce officielle.

mardi 4 décembre 2007

J'y serai

Paris on Rails

samedi 1 décembre 2007

IRB, un outil à (re)découvrir

IRB est un outil génial pour tester rapidement un truc en Ruby. C'est une sorte d'interpréteur Ruby qui fonctionne comme un shell : vous tapez une ligne de Ruby, irb l'interprête et vous donne le résultat, vous tapez une autre ligne, irb l'interprête en tenant compte de la première ligne, et ainsi de suite. Voici par exemple ce que cela donne (avec en gras, ce que j'ai tapé) :
>> titi = 2 + 3
> 5
>> toto = titi * 4
> 20
Pour ceux qui veulent en savoir plus, je recommande de lire le chapitre consacré à IRB dans Le Guide (Poignant) de Why's vers Ruby et d'essayer ca dans Try Ruby qui est, en gros, un IRB dans votre navigateur web. Il est possible de configurer IRB via le fichier $HOME/.irbrc : changer le prompt, charger des fichiers, activer l'auto-complétion, etc. Comme d'autres personnes l'ont fait avant moi, je poste mon fichier de conf .irbrc pour que chacun puisse s'en inspirer (et aussi pour le retrouver plus facilement quand je ne suis pas chez moi ;-)
  require "yaml"
require "irb/completion"

IRB.conf[:USE_REALINE] = true
IRB.conf[:PROMPT_MODE] = :SIMPLE

# History with readline
HISTFILE = "~/.irb.hist"
MAXHISTSIZE = 100

# what? (gem install what_methods)
require "what_methods"

# Wirble (gem install wirble)
require "wirble"
Wirble.init
Wirble.colorize

# Just for Rails...
if ENV["RAILS_ENV"]
IRB.conf[:IRB_RC] = Proc.new do
ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Base.instance_eval { alias :[] :find }
end
end