web-dev-qa-db-ja.com

JuliaでGUIを作成する方法は?

私はジュリアでプログラミングを始めたばかりで、GUIを作成する必要があります。私は情報を探していましたが、有用なものが見つかりません。ジュリアの公式Webページで情報を検索しようとしましたが、ダウンしているようです。私はそれについての情報をどこで見つけることができるのか、皆さんの誰かが知っているのだろうか。

18

これは非常に一般的な質問ですが、ニーズに基づいて情報に基づいた意思決定を行えるように、環境をレイアウトしてみます。

  • [Jupyter/IJulia]ノートブック内でコードを開発していて、入力値を変更するスライダーなどの非常に簡単な対話が必要な場合は、 Interact パッケージを開始するのが最も簡単です。
  • 本格的なWeb UIを開発するには、 Escher をご覧ください。 Elm に触発され、UIコンポーネントの機能ライブラリを提供します。インタラクティブなWeb UIは100%Juliaで作成されます。クライアント側とサーバー側の間でコードの違いはありません。フレームワークはそのすべてを処理します。
  • 見る価値のあるもう1つのWebフレームワークは、 Genie です。これは、従来のMVCデザインパターンに基づいています。 ORMも含まれます。 Genieで記述されたアプリケーションの例は、次のJuliaパッケージのリストです。 http://genieframework.com/packages
  • クロスプラットフォームのデスクトップアプリを作成したいが、Webテクノロジー(つまり、HTML/CSS/Javascript)を使用したい場合は、 Blink を使用します。これは Electron を囲むJuliaラッパーです。潜在的にEscherアプリケーションを作成し、Blink.jlでラップしてデスクトップアプリを作成できます。
  • Gtk ライブラリを使用してデスクトップUIアプリケーションを作成するには、Juliaの Gtk.jl パッケージを使用します。 Gtk APIに精通していれば、簡単に始められます。 Cairoに関連するすべての依存関係をインストールするのが複雑になる場合があるため、これをトラブルシューティングする準備をしてください。
  • そして最後になりましたが、由緒ある Tk フレームワークには Juliaのラッパー があります。 TKを使用して作成されたUIは、現代の美学と比較してsometimesいものと見なされる場合がありますが、ウィンドウを表示する最も速い方法である場合があります。
32
aviks

Genie と呼ばれる新しいパッケージがあります。これは、PythonのDjangoに匹敵するWebフレームワークです。Genieを使用してWeb UIを作成できます。これまで(2017年8月)、パッケージはいくつかのニースデモで機能します。しかし完了します。

2
Jingpeng Wu

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

QML.jlパッケージを使用すると、QtライブラリのQMLマークアップ言語を使用して、ジュリアプログラムのグラフィカルユーザーインターフェイスを構築できます。パッケージは、推奨されるQtプラクティスに従い、GUIコードとアプリケーションロジックの分離を促進します。ユーザー向けのコードはすべて純粋なジュリアとQMLであり、パッケージを使用するためにC++の知識は必要ありません。

1
Amin Yahyaabadi