mercredi 24 décembre 2008

Happy Christmas Web developpers

Je vous ai déjà beaucoup parlé de Rails sur ce blog et de tout le bien que je pense de ce framework.

Pourtant, la communauté des développeurs web Ruby était en train de se séparer en deux, depuis quelques mois. En effet un autre framework, partageant les idées ("conventions plutôt que configuration", "Don't repeat Yourself"...) était apparu : Merb.

Merb donc est né de l'idée que Rails était trop "Full Stack", comprenez par là que Rails vous offre un environnement complet et choisi pour vous un ORM (ActiveRecord), un Framework Javascript(Prototype)...
Rails permet évidemment de modifier ces choix par défauts, mais ne facilitait pas forcement la migration. Merb, au contraire, embarque un minimum de choses et laisse le choix des composants additionnels au développeur (ORM, Framework JS, langage de templates...).
Merb est aussi connu pour l'importance accordée aux performances par ses développeurs.
Là ou Rails avait parfois sacrifié un peu de performances, pour un peu plus de clarté, Merb ne fait aucun sacrifice et veut vous apporter le beurre, l'argent du beurre et la crémière (comprenez les performances, la clarté et ... la classe :) )

De cette fission, certains avaient essayé de créer une "guerre" des frameworks entre ces deux là. Mais les principaux intéressés (les développeurs de chacun des frameworks) ne tarissait pas d'éloges sur leurs concurrents.
J'en veux pour preuve cette liste "tronquée" des raisons pour lesquels Matt Aimonetti, développeur Merb français aime Rails :

  • Sans Rails, Ruby ne serais pas un des 11 premiers langages de programmation.
  • Sans Rails, on écrirait encore des centaines de lignes de configurations pour démarrer une petite application.
  • Sans Rails, beaucoup de développeurs ne saurais pas ce que MVC signifie.
  • Sans Rails, je ne serais pas un développeur Ruby.
  • Sans Rails seuls les élites feraient des tests.

Malgré cela, de plus en plus de personnes pensaient à migrer vers Merb, qui semblait devenir plus intéressant que Rails pour les raisons évoquées précédemment et quelques autres (routing, slices...).

Et hier, est arrivé le cadeau de Noël inespéré, les développeurs des deux équipes ont en effet décidé de réunir leurs efforts et de nous réunir les deux frameworks pour la prochaine version majeure.

Merb sera donc mergé dans Rails afin de devenir Rails 3, cela veut dire, tous les avantages de Rails, à commencer par le nom que c'est fait ce framework dans le monde du web, auquels viendront s'additionner tous ceux de Merb (Les API publiques, les slices, le routing avancé, le choix des composants, les performances... ...)

Les réactions dans le monde Ruby sont pour le moment partagées même si le positivisme l'emporte déjà. Pour ma part, je suis TRÈS confiant sur ce rassemblement des forces pour trois raisons :

  • Les nouveaux modes de développement, Git, Github (ses commentaires), facilite l'investissement de la communauté dans le code du framework. Les décisions prises lors de cette phase de réunion de Rails et Merb seront donc surveillées de très près.
  • Les développeurs de Rails et de Merb sont parmi les meilleurs que je "connaisse", lire le code des commits des "leads développeurs" de ces deux frameworks est presque toujours un plaisir et une source d'inspiration pour ses propres projets.
  • La communauté Ruby est très active et beaucoup d'outils, de tutoriels visant à faciliter la migration devrait voir le jour ses prochaines semaines/mois.

En conclusion, nous n'avons plus désormais deux gros frameworks Ruby, mais un seul.
Alors certes la concurrence sera moindre (même si de nombreux autres frameworks encore moins connus existent), mais l'effervescence au sein de la communauté Ruby et les outils adéquats devraient permettre de combler ce manque.

Alors vive Rails, vive Merb, vive Ruby, et Joyeux Noël.

jeudi 20 novembre 2008

En vrac

