Первичное программирование на Perl в Windows
Я ищу инструменты для программирования Perl GUI в Windows для образовательного/внутреннего развития, в основном связанных с наукой.
Мой первый выбор был PerlQt. Мой друг развивался с Qt и С++, поэтому я ожидал получить от него некоторую помощь. Также у Qt есть создатель GUI, и Linux имеет приятную интеграцию с Perl.
К сожалению, мне не удалось заставить его работать в Windows.
Я искал другие параметры, и после поиска все еще не ясно. Это то, что у меня есть до сих пор.
- Perl/Tk: широкая база пользователей, хорошая документация, относительно низкое обучение
кривая. Но старый взгляд и не может быть активным. Однако в некоторых статьях говорится, что он перезагружен и имеет внешний вид.
- wxPerl: внешний вид. Но крутая кривая обучения. Не вся библиотека wx переносится на Perl. Некоторым нравится, и некоторые ненавидят его.
- Win32: GUI: собственный внешний вид, может использовать весь Windows API. Необходимая установка силы, потому что один из тестов был неудачным. Все еще работает, но не уверен, что он был установлен правильно.
- XUL:: GUI: использование механизма FireFox, наброска CSS.
Мне удалось установить их и удалось показать "Привет, мир". Тем не менее, я не могу решить, какой из них пойти, и онлайн-информация иногда выглядит противоречащей друг другу.
Не могли бы вы сравнить инструменты с точки зрения эффективности работы с людьми (легко читать и писать коды), вычислительной эффективности и доступности GUI-конструктора?
Ответы
Ответ 1
Для реального кросс-платформенного графического программирования я бы предложил Prima
или Tk
. Ничего хорошего, но они работают.
Тем не менее, я думаю, вам может быть лучше подано (хе-хе), используя веб-интерфейс, а не настоящий GUI в эти дни; это легко, используя веб-фреймворк. Я предлагаю Mojolicious
, хотя другим людям нравится Dancer
. Моя основная причина предложить Mojo над Dancer состоит в том, что Mojo поставляется с множеством функциональных возможностей в одном крошечном пакете. Опять же, это причина, по которой другие рекомендуют танцовщицу, чтобы бросить.
Наконец, Mojo поставляется с WebSockets из коробки. Это упрощает для вашего веб-клиента больше похожее на истинное приложение, обращаясь к серверу и получая ответы без перезагрузки.
Изменить: теперь у меня есть хороший пример настольного приложения, написанного с использованием бэкэнда Perl/Mojo и веб-интерфейса: Azawawi Farabi
. Это текстовый редактор, предназначенный для написания Perl. Это графический интерфейс браузера, что делает его простым кросс-платформенным редактором. Я рекомендую его в качестве отправной точки для подобных задач.
Ответ 2
Self promo для моего модуля perl IUP:
- он использует собственные виджеты (= ваше приложение будет иметь внешний вид и чувствовать)
- он также немного кросс-платформенный (Win32, GTK, Motif)
Ответ 3
Существует устаревшая Perl GUI FAQ на perlmonks.
PerlQt отслеживает Qt.
Ответ 4
У меня есть опыт работы с PerlTk и wxPerl.
wxPerl - довольно приличный инструментарий, который я могу порекомендовать. Существует также создатель GUI wxGlade
Несколько приложений, которые я использовал в Tk, научили меня ненавидеть этот инструментарий полностью:
- выглядит ужасно
- диспропорциональное количество времени кодирования было потрачено на решение различных
ошибки и поиск обходных путей для отсутствующих функций.
Ответ 5
Вот хороший обзор наборов виджетов, многие из которых предоставляют обертки для популярных языков программирования:
http://en.wikipedia.org/wiki/List_of_widget_toolkits
Я рекомендую [wxwidgets][1]
aka wxwindows
или решение на основе браузера (например, XULrunner) или чистое решение на основе Javascript + HTML5. На данный момент я работаю над кросс-платформенным инструментом с базовым консольным интерфейсом, который затем использует веб-интерфейсы и HTML5 + SVG для более сложного исполнения интерфейса и UX. Для создания динамического веб-контента я использую простой шаблонный движок.
(Лично для обзорных вопросов у меня был хороший опыт, чтобы поставить термин wikipedia
и list of
где-то в поисковом запросе надежной поисковой системы. Престижность к добросовестному сообществу википедии.)
Ответ 6
Hta, приложение HTML, mshta.exe... Старый, но работает как шарм.
Плюсы: общий доступ ко всему, что вы могли бы хотеть для разработки собственных доверенных приложений.
Минусы: геометрия становится утомительной, perlscript (vs vbscript/javascript) документация/примеры в основном несуществующие