Précédent   Forum des professionnels en informatique > Java > Développement Web en Java
Développement Web en Java Forum d'entraide sur les technologies Web de Java (JSP/Servlets, Portlets, Applets, frameworks Web, etc.) Avant de poster -> FAQ Java EE
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2012, 12h01   #1
Membre éclairé
 
Avatar de Ceddoc
 
Homme Cédric
Développeur Java / Web / .NET
Inscription : janvier 2009
Messages : 338
Détails du profil
Informations personnelles :
Nom : Homme Cédric
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Java / Web / .NET
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2009
Messages : 338
Points : 387
Points : 387
Par défaut Limites du client léger en Java

Bonjour,

J'étudie le développement d'une application de gestion en java, l'idéal serait qu'elle soit 100% client léger, mais j'ai surtout fait du client lourd pour l'instant.

Du coup j'ai un peu du mal à voir la faisabilité de certaines choses en client léger.

Notamment, j'aimerais créer une interface graphique le plus "user-friendly" possible avec des drag&drop, des redimensionnements d'éléments à la souris, un affichage type calendrier, etc...

Et tout ça par navigateur...

Du coup j'imagine que ce serait du JSP, donc j'aurais besoin d'informations:
  • Est-ce possible de coupler JSP avec des technologies comme ajax ou du javascript type Jquery afin d'augmenter les possibilités au niveau de l'interface
  • Est-ce qu'on pourra s'approcher d'un rendu fonctionnel et visuel s'approchant de ce qu'on peut faire en silverlight ou en couplage ajax/php
  • Pour les traitements, ils seront majoritairement fait sur le serveur d'application (probablement tomcat) donc a priori le fait de choisir ce type de client ne changera pas les performances, mais dans le cas de nombreux échanges client/serveur est-ce que ces requetes exclusivement http (d'après ce que j'ai compris) sont moins efficaces (performantes) que lorsqu'un client lourd échange avec le serveur sur des webservices (ou autre)?
  • Au niveau du temps et de la complexité de développement, j'imagine que ce sera plus long et plus difficile d'avoir un rendu correct que sur du client lourd, mais avez vous une idée d'un rapport approximatif (par exemple développer un calendrier type outlook en client léger va prendre 2 3 6 10 fois plus de temps que le même développement en client lourd)
  • Est-ce que vous pourriez déjà m'indiquer des pistes à suivre au niveau de bibliothèques, de framework, d'outils, pour faciliter le développement, j'ai vu qu'il y avait des framework genre struts, JSF, etc... Mais je ne sais pas trop à quoi ils servent, à quoi ils correspondent.

Si vous pouviez déjà m'éclairer sur ces points ce serait sympa. Merci d'avance.
Ceddoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h28   #2
Invité de passage
 
Inscription : février 2012
Messages : 2
Détails du profil
Informations forums :
Inscription : février 2012
Messages : 2
Points : 3
Points : 3
Bonjour,
si tu fait un client léger web, n'importe quelle techno que tu utilises, au final, les possibilités sont celles offertes par le navigateur web (HTML 5 ou pas, Flash, Applet etc...). Que tu tu utilises du Java ou du PHP, le rendu au final peut etre le meme, c'est la mise en oeuvre qui va bcp changer.

Tu peux évidenment coupler du JSP avec JQUERY. Il ne faut pas tout mélanger. JSP permet de définir des pages coté serveur, le serveur génere le code HTML quand le navigateur demande la page JSP. Le code HTML généré peut contenir du javascript (JQuery etc...) ou autre. L'AJAX peut etre également couplé avec des applis Java.

La grande difficulté du web, c'est que contrairement à une application desktop, tu es limité par les possibilités du HTML et du navigateur, beaucoup de choses sont a prendre en compte : compatibilité entre les navigateurs, résolution etc... Coder des composants graphiques web peut devenir trés trés lourd et couteux, il faut quasi impérativement passer par des bibliotheques tierces (Google, Yahoo etc...). En terme d'érgonomie, tu ne pourra jamais atteindre la souplesse d'une application client lourd avec un client léger web, meme si d'énormes progrés ont été fait.

Pour ta question sur les traitements. Les traitements métiers sont cotés serveur (accés à la db, maj des données, traitements divers...), les performances dépendent énormement du serveur (puissance du proc, de la db, ...). En général une bonne machine est requise (je travaille sur du WebSphere dans une banque, faut pas mal de ressources) et c'est pas aussi réactif que du PHP !!

Quelques pistes de recherche :
JSP/JSF/STRUTS : gére en gros la partie affichage (mise en forme des pages, des données à afficher)

HIBERNATE/JPA : accés aux données (base de données)

STRUTS/EJB : Partie métier

N'hesite pas à regarder les nombreux tuto du site
TucoBouch57 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/02/2012, 16h30   #3
Membre éclairé
 
Avatar de Ceddoc
 
Homme Cédric
Développeur Java / Web / .NET
Inscription : janvier 2009
Messages : 338
Détails du profil
Informations personnelles :
Nom : Homme Cédric
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Java / Web / .NET
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2009
Messages : 338
Points : 387
Points : 387
Merci d'avoir prit le temps de répondre, tu confirmes un peu l'idée que je m'étais faite, je vais regardé les pistes que tu m'as donné.

