Приложение с графическим интерфейсом в Windows и Linux - PullRequest
2 голосов
/ 14 апреля 2010

Я хотел бы экспортировать проект сценария автоматизации Bash Shell в проект с графическим интерфейсом, который может работать как в Windows, так и в Linux. Какой язык программирования лучше подойдет для этого?

Ответы [ 6 ]

1 голос
/ 19 октября 2012

Интересно, доступен ли Desktop Kornshell (DtKsh) для Linux и Windows.

Еще в 1990-х годах Desktop Kornshell стал частью CDE (Common Desktop Environment). Это была попытка систем Unix представить единый рабочий стол с графическим интерфейсом для конкуренции с Windows. Вы знаете, как хорошо это сработало.

Ksh 93 и BASH имеют около 99% своего синтаксиса. (Черт, мне даже больше нравится Ksh, но потом я вспоминаю свой первый жесткий диск - удивительную 20-миллиметровую модель размером всего 5 дюймов. Как они их так малы?). Однако Desktop Kornshell добавляет слой GUI на top of Ksh 93. Вы можете взять свой стандартный скрипт Ksh, добавить просто добавить слой GUI прямо сверху. Я сделал это с несколькими моими скриптами Kornshell. Даже написал графическую почтовую программу на основе Mail Handler (MH).

К сожалению, самый простой способ получить dtksh - перенести машину времени обратно в 1994.

Если не считать этого, я действительно не знаю, доступен ли DtKsh. Я считаю, что MKS Toolkit все еще поставляется с DtKsh. MSK Toolkit похож на Cygwin, если вы взяли с Cygwin несколько сотен долларов. Я сомневаюсь, что у Cygwin есть пакет DtKsh (возможно, он есть). В дистрибутивы Linux входят пакеты с DtKsh, но они могли пойти по пути пакетов UUCP, SCCS и RCS.

Однако, если DtKsh доступен, это будет вашим лучшим выбором. Вы можете легко изменить ваши сценарии Bash, чтобы обеспечить хороший графический интерфейс.

Я знаю, что кто-то упоминал Mono и C #, но для этого требуется сервер .NET. Это означает, что вам нужно не только переписать все, но и настроить сервер IIS.

Java, вероятно, будет вашим первым выбором. Java - мощный язык, и разработчиков Java довольно легко найти. Платформа Swing поставляется с Java и обеспечивает адекватный графический интерфейс. У меня есть несколько приложений Swing (например, мой браузер LDAP), которые я использую довольно часто. К сожалению, большинство разработчиков Java никогда не касались Swing.

Python также поставляется с оболочкой GUI, но, вероятно, меньше разработчиков Python, которые использовали оболочку GUI, чем разработчики Java, которые использовали Swing. Тем не менее, Python является популярным языком, и существует множество доступных ресурсов и разработчиков. Кроме того, зная разработчиков Python и Java, я бы сказал, что вам, возможно, повезет больше, если разработчик Python изучит программирование на языке Python GUI, чем разработчик Java для изучения Swing.

Итак, ваш лучший выбор - посмотреть, сможете ли вы получить DtKsh. Если нет, я бы пошел с Java или Python.

1 голос
/ 17 апреля 2010

Qt был бы очень хорошим выбором.

Qt в основном отличный инструмент для быстрой разработки графического интерфейса на нескольких платформах.

PLUSВы получите код на C ++, который, я предполагаю, это то, что U идеально использовал бы в вашем проекте.

http://qt.nokia.com/

Хорошее место для начала было бы " C ++ GUIПрограммирование на Qt 4, второе издание"

(Google, чтобы загрузить PDF-версию ;-))

Удачи !!

0 голосов
/ 27 февраля 2012

хммм BashScript с графическим интерфейсом? Да, чувак, мы чокнутые .. = P

Посмотрите на мой вопрос, я провел некоторые исследования в этой области ...

Как вывести изображение в графический интерфейс? Это возможно в BashScript или Давайте изучать новый язык?

Думаю, вы можете закодировать это внутри скрипта. Или что-то очень близкое к этому.

0 голосов
/ 14 апреля 2010

Не уверен, что это действительно отвечает на ваш вопрос, но ...

Если вы хотите разработать приложение с графическим интерфейсом, которое будет работать на кросс-платформенной платформе, это звучит как хорошее место для Java. Платформа SWT (разработанная специалистами Eclipse) позволяет вам создавать графический интерфейс, который будет выглядеть на большинстве платформ (Windows, Mac, многие преимущества Unix / Linux).

См:

http://www.developer.com/java/other/article.php/3330861/SWT-Programming-with-Eclipse.htm

Но, как отмечали два других автора, обычно быстрее работать с тем, что вы знаете.

0 голосов
/ 14 апреля 2010

Вы не можете «экспортировать» его. Я не знаю, сможете ли вы действительно «портировать» его, не унаследовав всех проблем, которые обычно возникают в нетривиальных сценариях оболочки.

Лучше всего переписать свое приложение на кроссплатформенном языке, таком как Python, Perl, Java и т. Д. (Выберите то, что вам удобно, как предлагал DAvid). Я бы порекомендовал «скриптовый» язык, так как оригинальный скрипт был в оболочке, он будет отражать его более тесно, чем скомпилированный язык, такой как C или C ++. Для кроссплатформенной библиотеки графического интерфейса есть TK (некрасиво, но быстро начать работать с Python или другими такими языками), WX (моя рекомендация) или Qt (как предложил ChristopheD).

0 голосов
/ 14 апреля 2010

Какой из них вам наиболее удобен. Mono позволяет использовать C # для такого рода вещей; Java поддерживается на обеих платформах. Я уверен, что другие могут быть предложены. Но держись там, где тебе удобнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...