Introduction au framework nRoute

2 minutes read

Cet article est le premier d’une série qui aura pour but de vous présenter le développement d’une application Silverlight utilisant framework nRoute.

nRoute c’est quoi ?

nRoute est un framework ciblant Silverlight, WP7 et WPF et permettant de développer des applications modulaires respectant strictement le principe de séparation des couches applicatives.

Afin d’accomplir cette tâche, nRoute fournit les outils qui permettent d’éclater votre application en petits blocs et la glue nécessaire pour recoller les morceaux à l’exécution. Il a été prévu pour le développement d’applications respectant le pattern MVVM. Cependant résumer nRoute à un simple framework MVVM serait une erreur. En effet, de part les fonctionnalités qu’il apporte il se situe plus près de Prism que de LightMVVM.

nRoute est à l’origine un framework de navigation à l’image de ce qui a été introduit dans Silverlight 3. Son approche est toutefois différente de ce dernier car il se base sur ASP.NET MVC et réimplémente le concept de contrôleur. Il est de plus capable de gérer un historique de navigation ou de sauvegarder l’état d’une vue (par exemple la valeur de toutes les TextBox d’une vue) avant la navigation (particulièrement utile dans les scenarii de type Wizard). La partie navigation du framework est par ailleurs optionnelle.
Voici une formule illustrant ce fait : nRoute Toolkit + Navigation Framework => nRoute Framework.

nRoute permet de développer des vues facilement éditables avec ce merveilleux outil qu’est Microsoft Expression Blend. A ce titre il fournit une grande quantité de Behaviors qui facilitent la navigation, l’initialisation de ViewModels, l’éxecution de commandes ou d’actions de contrôleurs.

A l’image de l’EventAggregator de Prism, il fournit un moyen aux contrôles de dialoguer entre eux via des canaux de communication utilisant les Reactives Extensions. Cette partie du framework est appelée le “Messaging Framework”.

Tout ceci ne fonctionnerait pas sans le RLF (Resource Locator Framework) qui permet entre autres l’inversion de contrôle/l’injection de dépendances ou le chargement dynamiques de contrôles issus d’assemblys externes.

Maintenant que vous avez une vision globale de ce qui constitue nRoute et de ce dont il est capable vous vous demandez peut-être…

Pourquoi cette série ?

nRoute est un très bon framework qui souffre cependant d’un manque de documentation. Comme je l’utilise pour des applications LOB (Line Of Business) et que j’en suis pleinement satisfait, j’ai décidé de vous faire partager mon expérience et de vous montrer pas à pas comment utiliser les différentes parties de nRoute.

Le prochain article portera donc sur la base : Le développement MVVM avec nRoute.

Quelques liens utiles

Site codeplex de nRoute : http://nroute.codeplex.com

Blog du créateur de nRoute : http://www.orktane.com

Updated:

Leave a Comment