Как сделать GUI в Юлии?

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

Ответ 1

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

  • Если вы разрабатываете свой код в записной книжке [Jupyter/IJulia] и вам нужно очень простое взаимодействие, такое как ползунок для изменения некоторых входных значений, пакет Interact - это самая легкая вещь для начала.
  • Чтобы разработать полноценные веб-интерфейсы, взгляните на Эшера. Вдохновленный Elm, он предоставляет функциональную библиотеку компонентов пользовательского интерфейса. Интерактивные веб-интерфейсы созданы на 100% Юлией. В коде нет различий между клиентской и серверной сторонами. Каркас обрабатывает все это.
  • Еще одна веб-инфраструктура, на которую стоит обратить внимание - это Genie, основанная на традиционной схеме проектирования MVC. Это также включает ORM. Пример приложения, написанного на Genie, - это список пакетов Julia: http://genieframework.com/packages
  • Если вы хотите создавать кроссплатформенные настольные приложения, но хотите работать с веб-технологиями (например, HTML/CSS/Javascript), используйте Blink. Это обертка Джулии вокруг Электрон. Вы можете написать приложение Escher и поместить его в Blink.jl, чтобы создать настольное приложение.
  • Для создания приложений пользовательского интерфейса для настольных ПК с использованием библиотеки Gtk используйте пакет Gtk.jl в Julia. Если вы знакомы с Gtk API, легко начать. Обратите внимание, что иногда может быть сложно установить все связанные с Cairo зависимости, поэтому будьте готовы к устранению неполадок.
  • И последнее, но не по значению, у почтенного Tk- фрейма в Джулии есть обертка. Пользовательский интерфейс, созданный с использованием ТЗ, иногда считается некрасивым по сравнению с современной эстетикой, но иногда это самый быстрый способ открыть окно.

Ответ 2

Существует новый пакет Genie. Это веб-структура, сопоставимая с Django в python. Вы можете создать web ui с помощью Genie. До сих пор (август 2017 года) пакет функционирует с некоторыми хорошими демонстрационными версиями, однако документация еще не совсем завершена.

Ответ 3

QML.jl https://github.com/barche/QML.jl

Пакет QML.jl позволяет использовать язык разметки QML из библиотеки Qt для создания графических пользовательских интерфейсов для программ Julia. Пакет следует рекомендуемым методам Qt и способствует разделению между кодом GUI и логикой приложения. Весь пользовательский код написан исключительно на языке Julia и QML, для использования пакета знаний C++ не требуется.