Spring.Fluent

Certains le savent déjà, je suis un accro à Spring.Net depuis ses débuts.
En fait, je suis devenu amoureux de Spring Java dès sa sortie… c’était les débuts de l’IOC.

Spring est devenu un framework « standard de facto » dans le monde Java. Il inclut bien plus que de l’IOC: AOP, Web MVC, etc.
Aujourd’hui, Spring c’est aussi un serveur « JEE » d’un nouveau genre. Puis il y a eu l’acquisition d’Hyperic, puis c’est au tour de VMWare d’acquérir Spring…
Bref, c’est une vrai success story dans le monde Java.

Quand à Spring.Net, ce n’est pas encore ça. Le projet Castle est même lui plus avancé: framework IOC, AOP, Web MVC, etc.
Je crois que Castle était en avance sur son temps dans l’écosystème .Net, c’est peut-être la raison pourquoi il n’a pas pris la même ampleur que Spring Java.

Mais j’ai foie en Spring! Ce framework m’aide tout les jours à réaliser des applications d’entreprises complexes et robustes.

Mais une chose rebute TOUT développeur .Net: la configuration XML.
Le XML c’est verbeux, le XML ça ne se compile pas, on n’a pas intellisense avec le XML…
Bref, plein de raison de préférer des frameworks comme AutoFac ou Ninject qui propose une approche de configuration par code, voir à la sauce « fluent ».

A ça, je réponds que:

  • la verbosité n’est pas dramatique quand on a la complétion. Je remarque aussi que la verbosité est reproché avec des fichiers XML de 1000 lignes… ce qui est tout aussi vrai avec un code source C# de 1000 lignes.
  • la complétion et la vérification du XML peut être faite à l’édition ou la compilation, c’est ce que fait  Spring IDE sous Eclipse, mais pas de support VisualStudio pour le moment (même si Resharper arrive à la rescousse)
  • on PEUT faire du Spring sans XML, même si les gens de Spring.Net n’ont pas été très cool sur l’API…

Comme l’API de Spring.Net est un peut obscure et pas très documenté sur son utilisation en dehors d’une configuration XML, j’ai décidé de faire une petite surcouche pour facilité l’écriture et que ce soit suffisamment intuitif pour ne pas avoir besoin d’une doc.

De cette volonté est né le projet Spring.Fluent!!

C’est un projet OpenSource, ce qui veut dire que je ne vous interdit pas de m’aider à réaliser mon rêve :)
Ceci-dit, un projet similaire existe déjà: http://code.google.com/p/fluent-spring/
Alors pourquoi faire un fork? Car il m’a fallut 1 journée pour faire autant et même plus que ce le projet propose, et à ma façon qui me plait rien qu’à moi!

De plus, Mark Pollack à l’annonce de Spring.Net 1.3, a prétendu que la configuration « par code Fluent » sera un point de la prochaine version, à savoir la 2.0: http://www.infoq.com/interviews/Spring.NET-1.3-2.0

Je souhaite à Mark et toutes l’équipe de Spring.Net de réussir, en attendant j’ai ma propre solution. Et si elle peut les inspirer pour Spring.Net 2.0, ce sera formidable. C’est pourquoi je pense ce cet « effort » n’est pas perdu: il n’est jamais inutile de contribuer au monde OpenSource et à faire connaitre ses opinions.

À propos Mathias Kluba
Nom : Kluba Prénom : Mathias Né à Łódź (Pologne) le 11 août 1983 Vie à Issy-les-Moulineaux (France) J'aime : - l'informatique - la musique - le dessin de temps en temps... - le cinéma - refaire le monde

2 Responses to Spring.Fluent

  1. Bruno Baia dit :

    Bonjour,

    Il y a aussi le projet CodeConfig en cours de dev :

    http://eeichinger.blogspot.com/2009/12/merry-xmlless-codeconfig-for-springnet.html

    Sinon, en 2.0, la gestion par attributs devrait voir le jour.

  2. grozeille dit :

    En effet, ça a l’air bien plus avancé, et j’imagine que c’est la future brique « officiel » de Spring.Net?
    Merci pour le lien!

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Suivre

Recevez les nouvelles publications par mail.

%d blogueurs aiment cette page :