Evolution de l'architecture logicielle des applications web
L'avènement des solutions riches au détriment de celles légères ?

Le , par Benguigui06, Futur Membre du Club
Bonjour

Cela fait quelques temps maintenant que je fais du développement logiciel, une quinzaine d’année pour être exacte. Cela a commencé par des applications « client lourd » à base de Borland C++ puis avec l’aide de L4G (PowerBuilder et consort) et maintenant des applications web multi tiers (Java JSP Struts hibernate). Aujourd’hui, il me semble qu’un nouveau tournant est en train d’être pris et je souhaite avoir votre avis sur ce sujet.
Mon discours se limite au développement d’application web, et en aucun cas au site web. La différence est importante car le résultat fonctionnel attendu est majeure. Un site d’achat en ligne ne demande pas la même ergonomie qu’une application de gestion de RH pour rester simple dans la définition du périmètre.
Globalement nous en sommes donc aujourd’hui au développement d’application web sur la base de technologie de type page/template, PHP, JSP JSF etc. agrémenter de frame work métier, applicatif (hibernate …) et graphique ajax (dojo, riche face …) Cela reste extrêmement contraignant, limitatif et long à développer. Tous les utilisateurs ont déjà pesté conte la pauvreté des IHM web par rapport aux applications client lourd. A chaque validation tout l’écran de réaffiche. Il n’est pas possible de mettre en corrélation 2 informations sans devoir ouvrir 2 onglets ou pire 2 navigateurs et seulement si l’application le supporte ce qui n’est pas toujours le cas.
Mais voilà, nous voyons aujourd’hui apparaître des applications ne reposant plus du tout sur ce type de technologie et ressemblant furieusement à des applications « client lourd ». Le meilleur exemple est sans conteste Google apps avec ses répliques de Word et Excel. Ici il n’y a plus de page, de rafraîchissement et autre flachage tellement désagréable. On utilise l’application comme on utilise Word. En parallèle des nouveaux frames work apparaissent comme Eclipse RAP, Smart GWT ou encore ZKoss, voir même Flex dans une certaine mesure, Tous ces frame work permettent par exemple de créer des fenêtres, comme en Swing, notion totalement absente jusqu’alors du monde web.
Si l’on prend justement le cas du fantastique ZKoss, il est impressionnant de voir l’évolution qu’il impose dans la façon de développer : fini le html, javascript, les formulaires etc., il n’y a plus qu’une technologie à apprendre, ici le Java, et qu’une façon de programmer : l’événementiel, D’un autre coté avec RAP vous développez une fois et votre application existe en version client lourd et version web.
On assiste ici à mon sens a un tournant dans les développements d’applications web, On développe pour le web comme on développe en client lourd et le web n’est plus une contrainte ou un facteur limitant comme aujourd’hui mais redevient un simple support avec ses valeurs ajoutées (le SaaS par exemple)
Evidement cela signe l’arrêt de l’utilisation des JSP/ struts et autre JSF dans le cadre de développement d’appli web, probablement d’ici à 5 ans. Par voix de conséquence la disparition dans 10 ans de ces techno aux seins des entreprises.

Il n’est pas simple de résumer en quelque ligne une telle problématique, désolé pour les très nombreux raccourcits, mais j’ouvre le débat.

P.S. : J’ignore volontairement dotNet car je ne maîtrise pas suffisamment cette plateforme, mais avec silverlight 3.0 j’ai bien le sentiment que Microsoft est en train de prendre le tournant que j’évoque.

Voir aussi :
Le navigateur web : le futur du client lourd ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Niouts Niouts - Membre du Club https://www.developpez.com
le 25/08/2009 à 9:31
Citation Envoyé par Philippe Vialatte  Voir le message
Cote web d'entreprise, pour le moment, les entreprises semblent frileuses a passer sur du RIA...

Je pense que c'est du, en partie, à un manque d'information des décideurs, et d'autre part, au fait que les entreprises (au sens gros compte) attendent un peu de voir ce qui va se passer (du moins, dans la région, c'est le cas), donc les SSII ne forment pas leur personnel et ca stagne...

Après, ca peut démarrer assez vite, il suffit d'un chef qui ait la bonne démo au bon moment