Des nouvelles de l'open web, il va bien merci pour lui !

  • Le Web sémantique, que le sujet vous parle ou non, si vous tenez à vos données, lisez cet article !.
    Soyez sympas, lisez aussi la suite mais vraiment cet article aurait valu un en vrac à lui tout seul !
  • De la 3D avec Canvas, hop encore un terrain ou les technos libres viennent concurrencer Flash.
  • La vidéo libre sur le net, oui oui ça avance...
    Prenez le temps, d'essayer, on peut déjà bien s'amuser en mettant par exemple du HTML en overlay, un peu de transparence CSS et un peu d'animation JS et faire pourquoi pas un petit player avancé...
  • Le son aussi, regardez cette open drum machine !
  • Des applications web plus réactives, du temps réel, du push server, ça aussi on sait désormais faire avec des technologies et protocoles ouverts comme le Kaazing Gateway et HTML 5 et ses WebSockets.
    Cela permet notamment de faire du chat, sans vérifier sans cesse s'il y a de nouveaux messages sur le serveur, ceux si "viendront" a vous automatiquement.
  • Même le web "clos" s'améliore, mais il peut faire mieux, beaucoup mieux
    Ce dernier lien est lui aussi une lecture indispensable, pour comprendre ce qu'apporterait une libération du player Fash, mais également pourquoi cela n'est pas encore possible (n'oubliez pas de lire les commentaires).

Des nouvelles de Ruby et de ses frameworks, tout le monde va bien !

  • Rails arrive en version 2.2 avec plein de nouvelles features, notamment l'internationalisation dans le framework et le support de Jruby.
  • Merb 1.0 : L'autre framework Ruby (en tout cas le deuxième plus connu) débarque en version 1.0. Merb est un framework agnostique, que ce soit pour les ORM(Active Record, Datamapper, Sequel...), les framework javascripts (JQuery, Prototype)...
  • Et ne venez plus me dire que Ruby/Rails/Merb/UnTrucAvecDuRubyDedans c'est lent (j'aurais bien aimé voir Symfony dans ces benchmarks, je pense qu'ils s'en sortirais mieux que ses compères PHP mais par rapport à Rails ou Merb ?).

mercredi 6 août 2008

ActionView : Imprimeur de son état

3ème et dernière partie du Modèle M.V.C. dans Rails, la Vue.

Comme vous l'avez compris dans la partie précédente, Ruby on Rails est capable de produire ou de servir bien plus que des pages HTML et notamment du XML, du JSON, des images, du PDF... ...
Toutefois, Rails a été particulièrement bien prévu pour la génération de HTML et en facilite grandement l'écriture...

Lire la suite...

mercredi 30 juillet 2008

ActionController : Monsieur Circulation

Dans Rails, ActionController fait la circulation, il va à chaque requête, appeler les modèles nécessaires pour récupérer les données, puis appeler la méthode render pour afficher une vue, un XML... et vous renvoyer le tout.

La politique Rails veut que les controllers soient légers.

"Skinny Controller, Fat Model"
Jamis Buck, 37signals employee

Et ça tombe bien Rails fourni tout ce qu'il faut pour vous simplifier la vie...

Lire la suite...

vendredi 25 juillet 2008

ActiveRecord : Vos données, c'est mon dada.

Nous allons donc commencer par le M du M.V.C., le modèle :
ActiveRecord c'est le gestionnaire de vos données et donc la plupart du temps, de votre Base de données dans Rails
Ça tombe bien, la partie Base de données est surement la plus magique de Rails...

Lire la suite...

Rails, la locomotive de Ruby !

On a vu dans les deux articles précédents les rudiments de la syntaxe Ruby.
Normalement, vous êtes déjà séduit par ces débuts, mais vous n'avez encore rien vu !
Alors ? Ce Ruby on Rails, qu'est ce donc ?

Rails is the killer app for Ruby.
Yukihiro Matsumoto, Createur de Ruby

Lire la suite...

samedi 19 juillet 2008

Un peu de syntaxe Ruby...

