Developpez.com - Rubrique ALM

Le Club des Développeurs et IT Pro

Evolution de l'architecture logicielle des applications web

L'avènement des solutions riches au détriment de celles légères ?

Le 2009-08-20 22:16:04, par Benguigui06, Membre à l'essai
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 ?
  Discussion forum
27 commentaires
  • baya1
    Membre régulier
    Cette évolution m'a enchanté je dois dire. Je l'ai découverte il y a seulement un mois et j'adore. Dans mon cas, j'utilise GWT et GXT. ça fait gagner pas mal de temps pour développer les interfaces au lieu d'utiliser HTML et d'essayer de jongler avec les quelques composants qu'il propose. Avant, j'allais utiliser les jsp mais en découvrant qu'on pouvait faire du RIA facilement avec GWT, j'ai tout de suite changé d'avis.
  • Vivian Pennel
    Membre actif
    Bah perso de mon expérience pro haute d'un peu plus d'un ans(), j'ai toujours été (pendant mes études) plutôt enclin à éviter le web parce que je n'en aimais pas le développement. Or depuis, ben j'ai trouvé un taff la ou y'en a le plus (i.e le web) et plus je travaille dans ce secteur plus je me dis aussi qu'au final les techno tendent vers le style client lourd. Là par exemple j'ai touché un peu à ExtJS+Java, bah ca ressemble furieusement à SWING dans le principe.

    En ce qui concerne la disparition des technos à base d'HTML, pour le moment ca ne me semble pas envisageable pour 2 raisons :
    - Le javascript est encore atrocement lent (mais c'est en cours de gros changements)
    - Les IHM à base d'HTML ont à mon avis une grande part d'influence dans le succès des applis web (facilité d'apprentissage)

    Jusqu'à maintenant j'ai toujours pensé que le développement web était plus simple que le client lourd, et c'est peut-être à ce niveau que le problème risque de se situer.
  • lunatix
    Rédacteur
    je pense completement le contraire : l'avenement de html5 et ses differentes avancées (Drag and drop, multimédia, dessin 2D, dessin 3D, animations via css), c'est le contraire qui ca se passer.

    le navigateur va devenir l'interface graphique des applications locales.
  • TheBlackReverand
    Membre averti
    j'aimerais juste apporter un complement vis-a-vis du .NET

    a partir du framework 3 vous pouvez rediger des interfaces locale en WPF (evolution du WindowsForm). en quelque modification vous pouvez fair passer votre application WPF en Silverlight! les possibilitè sont très similaire

    les seul changement sont:
    - quelque animation/interaction manquante dans le Silverlight par rapport au WPF
    - quelque animation/interaction qui ne s'utilise pas de la meme maniere
    - l'accès au donnèe

    la ou WPF se connecte au serveur de donnèes Silverlight se connecte a un WebService qui est rattacher a un serveur de donnè

    personnellement, j'ai realiser un mini Dailymotion pour un projet de licence en Silverlight 2 (mon 1er projet web viable) => plus rapide a developper(pour quelqu'un habituer au appli local) et le resultat et plus beau en tout point

    non non je ne m'eloigne pas du sujet mais c'est pour en venir au fait que, je suis developpeur local et pourtant je n'ai eu aucune difficultè(sans formation web) a realiser en peu de temps une application web simple, efficace.

    dans ce sens je pense que c'est une autre force des grossess applications web(ceci venan directement de leur ressemblance au application locale)
  • Philippe Vialatte
    Expert éminent sénior
    Perso, je suis encore partage sur la question...

    D'un cote, Flex et Silverlight apportent effectivement beaucoup en terme de facilite de design et de developpement. Les interfaces graphiques sont plus sympas, et pour certains usages, c'est carrement impensable de repasser a du web (Jeux, streaming, etc...)

    Autant, d'un autre cote, ce sont des plugins a ajouter sur les machines client, qui vont souvent ajouter du poids par rapport a du html/js/css, et pour un gain qui va souvent etre de l'ordre de l'esthetique, et le referencement n'est pas vraiment simplifie par ces applis.

    Je pense que les deux solutions HTML + JS / RIA font du sens aujourd'hui, pour des cas specifiques, a voir dans 5 ans ce que ca donnera...
  • chris81
    Membre actif
    Envoyé par TheBlackReverand


    la ou WPF se connecte au serveur de donnèes Silverlight se connecte a un WebService qui est rattacher a un serveur de données
    Bonjour, juste pour infos ceci est modifié par l'arrivée de .Net RIA Services qui permet de créer automatiquement des modèles suivant ton sgbd (sql server pour l'instant) et de gérer tout ce qui est maj, ajout.... Il n'y a plus besoin de webservice.

    http://blogs.msdn.com/davrous/archive/2009/05/28/comment-d-velopper-des-applications-d-entreprises-orient-es-donn-es-avec-silverlight-3-introduction-net-ria-services-1-4.aspx

    ++
  • LordBob
    Membre averti
    Envoyé par Philippe Vialatte
    ... et pour certains usages, c'est carrement impensable de repasser a du web (Jeux, streaming, etc...)...
    As-tu essayer Quake Live ? Le portage de Quake en version Web... C'est impressionnant et c'est bien dans l'air du temps, des applications Web !
  • SLiM_ViNCe
    Membre du Club
    Envoyé par TheBlackReverand
    en quelque modification vous pouvez fair passer votre application WPF en Silverlight! les possibilitè sont très similaire

    les seul changement sont:
    - quelque animation/interaction manquante dans le Silverlight par rapport au WPF
    - quelque animation/interaction qui ne s'utilise pas de la meme maniere
    - l'accès au donnèe
    Mieux vaut passer de Silverlight à WPF plutôt que l'inverse. J'ai passé une semaine à faire un portage sur une interface bien chiadée en termes d'animation, etc... Y a aussi (et surtout pour moi) des possibilités réduites pour le binding et les templates ainsi que l'inexistence de la 3D en Silverlight (la projection de plans, c'est trop fastidieux à mon goût).

    Mais sorti de ça, il est vrai que même pour un développeur non-web, c'est facile à appréhender ce genre de techno'.
  • Philippe Vialatte
    Expert éminent sénior
    Envoyé par LordBob
    As-tu essayer Quake Live ? Le portage de Quake en version Web... C'est impressionnant et c'est bien dans l'air du temps, des applications Web !
    Oui, sauf que quake live, c'est du flash...

    Quand je parlais de Web, dans le contexte de ce thread, je voulais dire du HTML+JS
  • lunatix
    Rédacteur
    quand on voit ce genre de choses http://www.benjoffe.com/code/demos/canvascape/
    je me dis que html/js pourrait bien devenir completement viable pour les jeux