Bonjour à tous
Je dois réaliser une application dans le domaine social. Seulement j'hésite entre une appli swing et une appli web. Quels sont les caractéristiques que je dois prendre en compte pour faire mon choix?
Thanks.
Pruderic
Bonjour à tous
Je dois réaliser une application dans le domaine social. Seulement j'hésite entre une appli swing et une appli web. Quels sont les caractéristiques que je dois prendre en compte pour faire mon choix?
Thanks.
Pruderic
Entre autre :
1. tes connaissances,
2. le mode de déploiement sur les postes clients,
3. la maintenabilité (comment mettre à jour si c'est du swing),
4. le temps disponible,
5. les difficultés techniques (périphérique exotique sur les postes client ?)
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Que la force de la puissance soit avec le courage de ta sagesse.
1. Mes connaissances
Je débute en Java. Je pense me faire aider par le livre de Goncalves
2. le mode de déploiement sur les postes clients,
Je ne maitrise pas tres bien le deploiement.
Et si je t'ai compris, l'organisme a les moyens de de s'offrir un hébergement (si appli web) sinon je pense qu'il faudra miser sur un serveur qui peut prendre une charge de 20 à 100 postes clients.
3. la maintenabilité (comment mettre à jour si c'est du swing),
J'avoue que je n'ai pas pensé à ça mais il pourrait avoir des versions
4. le temps : j'ai pas de deadline. mais je me donne fin septembre si je commence en Juillet
je saisis pas le sens de périphérique exotique.5. les difficultés techniques (périphérique exotique sur les postes client ?)
si vous avez d'autres propositions pour les livres n'hesitez pas.
Je ne pensais pas à ça. De toute façon, il va te falloir un serveur, quelque soit le choix pour la partie cliente. Pour moi, le mode de déploiement, c'est plutôt côté client, anticiper les questions genres : comment le client va faire pour installer une appli Swing ? Si c'est un maxi débutant, il faut faire un déploiement simple pour une version Swing.
Ca rejoint le mode de déploiement. Il faut avoir une idée dès le départ si l'utilisateur est ultra débutant.3. la maintenabilité (comment mettre à jour si c'est du swing),
J'avoue que je n'ai pas pensé à ça mais il pourrait avoir des versions
Je pense aux périphériques connectés au PC. Il est toujours plus difficile d'utiliser un périphérique via une appli Web.4. le temps : j'ai pas de deadline. mais je me donne fin septembre si je commence en Juillet
je saisis pas le sens de périphérique exotique.
Je pense également à la complexité des traitements. Si c'est du Swing, la capacité de calcul du poste client sera utilisable, et allègera d'autant le serveur. Et s'il faut que les clients communiquent entre eux, ils utiliseront moins la bande passante client-serveur car ils ne passeront pas par le serveur.
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Que la force de la puissance soit avec le courage de ta sagesse.
Il y a quelques années de ça, la richesse de l'interface était en faveur des API du genre de Swing, mais c'est moins vrai aujourd'hui avec des frameworks web comme ExtJs et autres...
Justement je me dis qu'on pouvait installer le jar sur le poste client ( chaque employé a un poste client leger). Mais je me demande si c'est pas risqué. En plus on a toutes les classes qui sont à la porté de l'utilisateur. Pareille pour l'appli web à mon avis. Comment protéger mes sources ? T'as pas une idée dinoboganJe ne pensais pas à ça. De toute façon, il va te falloir un serveur, quelque soit le choix pour la partie cliente. Pour moi, le mode de déploiement, c'est plutôt côté client, anticiper les questions genres : comment le client va faire pour installer une appli Swing ? Si c'est un maxi débutant, il faut faire un déploiement simple pour une version Swing.![]()
Mon appli doit causer avec une base de donnée. Un exemple de communication entre clients ( je comprend pas en fait), peut-etre que j'en aurai besoin.Je pense également à la complexité des traitements. Si c'est du Swing, la capacité de calcul du poste client sera utilisable, et allègera d'autant le serveur. Et s'il faut que les clients communiquent entre eux, ils utiliseront moins la bande passante client-serveur car ils ne passeront pas par le serveur.
Pour la protection des sources, une première chose est d'utiliser l'obfuscation. C'est un outil qui lit les sources et rend la lisibilité très difficile. Il peut aussi lire le code précompilé et ajouter du code mort pour rendre très difficile l'usage d'outil de décompilation.
Tu peux ensuite faire des trucs plus ou moins compliqué. Par exemple, crypter le bytecode et faire ton propre ClassLoader pour le décryptage. Reste à protéger le code du ClassLoader.
C'est un tout petit aperçu de ce qu'il est possible de faire.
Mais avant de te lancer dans cette aventure, es-tu vraiment sûr de vouloir protéger ton code source ? Car ça peut prendre beaucoup de temps en recherche et développement en fonction du degré de sécurité souhaité. Enfin, il faut bien avoir à l'esprit qu'une protection ne sera jamais sûr à 100%.
Je ne sais pas du tout ce que tu cherches à faire, c'est pour cela que j'évoquais une communication inter-client. Un exemple simpliste tout bête : une messagerie instantanée ou un partage de documents entre les clients.Mon appli doit causer avec une base de donnée. Un exemple de communication entre clients ( je comprend pas en fait), peut-etre que j'en aurai besoin.
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Que la force de la puissance soit avec le courage de ta sagesse.
Communication inter-client : MSN et consorts. Non je n'aurai pas à implémenter un truc pareil.
Ce n'est la protection du code en soi qui m'importe mais la protection de mon travail. Sur un serveur c'est mieux. Sur un poste client c'est pas terrible. Et un appli web est la réponse dans les 2 cas.Mais avant de te lancer dans cette aventure, es-tu vraiment sûr de vouloir protéger ton code source ? Car ça peut prendre beaucoup de temps en recherche et développement en fonction du degré de sécurité souhaité. Enfin, il faut bien avoir à l'esprit qu'une protection ne sera jamais sûr à 100%.
L'idée de l'appli c'est de gérer des patients. Ces patients sont suivis par différents spécialistes. Et justement les spécialistes doivent avoir accès aux conclusions de leurs collègues. Mais le probleme qui me vient à l'esprit est la mise à jour d'un document, une fiche patient par exemple( parce que la directice et le spécialiste peuvent la mettre à jour en meme temps ). Comment anticiper sur ce probleme ?
Personnellement je penchais pour un appli swing mais là ça balance. Et toi ?
Je ne connais pas toutes tes contraintes. C'est difficile de se prononcer. Je dirais appli Web pour la faciliter d'utilisation côté utilisateur et la facilité de déploiement. Mais fait une liste des avantages et inconvénients pour client lourd et léger, ça t'aidera à te décider![]()
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Que la force de la puissance soit avec le courage de ta sagesse.
J'ai pas encore toutes les contraintes non plus. Le projet est encore en gestation. Je reviens alors quand j'aurai avancé. Merci pour ta participation.![]()
L'avantage de Swing, c'est que tu ne travailles qu'en Java.
Pas de javascript, html à apprendre.
J'ai toujours entendu que Swing était compliqué, mais face à une application web ça se discute.
Malgré les progrès au niveau richesse des interface web, je pense malgré tout qu'on est loin d'une application Swing.
Voilà ce n'est que mon point de vue.
Pour la facilité de déploiement côté Swing, il ne faut pas oublier qu'il existe Java Web Start.
Avec GWT tu ne travaille aussi qu'en JavaEt un brin d'html/css également. Mais en terme de complexité, on est bien en dessous de Swing.
Ensuite pour la richesse, on commence à voir poindre des frameworks extrêmement riches (extjs) qui offrent avec un minimum d'effort une large palette de fonctionnalités.
Le point fort de swing est faire des appli Temps Réel ! n'est ce pas?
avec le web c 'est vrm du temp reel. surtt pour le domaien des BOURSE
Quand je parle complexité, je pense aux concepts qu'il faut connaître pour
développer une application web. On en parle pas assez.
Il y a quand même beaucoup de choses à comprendre.
Côté Swing, je n'irais pas jusqu'à dire que c'est plus facile, mais je ne trouve pas ça plus compliqué pour utiliser les composants de base et réaliser ainsi une bonne application. Après, il est certain que si on veut réaliser des effets, créer des composants, il faut y passer du temps.
Enfin, on parle d'Ajax, donc de Javascript, de Xml, alors qu'un simple Thread avec Swing et on a notre traitement en tache de fond.
Pas de besoin de framework supplémentaire au réinventer la roue.
Ma vision des choses est la suivante (c'est un peu raccourci):
- une application avec beaucoup d'interactions utilisateurs, multi-fenêtrage, raccourcis clavier, possibilité de travailler en local, je penche pour une application Swing (même si c'est réalisable en web)
- pour le rester une application web
Partager