Le meilleur client pour une application professionnelle

Le meilleur client pour une application professionnelle - Divers - Programmation

Marsh Posté le 05-05-2019 à 07:47:16    

Bonjour à tous,
 
je travaille sur un projet personnel d'AGL (atelier de génie logiciel) que je teste en ce moment chez mon employeur avec le but de le publier en open-source en début d'année. Le projet utilise un back-end (composant serveur) maison en java sur lequel je suis assez serien, et pour l'instant, j'ai développé un client léger dédié javafx. Ce client léger me permet:

  • d'inclure dans l'application des widgets riches, the type planning, diagrammes interactifs, tableau de type tableur.
  • de limiter la taille des messages entre clients et serveurs (le client ayant des primitives riches, je n'ai pas besoin d'envoyer des Mo de javascript à chaque fois)


J'ai développé ce client basé sur mon expérience (peut-être un peu datée) de la difficulté à développer sur technologies web des composants interactifs riches, et de la vitesse à laquelle les technologies web deviennent obsolètes.
 
je me pose maintenant des questions sur le choix de technologies javafx. Développer son propre client et l'installer n'est pas un gros problème (la fonction d'auto-mise à jour représente une demi-journée de travaille), néanmoins, je suis moyennement satisfait de javafx. j'ai beaucoup de mal en particulier à rendre les tableaux aussi interactifs qu'un bon tableur.
 
J'aimerais votre avis sur les alternatives possibles à javafx. J'avais pensé à:

  • un client web, je pense que la technologie a évolué depuis, j'ai quand même des doutes sur la capacité à avoir, de façon simple, des composants de type diagramme, tableur. Je sais que cela existe (Google Sheets...), mais je ne sais pas quel est l'effort que cela représente. J'ai un peu peur à vrai dire.
  • Développement d'une application native windows (tout le monde ou presque dans les entreprises travaille sur windows).
  • Utilisation d'un framework de jeu video. Certains collègues ont fait des expériences avec Unity, et en semblent contents.
  • j'exclus a priori SWT et Swing car trop obsolètes.


Mes critères sont:

  • la capacité à offrir une expérience riche (de type tableur / spreadsheet)
  • la capacité à travailler en mode "tout gratuit" (le projet est open-source)
  • une courte d'apprentissage raisonnable.


Qu'en pensez vous ?


Message édité par uchimizu le 05-05-2019 à 07:55:56

---------------
Un blog sur le Japon: http://uchimizu.blogspot.com/
Reply

Marsh Posté le 05-05-2019 à 07:47:16   

Reply

Marsh Posté le 05-05-2019 à 09:48:30    

Aujourd'hui, Javascript/Ajax s'est bien enrichi et les interpréteurs côté navigateurs se sont bien améliorés niveau perfs. Avec un bon langage côté serveur, tu peux faire à peu près tout ce que tu veux.
Je suis pas sûr que Unity soit adapté pour faire une appli de type tableur :/ C'est quand même avant tout pour faire de la 3D.
De même, faire un client Windows natif ne me paraît pas approprié car le coût de dév d'une appli web cross-OS sera à peine plus longue mais aura le mérite de fonctionner partout sur tout (PC, tablettes, tél portables...).
 
Perso, je n'aime pas Java car je le trouve trop "lourd". Je préfère des langages comme PHP ou Python. Le seul langage de client lourd que j'ai bien aimé, c'est Delphi. Incroyable à quelle vitesse on pouvait développer des applis de gestion avec BD avec ce langage et son IDE très clair !


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 05-05-2019 à 10:03:45    

Bonjour,
 
pour rebondir sur java trop lourd, j'aime absolument les langages compilés et fortement typés, pour raisons de performance et de facilité à débuguer (dans une appli bien faite, quand ça compile, ça marche, et quand on change quelque chose, on a une analyse d'impact immédiate en regardant les errreurs de compilation), et ce, dans un contexte d'informatique d'entreprise où on travaille avec des développeurs de niveau variable  (pour être sobre).
 
Java n'est pas mon langage préfére, mais je le garde côté serveur car:

  • je suis né dedans
  • je n'ai pas trouvé d'alternative qui soit gratuite et cross-plateforme (au moins Windows pour le développement et Linux pour déploiement sur serveur)
  • le nombre de librairies est impressionant
  • Malgré les limites du langage, on a quand même des fonctions sympa avec les génériques, la programmation fonctionnelle...
  • c'est facile de trouver, en tout cas dans le monde de l'entreprise, des développeurs java
  • Je pense que la techno sera assez stable ces 20 prochaines années (échelle de temps pour le logiciel en entreprise).


Bref, je n'ai pas d'idée géniale d'alternative, et je suis heureux côté serveur avec java. C'est côté client que j'ai un problème.


---------------
Un blog sur le Japon: http://uchimizu.blogspot.com/
Reply

Marsh Posté le 05-05-2019 à 11:55:06    

Alternatives à Java en gratuit : PHP, Python, Ruby, Javascript (y compris côté serveur avec NodeJS)... ;)
Après, je comprends que lorsqu'on est habitué à une techno, on n'ait pas trop envie d'en changer. Perso, je compare Java à Delphi puisque les 2 servent à faire des clients lourds ou peuvent répondre à des requêtes côté serveur. Ma préférence va clairement à Delphi (même si ce langage n'existe quasiment plus :().


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed