2010-03-14 5 views
1

J'ai développé une application de ligne de commande dont le binaire s'exécute sous Linux, Windows et Mac OSX. Il lit quelques fichiers d'entrée de texte, mais je me rends compte que certains utilisateurs spéciaux ne peuvent pas gérer cela. Je voudrais alors construire une sorte d'interface graphique, où l'utilisateur ne trouve que des boutons et des barres de défilement pour sélectionner les paramètres d'entrée, un gros bouton "Exécuter", puis il lit la sortie du programme et fait quelques chiffres. J'ai également besoin que tout soit finalement emballé dans un seul fichier, qui utilise seulement des bibliothèques statiques, donc l'utilisateur a juste besoin de copier le fichier sur sa machine et de l'exécuter.Meilleure approche pour la construction d'une interface graphique multiplateforme pour une application de ligne de commande

Je voudrais savoir quelle est la meilleure approche open source et multi-plate-forme pour ce faire. Il y a 10 ans, j'ai joué un peu avec quelque chose de similaire sur les machines DEC, donc je suppose que de nos jours la situation s'est probablement améliorée un peu.

P.S. Pour la conception de l'interface graphique, je cherche une approche graphique, où vous ajoutez des boutons, des barres de défilement avec la souris P.S. 2: l'interface est très simple, juste besoin de moins de 10 boutons, 5 champs de texte et 2 barres scrolla

Merci

+0

Et vous le langage de programmation de choix pour cela est ??? – Oded

+1

Je cherche quelque chose qui peut construire l'interface graphique en utilisant simplement la souris. Je ne suis pas si courageux que vous :) – flow

+0

que diriez-vous d'utiliser python glade constructeur GUI – shahjapan

Répondre

1

Pour UIs avancé, je recommande généralement d'écrire une interface utilisateur différente pour chaque plate-forme (puisque chaque plate-forme a ses lignes directrices sur les interfaces humaines). Cependant, est-ce que cela va être une simple interface utilisateur, alors l'une des interfaces utilisateur multiplateformes.

Vous n'avez pas non plus mentionné la langue que vous souhaitez utiliser.

Enfin, votre fichier "1 exe" est un peu un mythe - il ne s'applique qu'à Windows. Sur MacOSX, nous utilisons les dossiers de l'application magique, peu importe le nombre de fichiers qui composent votre application, vous obtenez toujours des installations par glisser-déposer.

Regardez dans GTK+ qui est originaire de Linux, ou wxWidgets.

+0

re: 1 fichier exe est un mythe: non, ce n'est pas. Alors que les fichiers MacOSX sont généralement un dossier d'application magique, il est tout à fait acceptable d'avoir un seul fichier qui est l'ensemble de l'application.Du point de vue des utilisateurs, c'est exactement la même chose - un seul fichier que vous pouvez faire glisser et déposer où vous voulez. Tcl rend cela possible avec un système de fichiers virtuel intégré qui fonctionne sur plusieurs plateformes. –

0

Pour une interface utilisateur multiplate-forme, vous pouvez utiliser GTK (si vous utilisez C) ou QT (si vous utilisez C++).

1

Tcl/Tk est un choix parfait. Aucune autre langue n'offre une solution de déploiement aussi bonne. Vous pouvez créer un système de fichiers virtuel qui a votre application avec des icônes, des fichiers son, etc. dans un seul fichier pour chaque plate-forme (appelé un 'starpack'). Vous pouvez même inclure des exécutables et des bibliothèques binaires, bien que ceux-ci doivent être copiés sur le système de fichiers réel au moment de l'exécution pour être utilisés.

Vous avez également la possibilité de déployer deux fichiers: un fichier d'exécution spécifique à la plate-forme appelé 'tclkit' et un fichier d'application indépendant de la plate-forme appelé 'starkit'. Le premier starkit fonctionnera sur toutes les plateformes sans recompiler, redéployer, etc. Il peut même avoir des parties spécifiques à la plate-forme intégrées et choisies lors de l'exécution.

Un développeur Tcl/Tk professionnel pourrait facilement faire un frontal à un programme de ligne de commande sans un outil de conception graphique GUI. Si vous êtes nouveau sur tcl, cela prendra évidemment plus de temps, mais c'est le cas de n'importe quelle langue. Le point étant, Tk est remarquablement facile à utiliser et ne nécessite pas de concepteur graphique GUI.

Questions connexes