Technologies

Choisir un framework web …

Publié le : Auteur: Abdenour BOUATELI 2 commentaires
technologies

Aujourd’hui, un nombre important de frameworks web sont disponibles sur le marché et il n’est pas toujours évident de les différencier. Pour bien choisir, il y a quelques critères à prendre en compte qui vous permettront d’ores et déjà de faire une présélection.

Cependant, ce sera à vous de prendre un peu de temps pour tester ces frameworks et voir celui qui répond le mieux à vos besoins. D’autant plus qu’il n’y a pas de framework idéal, à chacun vous  trouverez ses avantages et inconvénients.

Le principal intérêt d’un framework web est :

  1. d’accélérer le temps de développement,
  2. de conserver une homogénéité du code et une pérennité dans vos projets,
  3. de développer des IHM riches,
  4. de sécuriser plus facilement vos applications.

Parmi les plus connus, on trouvera : Struts2, JSF, Spring MVC, …

Ces frameworks intègrent généralement les mêmes composants : implémentation du MVC, Scaffolding, support de l’internationalisation, système de cache, sécurisation du code (faille XSS)…

Voici quelques critères importants dans le choix d’un framework :

1. Facilité de prise en main :

Dans tous ces frameworks, il y a obligatoirement une période de prise en main plus ou moins longue selon le framework et les compétences du développeur. Il s’agit d’un critère à prendre en compte lors de la venue d’un nouveau développeur dans une équipe qui peut ne pas connaître le framework.

2. Flexibilité / Souplesse :

Il est important de distinguer les contraintes imposées par le framework, en effet un défaut que l’on retrouve avec certains de ces frameworks, le développeur doit s’adapter au framework et « se plier » à certaines règles et non le contraire.

3. Taille des projets développés (site vitrine, backoffice…) :

Il sera préférable de s’orienter vers un framework léger pour développer un site statique.

4. Documentation :

Elle doit être complète, claire et régulièrement mise à jour; des tutoriaux sont aussi de plus en plus proposés.

5. Performance du framework :

Malgré les systèmes de cache, certains frameworks peuvent s’avérer assez « gourmand »

6. Communauté :

Ne pas hésiter à tester la réactivité de la communauté sur les forums en postant quelques questions.

7. Evolutivité :

Voir les futures évolutions prévues

D’après mes recherches sur le net, GWT et Spring MVC arrivent toujours en tête.

 

Criteria Struts 2 Spring MVC Wicket JSF 2 GWT Flex
Developer Productivity 0,5 0,5 0,5 0,5 1 0
Developer Perception 0,5 1 1 0 1 1
Learning Curve 1 1 0,5 0,5 1 1
Project Health 0,5 1 1 1 1 0,5
Developer Availability 0,5 1 0,5 1 1 1
Job Trends 1 1 0,5 1 1 1
Templating 1 1 1 0,5 0,5 0,5
Components 0 0 1 1 0,5 1
Ajax 0,5 1 0,5 0,5 1 0,5
Plugins or Add-Ons 0,5 0 1 1 1 1
Scalability 1 1 0,5 0,5 1 0,5
Testing 1 1 0,5 0,5 0,5 0
i18n and l10n 1 1 1 0,5 1 0,5
Validation 1 1 1 0,5 1 1
Multi-language Support (Groovy / Scala) 0,5 0,5 1 1 0 0
Quality of Documentation/Tutorials 0,5 1 0,5 0,5 1 1
Books Published 1 1 0,5 1 1 1
REST Support (client and server) 0,5 1 0,5 0 0,5 0,5
Mobile / iPhone Support 1 1 1 1 1 0,5
Degree of Risk 1 1 1 1 1 1
Totals 14,50 17 15 13,5 17 13,5

 

  • Merci Abdenour pour ce sujet de veille. Un point cependant : quand tu reprends une source externe dans un post il faut que tu la cites. Là je pense que ton tableau est un extrait du tableau http://bit.ly/jvm-frameworks-matrix, lui même cité par @mraible ici : http://fr.slideshare.net/mraible/comparing-jvm-web-frameworks-spring-io-2012

    Tu ne parles pas de Grails qui pourtant arrive devant GWT et SpringMVC. Est-ce que tu considères qu’il ne fait pas partie des choix raisonnables pour nos clients ?

    • Abdenour Bouetalli

      Vincent,

      Oups, j’ai oublié de mettre la référence de la matrice, bien joué Vincent:)
      Il y’a d’autres frameworks web que je n’ai pas abordé, comme SEAM, Wicket,…
      J’ai choisi des frameworks web pure java, sinon j’aurais abordé les RIA(Grails, Flex,…).
      Il est vrai que la tendance du marché s’est orientée ces derniers temps vers les RIA .
      40% de nos clients utilisent des solutions dites RIA, tout simplement, ils veulent un investissement sûr (IHM,WebService/SOA).
      BNP -> Flex, CA ->Silverlight (Ma première expérience), SG ->Grails,…
      Et puis, la migration des anciens fwk web vers RIA coûtent de l’argent, car il ne s’agit pas de réecrire uniquement des IHM, il faut Thinking Webservice, comme on dit dans le jargon.

      Abdenour