Quel Langage de dev pour un logiciel multi plateforme?

draz_zes

Membre confirmé
4 Février 2005
83
1
Bonjour à tous ,

j'ai un petit projet de developpement ( un ptit logiciel applicatif ....) qui devrait etre multi plateforme.
Seulement je ne sais pas trop sous quel langage je peux le developper afin qu'il soit executable aussi bien sous mac que sous windows etc..

Mon domaine de developpement maitrisé :
-php ( y compris javascript html etc...)
-c/c++
-perl

Moyennes connaissances en :
-java et compagnie
-ajax

Contraintes :
-l'application doit être instalable en offline sur les postes des utilisateurs
et / ou
-être accessible via le web

Coté interface, je n'ai aucune idée.
Ceux qui ont déjà realisé ce genre de projet de developpement logiciel, leurs conseils me seront utiles et je vous remercie d'avance
 
Je ne m'y connais pas beaucoup, mais Java me semble une bonne solution.
 
Sans hésiter Java !

Car:
  • il est multi-plateforme
  • déjà installé sous mac os x
  • fonctionne off-line
  • Java Webstart (qui ne nécessite qu'un simple serveur web) permet un déploiement simple et rapide sur tous les postes clients
  • dans ton rayon de compétences (même si ce n'est pas celui où tu es le plus à l'aise)
  • y'a une communauté sympa (dont ici sur ce forum) qui pourra t'aider en cas de coup dur

C'est pour cette raison que CCAM+ (c.f. signature pour le webstart) est entièrement écrit en Java.
 
tu parles de Php et Ajax. Ton appli doit-elle être une appli web ou pas, ou peut importe ?
Si web-app, alors ca dépend de l'hébergeur, pas du client.
Sinon, Java :up:
 
tu parles de Php et Ajax. Ton appli doit-elle être une appli web ou pas, ou peut importe ?
Si web-app, alors ca dépend de l'hébergeur, pas du client.
Sinon, Java :up:

Je vous remercie pour vos conseils.

je m'en doute que c'est java ( là où je suis pa trop à l'aise à part faire des ptits message sur une interface bien laide mais bon je vais my faire avec vos soutiens)

Mon appli sera deux versions :

- en offline donc rien a voir avec le web mais possibilité de mettre à jour la base de données du logiciel via le web ( donc forcement du java sera utile)

- une version identique à celle offline mais cette fois ci disponible sur le web ( via un serveur dedié où l'utilisateur aura le choix : d'importé ses preferences et données pendant une durée determinée , et utilisé le logiciel comme sil etait sous son poste non connecté à internet)
Et là, php et perl s'impose mais c'est à voir si les servlets et autres peuvent me servir pour rester dans la logique JAVA.

Si vous avez des liens sur le JAVA application sous Mac ( pour commencer n'hesitez pas ) je suis preneur.

Merci encore pr les conseils.
 
les exemples livrés avec les devtools et les samples codes sur le site de dev d'apple

java server page c'est lourd à gérer

pour rester ds une logique objet et applicative (/java like)
je te conseille rubyonrails pour ton app client/server
 
java server page c'est lourd à gérer

+1 :up:


mais GWT a l'air pas trop mal... reste que cela pose quand même le souci du conteneur J2EE qui ne court pas les rues chez les hébergeurs...

Je ne comprends pas bien l'histoire des deux applis strictement identiques en stand-alone et en web... C'est quoi qui doit être identique ? Quels sont les avantages de passer par du oueb ? Qu'est-ce qui est partagé entre les utilisateurs (en mode oueb) ?
 
Tu peux programmer en C++, il existe une multitude de librairie cross-plateform qui existent.

Personnellement pour un projet en programmation j'utilise le GUI Toolkit Qt pour l'interface graphique, ACE Framework pour une partie réseau et la librairie Xerces-C++ pour la partie XML.

Donc si tu n'as pas envie de te mettre à java, tu peux toujours programmer en C++.

PS : je n'ai pas envie de te décourager d'utiliser java surtout que pour certaines de ces librairies, la documentation fait parfois défaut ou est peu accessible.
 
Tu peux programmer en C++, il existe une multitude de librairie cross-plateform qui existent.

C++ ne répond pas à son besoin initial d'être accessible par le web (même si ce n'est pas très clair).
draz_zes pourrais-tu nous éclairer sur ce point, pourquoi avoir une appli autonome et une appli web? Une appli web ne suffit pas?
 
C++ ne répond pas à son besoin initial d'être accessible par le web (même si ce n'est pas très clair).
draz_zes pourrais-tu nous éclairer sur ce point, pourquoi avoir une appli autonome et une appli web? Une appli web ne suffit pas?


Merci à tous pour vos reponses et conseils.

ça doit etre une appli autonome pour les gens qui n'ont pas l'acces au web ( logiciel sera utilisé par exemple au Mali, Guinée où les debits de connexion sont d'autre natures).
Pour ne pas marginaliser d'autres users où le web est essentiel, alors j'ai prevu de faire la même chose. Et une liaison en temps reel avec la base de données du logiciel ( pour ce qui viennent mettre à jour les données de leur compte client)

Je suis entrain d'apprendre le java avec ses outils d'interface.
En gros je veux eviter d'avoir des soucis de passage sur differentes plateformes.

Merci encore pour les conseils.

je vous tiens au courant pour la suite.
 
ça doit etre une appli autonome pour les gens qui n'ont pas l'acces au web ( logiciel sera utilisé par exemple au Mali, Guinée où les debits de connexion sont d'autre natures).
Pour ne pas marginaliser d'autres users où le web est essentiel, alors j'ai prevu de faire la même chose. Et une liaison en temps reel avec la base de données du logiciel ( pour ce qui viennent mettre à jour les données de leur compte client)
Si tu ne veux pas devoir refaire deux fois ton interface, pourquoi pas une application en php ? Il suffit de n'activer les liens vers la BDD externe que si tu es connecté au web, et sinon tu fonctionnes avec une BDD en local. Pour cela un simple "if" dans le fichier de config de ton appli suffit.
 
Si tu ne veux pas devoir refaire deux fois ton interface, pourquoi pas une application en php ? Il suffit de n'activer les liens vers la BDD externe que si tu es connecté au web, et sinon tu fonctionnes avec une BDD en local. Pour cela un simple "if" dans le fichier de config de ton appli suffit.
de même pour RoR
 
de même pour RoR

j'ai retenu les deux posibilités
-php avec postgresql
-java et outils IHM

le seul hic pour le php est que l'appli doit reconnaitre les ports series (USB ou RS232) car il sera automatiquement piloté par un outil façon domotique etc... ce qui me revient vers java ( et c++) mais pour l'instant je me fais une cure en java pendant quelques semaines et voir si c faisable

il faut savoir que l'appli n'est pas uniquement une interface web avec des données etc.. mais pilotable via les connectiques de ordi server des données de l'appli.

En tout cas merci pour vos bonnes idées.
 
le seul hic pour le php est que l'appli doit reconnaitre les ports series (USB ou RS232) car il sera automatiquement piloté par un outil façon domotique etc... ce qui me revient vers java ( et c++) mais pour l'instant je me fais une cure en java pendant quelques semaines et voir si c faisable
Regarde du côté de CGI. :confused:
 
j'ai retenu les deux posibilités
-php avec postgresql
-java et outils IHM

le seul hic pour le php est que l'appli doit reconnaitre les ports series (USB ou RS232) car il sera automatiquement piloté par un outil façon domotique etc... ce qui me revient vers java ( et c++) mais pour l'instant je me fais une cure en java pendant quelques semaines et voir si c faisable

il faut savoir que l'appli n'est pas uniquement une interface web avec des données etc.. mais pilotable via les connectiques de ordi server des données de l'appli.

En tout cas merci pour vos bonnes idées.

je pense qu'il te faut un core Library en C
http://libusb.sourceforge.net/
http://www.koders.com/java/fid302CE76E332D77E2131415EBB72297AF1512E747.aspx

et a toi de créer des interfaces pour java JNI et PHP mod => python/ruby beaucoup plus souple
et rapide pour implementer un mod_c

http://www.onlamp.com/pub/a/onlamp/2004/11/18/extending_ruby.html
http://docs.python.org/api/api.html
 
Tu devrais aussi envisager Qt selon ce que tu veux faire. C'est très simple à apprendre, la doc est vraiment bien faite, avec exemples et petits tutos. La communauté est assez active.
Ca compile sous mac linux et windows.
C'est opensource. Si tu envisage de vendre ton appli, faudra payer une licence par contre.