Bonjour,

Je suis à la recherche d'une technologie me permettant de développer des applications autonomes et multi plateformes...

En gros ce que je souhaite est de faire une application que je pourrais compiler et exécuter sur Linux/Mac/Windows avec une interface graphique, ne nécessitant aucune installation sur la machine.

Pour de petits besoins, j'avais utilisé le nodewebkit qui est très pratique pour ça mais maintenant j'aimerai m'aventurer ailleurs.
(C'est d'ailleurs grâce à ce site que j'ai découvert NodeWebit et pour ceux qui ne connaissent pas je vous recommande la vidéo de Grafikart sur le sujet)

Dans les pistes que j'ai exploré :

1) C++ / Qt : Apparemment ça pourrait faire l'affaire mais bon pour des applications simples ça me semble un peu extrème ? et il faudrait que je me remette au C++, ça devrait aller car j'ai pas mal pratiqué à une époque mais bon on n'a pas que des bons souvenirs ensemble.

2) Go / Qt : ça m'intéresse bien en plus ça semble assez porteur mais sur la version actuelle de go-qml , il y a un soucis sur windows... J'ai passé un certain temps sur les forums avec ça... ça va certainement évoluer.

3) Python Tk (Tkinter) : certainement possible mais ça m'a quand même l'air limité sur la GUI.

4) Ruby Qt : je ne connais rien à la diffusion d'application Ruby.
Le language Ruby m'amuse beaucoup dans sa philosophie et sa simplicité.

Aucun langage ne me rebute, (même si je ne le connais pas on fera connaissance) du moment que ça soit gratuit.

En résumé, je voudrais me créer des exécutables avec une interface graphique, des drivers pour accéder à une BDD que je pourrais compiler pour linux, mac, windows et si possible beaucoup de documentations en ligne :D

Si vous avez des idées, même créative et originale je suis preneur.

Merci d'avance

5 réponses


Skyz0h
Réponse acceptée

Salutations !

Je ne recommande pas d'utiliser Qt pour une seule et bonne raison: Qt réivente la roue, chaque type de base du C++ est redéfinit et on arrive souvent avec un code dégueulasse. A la limite utiliser GTK+3 (à voir si ça fonctionne correctement sous Windaube, y'a pas de raison que ça ne fonctionne pas ; GIMP utilise GTK+3 sous Windows, me semble).

Il existe de nouveaux langages plutôt cools et bien puissants qui ont "récement" vu le jour. Citons notament :

  • Rust : Un langage impératif super sécurisé qui ne te laissera pas compiler si tu as des erreurs (mêmes moindres), plutôt sympa à utiliser et vraiment puissant. En plus c'est développé par Mozilla !
  • Vala : Un langage POO bien sympathique qui permet d'écrire son code dans une syntaxe propre et proche du C# tout en compilant en C (avec la lib' GObject), du pur bonheur en barre ! Tant qu'à citer les grands noms, Vala est développé par GNOME, donc c'est du lourd !
  • Genie : Le petit frère du Vala, qui est plus dans l'esprit python-like tout en étant compilé et aussi rapide que du C. Développer en python avec les performances du C, n'est-ce pas un magnifique rêve ? En tout cas, un langage aussi complet que Vala puisqu'il utilise le même compilateur (valac).
  • D (aka. DLang) : Alors celui-ci c'est ma dernière découverte et franchement je dois dire que c'est que du bonheur. Imagine un mix de C version objet et de C++ sans ses nombreux défauts, le tout totalement cross-plateforme et indépendant. Problème majeur : pas beaucoup de doc sachant que le langage est relativement jeune (2007). Le D est développé par sa communauté respective et il n'est pas sponsorisé par une grosse boite, dommage !
  • Haxe : Je ne dirais pas que c'est un langage mais plutôt un gros toolkit, qui te permet d'écrire ton code une fois et de déployer partout, plutôt sympa dans l'ensemble même si j'ai pas accroché niveau syntaxe.
  • Pony : J'ai découvert ce langage dans la nuit en me baladant sur le #liens du Discord de Grafikart et franchement je dois dire que c'est un langage digne d’intérêt puisqu'il est très sécuritaire, si ton code compile alors le programme ne peut pas crash. C'est un langage basé sur un model d'acteur, qui gère super bien l'asynchrone (plus besoin d'utiliser de threads qui bouffent le CPU !). Et franchement j'aime bien, j'pense approfondir, après pour ce qui est de faire une UI avec, je ne suis pas sur que ce soit encore possible vu la jeunesse du langage, mais un programme console sera quand même cross-plateforme :)

Personellement j'ai depuis peu (6-7 mois environs) opté pour Vala + GTK+3 et j'en suis réellement satisfait ! Je l'ai apprecié depuis le début pour sa syntaxe claire et propre (semblable au C#) mais également pour ses performances dignes d'une application codée en C. HS: J'ai d'ailleurs développé un petit client de messagerie instantanée chiffrée (Libsodium/NaCl) et P2P (DHT based) se basant sur le protocole Tox, et je dois dire que le système que le Vala propose pour créer des bindings de bibliothèques C est plutôt cool !

Pour finir cette réponse, voici deux trois liens pour t'aider si tu décides de tester un peu Vala (Pas de doc en français pour l'instant. J'ai dans l'idée de faire une longue série de tutoriels sur mon devblog concernant le Vala, mais c'est pas pour tout de suite donc wait & see).

Voilà voilà, j'espère avoir posté un message qui te sera utile dans ta quête du langage du futur, bonne chance ! Et n'hésite pas à me contacter si tu as des questions sur le Vala, je serais fier de faire découvrir cette perle rare à d'autres développeurs :)

Bonjour,

et Java ? Je sais que la gamme Jetbrains est en Java par exemple et fonctionne bien.

girioal
Auteur

Bonjour,
Merci, effectivement c'est une possibilité tout à fait envisageable.
Je suis resté sur une impression de lenteur et d'une GUI mal maîtrisée avec Java mais ça fait qq années que j'ai pas mis les mains dedans.
Pour la compilation, je suppose qu'on a aucun problème mais pour les dépendances ?
++

Il y a Maven ou Gradle pour ca.

girioal
Auteur

Je tiens à vous remercier pour ces réponses qui vont me donner matière à réflexion.
Exactement ce que je voulais :D