Vous avez apprécier l'article précédent ?
Alors, essayons d'écrire un peu plus de Ruby...

Pour commencer, si vous souhaitez tester ces exemples sur votre poste je vous invite à installer Ruby sur votre machine.
Pour les autres, vous pouvez tester en ligne ou vous contenter de lire :).

Pour l'installation, les Linuxiens se débrouillerons avec leur gestionnaire de paquets pour installer les paquets ruby irb et rdoc.

Pour les utilisateurs de Windows, je vous invite à utiliser le one-click install qui vous donnera tout ce qu'il faut pour commencer.

Lire la suite...

mardi 15 juillet 2008

Ruby, c'est quoi comme langage ?

Let's go...

Dans Ruby on Rails, il y a avant tout Ruby !

Ruby c'est un langage informatique, au même titre que PHP, Python, Java, C, C++, l'ActionScript...

Parmis tous ces langages, trois familles existent, les langages compilés, les langages interprétés et les langages intermédiaires.
Pour information voici comment se répartissent certains langages que vous connaissez surement :

  • Langages compilés : C, C++...
  • Langages interprétés : PHP, PERL...
  • Langages intermédiaires : Java, ActionScript...

Lire la suite...

Mais Ruby, Ruby On Rails, c'est quoi en fait ?

Comme souvent quand quelque chose vous passionne, vous ne pouvez pas vous empêcher d'en faire la promotion autour de vous.

La plupart temps il s'agit d'un groupe de musique, d'une équipe de foot, d'un réalisateur ou d'un acteur et il est assez facile d'expliquer autour de vous pourquoi votre préféré est selon vous meilleur que tous les autres.
Mais quand l'une de vos passions est le Web, vous êtes déjà un peu plus étrange.
Si vous précisez que c'est du développement Web qu'il s'agit, vous devenez carrément bizare.
Et si vous finissez en expliquant que c'est plus particulièrement de Ruby ou Ruby et Ruby on Rails qu'il s'agit, vous devenez aux yeux de votre interlocuteur un extraterrestre !

Et pourtant, c'est mon cas.
Je suis "accroc" à Ruby et Ruby on Rails et je vais donc essayer d'expliquer en quelques billets ce dont il s'agit avec des mots simples.

Ce tutoriel est désormais terminé, en voici toutes les parties :

Ruby, c'est quoi comme langage ?
Un peu de syntaxe Ruby...
Rails, la locomotive de Ruby !
ActiveRecord : Vos données, c'est mon dada.
ActionController : Monsieur Circulation
ActionView : Imprimeur de son état


mercredi 4 juin 2008

En vrac

Pas beaucoup de temps en ce moment (pris par le projet de fin d'année de ma dernière année d'étude), donc je vous livre sans grands discours ce qu'il faut lire, voir, savoir en ce moment :

  • Yahoo fournit un kit d'éléments d'interfaces Web afin de faciliter la création de Wireframes.
  • Les UltraPortables fourmillent Eeepc700, 900, 1000, Gigabyte M912, Wind U90... Et quel OS choisit t-on le plus souvent pour faire tourner ce beau monde : Linux ( Et pourquoi mettre autre chose puisque c'est celui qui vous coûtera le moins cher à configuration matérielle égale, qu'il offre un meilleur confort d'utilisation et une meilleure autonomie !)
  • Ubuntu va développer Ubuntu Netbook Remix : des interfaces dédiées à ces matériels.
  • Les PC de salon à bas prix débarquent eux aussi (EeeBox) et là encore si vous voulez le moins cher ou mieux pour le même prix, c'est la version Linux qu'il vous faudra choisir.
  • Facebook libère sa plateforme de développement et encourage du même coup les développeurs à utiliser leur plateforme.

Et pour Ruby, Rails :

Bonne Lecture.

PS : Je ne vous oublie pas pour la dernière partie de ma série sur nos ressources et le "HomeServer", elle arrive bientôt.

- page 1 de 2