Citation:
Envoyé par TucoBouch57 Voir le message
Bonjour,
si tu fait un client léger web, n'importe quelle techno que tu utilises, au final, les possibilités sont celles offertes par le navigateur web (HTML 5 ou pas, Flash, Applet etc...). Que tu tu utilises du Java ou du PHP, le rendu au final peut etre le meme, c'est la mise en oeuvre qui va bcp changer.

Tu peux évidenment coupler du JSP avec JQUERY. Il ne faut pas tout mélanger. JSP permet de définir des pages coté serveur, le serveur génere le code HTML quand le navigateur demande la page JSP. Le code HTML généré peut contenir du javascript (JQuery etc...) ou autre. L'AJAX peut etre également couplé avec des applis Java.

La grande difficulté du web, c'est que contrairement à une application desktop, tu es limité par les possibilités du HTML et du navigateur, beaucoup de choses sont a prendre en compte : compatibilité entre les navigateurs, résolution etc... Coder des composants graphiques web peut devenir trés trés lourd et couteux, il faut quasi impérativement passer par des bibliotheques tierces (Google, Yahoo etc...). En terme d'érgonomie, tu ne pourra jamais atteindre la souplesse d'une application client lourd avec un client léger web, meme si d'énormes progrés ont été fait.

Pour ta question sur les traitements. Les traitements métiers sont cotés serveur (accés à la db, maj des données, traitements divers...), les performances dépendent énormement du serveur (puissance du proc, de la db, ...). En général une bonne machine est requise (je travaille sur du WebSphere dans une banque, faut pas mal de ressources) et c'est pas aussi réactif que du PHP !!

Quelques pistes de recherche :
JSP/JSF/STRUTS : gére en gros la partie affichage (mise en forme des pages, des données à afficher)

HIBERNATE/JPA : accés aux données (base de données)

STRUTS/EJB : Partie métier

N'hesite pas à regarder les nombreux tuto du site
Ceddoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h31   #4
Membre éclairé
 
Avatar de JoeChip
 
Inscription : septembre 2008
Messages : 285
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 285
Points : 338
Points : 338
Citation:
l'idéal serait qu'elle soit 100% client léger,
Pourquoi ? Je ne vois pas l'avantage par rapport à JWS, en fait.
JoeChip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h40   #5
Membre éclairé
 
Avatar de Ceddoc
 
Homme Cédric
Développeur Java / Web / .NET
Inscription : janvier 2009
Messages : 338
Détails du profil
Informations personnelles :
Nom : Homme Cédric
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Java / Web / .NET
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2009
Messages : 338
Points : 387
Points : 387
Citation:
Envoyé par BenWillard Voir le message
Pourquoi ? Je ne vois pas l'avantage par rapport à JWS, en fait.
Tu pourrais développer? JWS ça me fait surtout peur au niveau fluidité j'avoue
Ceddoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h56   #6
Membre éclairé
 
Avatar de JoeChip
 
Inscription : septembre 2008
Messages : 285
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 285
Points : 338
Points : 338
"Fluidité" ? que veux-tu dire ? en JWS ça tourne localement... C'est juste que ça s'installe et se met à jour tout seul. Du coup un tout petit serveur suffit : au lieu de devoir payer les ressources du serveur, tu utilises celles du client. Je ne vois pas trop l'intérêt de payer pour que le client puisse utiliser moins de ses ressources locales, qui sont surabondantes.
JoeChip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 17h02   #7
Membre éclairé
 
Avatar de Ceddoc
 
Homme Cédric
Développeur Java / Web / .NET
Inscription : janvier 2009
Messages : 338
Détails du profil
Informations personnelles :
Nom : Homme Cédric
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Java / Web / .NET
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2009
Messages : 338
Points : 387
Points : 387
ça tournera localement, mais les données seront sur un serveur BDD donc ça va multiplier les transferts réseau (ou internet pour aller interroger la base) (comme en client lourd quoi)
Ceddoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 17h23   #8
Membre éclairé
 
Avatar de JoeChip
 
Inscription : septembre 2008
Messages : 285
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 285
Points : 338
Points : 338
Je ne vois pas pourquoi il y aurait un plus gros volume de données à passer dans le réseau... Il suffit de faire les traitements côté serveur... ça n'oblige pas à faire 100% client léger.
JoeChip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2012, 12h36   #9
Membre habitué
 
Homme Emmanuel
Développeur Java/JEE Web
Inscription : octobre 2008
Messages : 45
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Java/JEE Web

Informations forums :
Inscription : octobre 2008
Messages : 45
Points : 129
Points : 129
Salut,

Au niveau présentation côté client, je ne peux que te conseiller la bibliothèque javascript ExtJs.
Très puissante pour faire des applications web se rapprochant d'une application client lourd.

Elle pourra très bien se coupler à du J2EE struts/JSP etc...

Par contre, elle est en licence payante si elle est utilisée dans une application professionnelle.
En licence gratuite, je pense que tu as GWT couplé avec SmartGWT et enfin SmartClient (http://www.smartclient.com/) que je n'ai malheureusement jamais utilisé.
manubiolo est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h01.


 
 
 
 
Partenaires

Hébergement Web