Bonjour,

Dans le cadre d'un projet professionnel, je serai amener à développer un produit tournant à la fois sur PC sous Windows (éventuellement Linux) et sur tablette/smartphone sous Android. Les données du produit seront sauvegardées dans une base de données.

Mon choix s'est donc naturellement porté vers Java comme langage de programmation. Cependant, n'ayant quasiment pas d'expérience avec ce dernier et son environnement, je souhaite partager avec vous le résultat de mes premières recherches quant aux outils (au sens large) que je compte utiliser afin que vous puissiez me donner votre avis, vos conseils, etc.

Merci !


D'un point de vue développement, le but principal est de pouvoir partager un maximum de code source entre la version PC et la version tablette/smartphone afin de limiter les coûts de développement mais aussi de maintenance.

Suivant l'architecture MVC, pas de doutes que la partie "Vue" sera propre à chaque plateforme (en tout cas dans un premier temps) :
Pour le PC, mon choix s'est porté sur JavaFX (GUI desktop ou web, large panel de composant, projet en cours pour porter le produit sous Android et iOS).
Pour les tablettes/smartphones, pas le choix, utilisation du SDK Android.

Reste donc les parties "Controleurs" et "Modèles" qui peuvent être communes...ou non.
Mon soucis vient de la partie "Modèles". Le choix de la base de données reste à confirmer pour le PC mais en gardant l'idée de limiter les coûts, SQLite semble être le meilleur choix.
En faisant des recherches sur le Web, je n'ai trouvé qu'un seul composant multi-plateforme SQLite ( http://code.google.com/p/sqlite4java/ ). Mais est-il suffisament stable et performant pour un produit pro ? Pour l'instant, aucune idée...
Reste la possibilité d'utiliser des drivers JDBC mais de ce que j'ai lu ça et là, ce n'est pas conseillé sous Android.
Bref, pas facile de faire un choix...

Niveau IDE, le choix se fera entre NetBeans et Eclipse.