Au niveau de ma boite, on a récupéré en maintenance une appli en flex / PHP et c'était l'horreur ! ca ramait à mort pour afficher les données car il y en avait trop. Bon c'était pas bien codé mais bon à ce point là...
Avatar de Benguigui06 Benguigui06 - Futur Membre du Club https://www.developpez.com
le 25/08/2009 à 13:24
RAP, ZK et GWT, pour ne citer que ceux là, génère du HTML/Js, d’ailleurs c’est bien leur fond de commerce. Mais la très grosse différence c’est que le développeur n’a plus à s’en soucier. Il manipule des composants en java et des événements comme en Swing. Tout le reste est pris en charge par le frame work. Donc plus rapide à développer, à maintenir, à faire évoluer etc. Le ROI est de 30 à 50%.
Mais hélas c’est vrai que le RIA n’est pas encore un standard pour les « décideurs » et pourtant il va bien falloir y passer
Avatar de benjamin_musique benjamin_musique - Membre habitué https://www.developpez.com
le 25/08/2009 à 17:21
Aux experts techniques de ne pas être trop frileux et de prendre l'initiative pour informer leurs dirigeants sur ces évolutions technologiques...
Évidemment, il faut choisir ses mots :
"chef chef g vu un nouveau truc sur developpez.com c trop d'la balle fo tro kon le fasse" => pas bien
Avatar de yashiro yashiro - Membre régulier https://www.developpez.com
le 01/09/2009 à 16:46
Pour ma part, depuis la FAC, j'étais farouchement opposé au développement web, mais depuis un bon moment (au moins 1 ans) avec JEE5, je suis absolument conquis par les technologies de présentation de type RIA.
Pour ma part, je penche particulièrement sur RichFaces/IcesFaces couplé avec JSF + XHTML.

Ce que je trouve intéressant dans ces technologies est, outre le panel de composants proposés, la facilité d'utilisation et la réactivité de ceux-ci, entièrement due au fait que les composants encapsulent la logiques AJAX, permettant alors d'atteindre les niveau de réaction des composants de clients lourds tel que des client à base de SWING.

Par ailleurs, il faut garder à l'esprit que la contrainte imposée aux applications de nos jours est la mobilité. Un utilisateur doit être capable d'accéder à son système d'information où qu'il se trouve dans le monde. Cette contrainte pousse de plus en plus vers la sortie, les application à base de client lourds de type installable et favorise de ce fait les client légers basés sur des navigateurs, sans pour autant accepter la baisse de la qualité du design.

Dans tout ce meli-melo, les technologies de présentation de type RIA sont les bienvenue car elle nous permettent de relever le défis avec le même niveau de qualité, de réactivité, de temps de mise en oeuvre, mais aussi ammenent le développeur et ça de façon naturelle (pour certaines de ces technologies), dans un modèle de développement MVC et parfois même orienté service.

J'encourage donc tout développeur voulant s'y lancer de le faire car pour moi c'est l'avenir.
Avatar de kisitomomotene kisitomomotene - Membre actif https://www.developpez.com
le 02/09/2009 à 16:37
juste pour lever une ambiguité. Il ne faut pas confondre client lourd et client riche.
D'après moi un client riche est un client qui offre une interface utilisateur avec beaucoup d'interactivité "locale" (les clients Ajax sont riches par exemple).
Un client lourd est un client qui contient pratiquement les 3 couches deployés sur un même poste ( Interface utilisateur, logique métier et base de donnée). dans ce cas la base de donnée joue très souvent le rôle de tampon pour permettre de travailler en mode déconnecté, et synchronise avec le serveur en mode connecté.
Avatar de Benguigui06 Benguigui06 - Futur Membre du Club https://www.developpez.com
le 02/09/2009 à 22:11
Citation Envoyé par yashiro  Voir le message
Pour ma part, je penche particulièrement sur RichFaces/IcesFaces couplé avec JSF + XHTML.

Continue et tente l'étape d'après. Abandonne les frames work à base de page (JSF etc.) et tente pas exemple ZKoss. Je pense que tu verra mieux le sens de mon propos et en quoi ces nouveaux frame work proposent encore plus de simplicité (et un code plus concis, moins "artichaut"). tu retrouveras les techniques d'EventListener propre aux programmation swing par exemple
Avatar de Patrice99 Patrice99 - Nouveau membre du Club https://www.developpez.com
le 04/09/2009 à 12:52
Pour moi le développement web passera par Silverlight : je trouve tout le reste trop fastidieux et peu productif par rapport au développement local. Par contre Silverlight offre une bonne transition vers le web. La démo de Quake est bien en Silverlight et non pas en flash, les possibilités sont donc bien là !
P.S. Je développe en DotNet Winform.
Avatar de delphi63 delphi63 - Membre à l'essai https://www.developpez.com
le 04/09/2009 à 20:03
Bonjour.

