Magazine

Développement Web et Frameworks

Publié le 02 mai 2008 par Olivier Duval

Une application Web visible des internautes n'est que la face visible de l'iceberg qu'est un projet. Après tout, ce n'est que du (X)HTML que nous affichons sur le navigateur, mais pour arriver jusqu'à ce stade ultime, les étapes sont innombrables.

Toute mise en oeuvre sérieuse demande un minimum de frameworks ou de librairies à tout niveau : de la présentation à la gestion de données. Alors, quelques frameworks que nous utilisons quotidiennement, et qui nous facilitent la vie, nous affranchissant de nombreuses contraintes.

  • ORM : NHibernate et DSmap : il est très utile d'avoir un framework de mapping entre la base et le monde objet, les 2 mondes peuvent être conçus différemment. Le 2ème est un ancien ORM maison, basé sur les attributs. En raison d'une communauté inexistante, le choix était logique de migrer vers un ORM reconnu et surtout développé et maintenu par une forte communauté, NHibernate fut le choix de facto. L'avantage de ce dernier face à DSmap est l'absence d'attributs, chaque entité est une classe sérialisable non polluée, le mapping vers la table s'effectuant sous forme de fichier de description XML : champs, relations, référence vers une autre table, ...
  • Javascript : Prototype / Scriptaculous : Prototype est une librairie puissante, notamment connue grâce à Ruby on Rails. Elle emprunte au niveau syntaxique et fonctionnalités beaucoup à Ruby. L'avantage de Prototype est l'usage d'Ajax, la librairie nous soulage énormément des rouages de bas niveau, notamment vis-à-vis des navigateurs ou des retours Ajax. Scriptaculous est une librairie développée au dessus de Prototype, proposant des composants prêts à l'emploi (Autocompleter, drag & drop, ...). En ASP.NET, afin d'abstraire la librairie utilisée, on développera plus volontiers des contrôles utilisateurs, encapsulant les librairies utilisées. L'avantage est de pouvoir ou du moins plus facilement de changer de librairie si le désir s'en fait sentir (jQuery par exemple).
  • Web : ASP.NET : Microsoft a apporté un nouveau modèle de développement Web, en y intégrant une multitude de principes, dont certains issus des applications fenêtrées : évenementiel, simulation de la persistance de l'état d'une page (HTTP est state less), data binding, contrôles, et un très puissant système de cache, voir un résumé des points importants sur ASP.NET. On ne développera bien entendu pas tout dans un projet Web, une architecture n-tiers est primordiale afin d'abstraire et de découpler les couches, dans un prochain billet, je présenterai une introduction à ce type d'architecture.

S'appuyer sur des frameworks réduit le temps de développement et la maintenance de librairies qui sont déjà utilisées, ne pas redévelopper ce qui existe déjà.

On pourra aller encore plus loin, dans un environnement full objet et fortement découplé, en utilisant des frameworks supplémentaires :

  • conteneurs d'IoC avec des frameworks : de type Spring ou Castle Windsor
  • la capacité de .NET2 de gérer des providers : pouvoir en temps réel instancier une implémentation spécifique avec peu ou prou de modification de code.
  • des frameworks de type MVC : ASP.NET MVC, MonoRail, Promesh. Même si, d'un avis tout personnel, dans un environnement ASP.NET, l'utilisation de MVC est une hérésie, on y perd une bonne partie du paradigme ASP.NET. Parmi les extensions nouvelles d'ASP.NET, ADO.NET Entity et ADO.NET Data Services seraient intéressantes pour exposer une API (sous forme d'URL REST).

Quelques librairies ou composants Javascript :

Le choix d'un framework ou d'une librairie reste difficile et il faut se poser les bonnes questions afin de ne pas investir du temps pour rien : est-il pérenne, a-t-il une communauté suffisamment constituée, est-il suffisamment modulable et souple, y a-t-il souvent des mises à jour (ie: projet actif), répond-t-il aux besoins, sera-t-il facilement remplaçable ?

Une veille permanent est importante afin de réfléchir à de meilleures solutions d'implémentations, merci aux RSS


Retour à La Une de Logo Paperblog

A propos de l’auteur


Olivier Duval 4 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte