Faire de l’ASP.NET différemment avec Nancy

Ces dernières années, les développeurs ASP.NET ont connu une série de transformations sur la façon de faire le développement web. Initialement, il y avait ASP.NET Forms. Par la suite est arrivée une séquence de changements qui ont introduit ASP.NET MVC, Razor et dernièrement ASP.NET Web API.

NancyEn coulisses, ces dernières années, ASP.NET s’est ouvert à l’introduction de fonctionnalités communautaires au cadre de développement. D’ailleurs, certains composants au cœur des fonctionnalités d’ASP.NET utilisent des librairies provenant du projet jQuery et il y a même un gabarit de projet proposant l’utilisation Knockout.js. C’est peu dire.

Il est maintenant possible, sans effort, d’y développer de nouvelles fonctionnalités sans utiliser ce qui est d’emblée fourni par .NET. J’ai introduit un exemple de cette philosophie dans mon précédent billet au sujet du standard OWIN.

À plus petite échelle, si vous ne désirez pas utiliser ASP.NET MVC ou Web Forms pour votre projet, sachez qu’il y a des alternatives. L’une de celles-ci est le projet Nancy.

Nancy permet la création de services web en utilisant une syntaxe minimaliste inspirée du projet Sinatra, pour Ruby. Pour donner un exemple, le code suivant permet de router l’accès à la racine de votre site web à une vue qui se nomme « index » :

Assez simple, n’est-ce pas? C’est à partir de cet instant que le plaisir commence, à mon avis.

Lorsque l’on jette un coup d’oeil à NuGet, il s’agit de plus de trente extensions liées directement à Nancy qui peuvent être téléchargées afin de vous aider à construire votre projet.

Un projet de base utilisera uniquement la librairie Nancy ainsi que Nancy.Hosting.Aspnet afin de permettre l’hébergement avec ASP.NET. Ce n’est pas sans raison que j’ai mentionné ce dernier package. Il est possible, par exemple, d’utiliser Nancy.Hosting.Self  afin de créer un service qui s’autohébergera en utilisant HttpListener.

Vous avez compris que les possibilités sont assez vastes. Si vous êtes comme moi, vous allez vouloir certainement vouloir vous en mettre plus sous la dent avec Nancy. À ce sujet, il y a beaucoup de possibilités devant vous, car il y a une multitude de ressources sur la question.

À titre d’exemple, il y a le site http://samples.nancyfx.org/ qui contient quelques exemples de fonctionnalités qui ont été développées en utilisant Nancy. Le code en entier est accessible sur GitHub.

Pour le restant, il s’agit de vouloir expérimenter avec cette librairie qui permet effectivement de faire le développement web avec .NET différemment. Nancy s’insère, à mon avis, très bien dans un contexte de développement de service web léger ou même d’applications ayant un cadre de fonctionnement balisé.

Advertisements

Laisser un commentaire

Entrer les renseignements ci-dessous ou cliquer sur une icône pour ouvrir une session :

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

%d blogueurs aiment ce contenu :