http://www.benjoffe.com/code/demos/canvascape/textures
mouais...avec une machine de développeur (bi-proc, 4Go RAM et grosse carte graphique), ca rame a mort

Le code de Benjoffe dépend énormément du Navigateur. Et c'est vrai pour tout les Frameworks en javascript.
Entre IE6 et Chrome l'écart est énorme (x10), Google montre que cette solution a peut-être un avenir pas si lointain.
Pour moi avec un AMD 2.21GHz 1.50 Go c'est tout à fait fluide

Ici des chiffres sur performances frameworks suivant les navigateurs.
http://arnaudgeorgin.blogcity.fr/200...rk-javascript/
Avatar de Philippe Vialatte Philippe Vialatte - Expert éminent sénior https://www.developpez.com
le 04/09/2009 à 22:04
Citation Envoyé par delphi63  Voir le message
Le code de Benjoffe dépend énormément du Navigateur. Et c'est vrai pour tout les Frameworks en javascript.
Entre IE6 et Chrome l'écart est énorme (x10), Google montre que cette solution a peut-être un avenir pas si lointain.

Testé avec Firefox 3.5...

Le problème des perfs, ca reste que si un framework n'est pas performant pour la majorité des utilisateurs, il ne sera pas utilisé...et aux dernières nouvelles, ie reste dominant

http://marketshare.hitslink.com/brow...e.aspx?qprid=0
http://marketshare.hitslink.com/brow...e.aspx?qprid=2
Avatar de mikaoul mikaoul - Membre habitué https://www.developpez.com
le 12/09/2009 à 22:47
Citation Envoyé par Philippe Vialatte  Voir le message
Le problème des perfs, ca reste que si un framework n'est pas performant pour la majorité des utilisateurs, il ne sera pas utilisé...et aux dernières nouvelles, ie reste dominant

Malheureusement, IE est dominant et la tendance a toujours du mal à se renverser en particulier en entreprise, à tort ou à raison d'ailleurs.

Mais je pense aussi que les développeurs d'applications web doivent oser créer des applications qui ne tiennent pas compte d'internet explorer, en tout cas dans sa version 6. Car tout le monde le critique mais aussi tout le monde s'efforce de garder une compatibilité avec ce navigateur.

Sur ce point le framework RAP d'Eclipse a osé mettre de côté IE6 pour concentrer ces efforts sur de nouvelles fonctionnalités, en effet, les applications créés avec ce framework sont beaucoup plus lentes avec IE6 qu'avec Firefox par exemple.
Et bien soit, si l'application est vraiment indispensable, l'utilisateur mettra à jour son navigateur ou passera à un navigateur plus performant.
C'est peut être radical mais je pense qu'il faut un certain moment arrêter de disperser ses efforts.

Les frameworks RIA ont révolutionné l'écriture d'applications web de part leur simplificité.
Cependant avec l'arrivé du HTML5, ces frameworks disparaitront-ils ? Serviront-ils uniquement de compilateurs Java/HTML5 ?

On pourrait le penser avec Flash et la nouvelle balise VIDEO de HTML5.
L'utilisation du framework Flash en serait grandement diminué.

Michael
Avatar de NextArchitecture NextArchitecture - Futur Membre du Club https://www.developpez.com
le 20/09/2012 à 14:26
le post initial posait la question : est-ce que l'affichage graphique d'une application continuera a se faire sous format HTML ou sera-t-elle semblable à une application de bureautique ?

Les solutions actuelles permettant de ne pas faire de l'HTML/js sont toutes propriétaires, sous forme de plugin. De mon avis, à utilité égale, l'utilisation d'un langage ouvert et gratuit sera toujours favorisé...
Offres d'emploi IT
Chef projet big data - pse flotte H/F
Safran - Ile de France - Évry (91090)
Consultant sap finance/controlling H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Architecte technique des systèmes d'information H/F
Safran - Ile de France - Évry (91090)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique ALM