go-graphics/go-gui-projects

(このページの更新、およびGoのすべての種類の詳細と事実については@Go100And1に従ってください)。

ネイティブGUIとユーティリティバインディング

dlgsは、ダイアログと入力ボックスを表示するためのクロスプラットフォームライブラリです。

Gformは、Go用のWindows GUIツールキットを使用して簡単です。

  • wincは、Windows上のGo GUIアプリのための共通ライブラリです(gformに基づく)。

glfwはGLFW3のGoバインディングです。

go-gtkはGTK2のGoバインディングです。

  • RenderViewは、視覚的なアルゴリズム/バックエンドコードを対話的に操作するための簡単なGo GUIラッパーです。 サポートgo-gtk(デフォルト)、gotk3および光沢があるバックエンド。

go-mobileはモバイルプラットフォーム(AndroidとiOS)のサポートを追加し、モバイルアプリケーションを構築するためのツールを提供します。 (OpenGL ES2.0およびES3.0用のGoバインディングが含まれています。)

go-sdl2はGoユーザー用にラップされたSDL2です。

gothicはtcl/tkバインディングです。

gotk3は、GTK+3および依存プロジェクト(cairoを含む)のGoバインディングを提供します。

  • もう一つ:ゴッビ(カイロを含む)。

GxuiはGoクロスプラットフォームUIライブラリです。

MacDriverは、GoでApple/MacのApiとフレームワークを操作するためのツールキットです。

qtでは、QtアプリケーションをGoで完全に書くことができ、後でデプロイするのが非常に簡単になります。

goは、CGOの代わりにFFIを使用するQt5バインディングです。

shinyはGo cross platform UIパッケージです。

systrayは、通知領域にアイコンやメニューを配置するためのクロスプラットフォームのGoライブラリです。 Windows8、Mac OSX、Ubuntu14.10、Debian7.6でテストされています。

trayhostは、ホストオペレーティングシステムのタスクバーにアイコンを配置するためのクロスプラットフォームのGoライブラリです。

uiは、Goで簡単なGUIソフトウェア開発を提供することを目指しています。

w32.goは、syscallpacakgeを使用してWindows GUIを作成するためのショーの簡単な例です。

WalkはGoプログラミング言語用の”Windowsアプリケーションライブラリキット”です。

wuiは、このAPIからフォークされたネイティブWin32APIを使用するWindows GUIライブラリです。

XGBはX Goバインディングであり、コアXプロトコルおよび多くのX拡張機能と通信するための低レベルAPIです。

xgbutilはX Goバインディングで動作するように設計されたユーティリティライブラリです。

zenityは、zenityのようなダイアログを提供するクロスプラットフォームパッケージです。

HTMLベースのGUI

go-astilectronは、GOとHTML/JS/CSSでクロスプラットフォームのGUIアプリを構築するのに役立ちます。 それはastilectronの公式のgoバインディングであり、電子によって供給されています。

go-sciterはSciterのGolangバインディングです: 最新のUI開発のための埋め込み可能なHTML/CSS/スクリプトエンジン。

gowdは、GOとHTML/JS/CSS(nwjsを搭載)を使用してクロスプラットフォームGUIアプリを構築するのに役立ちます。

Gowutは純粋なGoで書かれたWeb UIツールキットです。 アプリはHTMLページとしてレンダリングされます。 それはブラウザをバンドルしません。

Lorcaは、Goで最新のHTML5デスクトップアプリを構築するための非常に小さなライブラリです。 Chromeはバンドルされていませんが、マシンにインストールされているChromeを再利用します。

ミュオンは、クロムの代わりに超軽量を使用して、Golangで書かれた電子の軽量の代替品です。

QlovaseedはGolangで書かれた電子の軽量な代替品です。 アプリはHTMLページとしてレンダリングされます。 それはブラウザをバンドルしません。

Wailsは、Go&Web技術を使用してデスクトップアプリケーションを構築するためのフレームワークです。

webviewは、最新のクロスプラットフォームGuiを構築するためのC/C++/Golang用の小さなクロスプラットフォームwebviewライブラリです。

カスタムGUI

duitは、開発者のための純粋なgo、クロスプラットフォーム、MITライセンスのuiツールキットです。

Fyneは、Goで書かれた使いやすいUIツールキットとアプリAPIです。 私たちは、クロスプラットフォームのグラフィックスを提供するために(go-glとgo-glfwプロジェクトを介して)OpenGLを使用しています。

giは、goのシーングラフベースの2Dおよび3D GUI/graphics interface(Gi)です。

Gioはgoに移植可能な即時モードGUIプログラムを実装しています。 Gioプログラムは、iOS/tvOS、Android、Linux(Wayland)、macOS、Windows、ブラウザ(Webassembly/WebGL)のすべての主要なプラットフォームで実行されます。

goeyは、Go言語用の宣言型のクロスプラットフォームGUIを提供します。 コントロールの範囲、サポートされているプロパティ、およびイベントは、HTMLで使用できるものとほぼ一致する必要があります。 ただし、プロパティとイベントは移植性をサポートするために制限される場合があります。 さらに、コントロールのスタイルは制限され、ネイティブプラットフォームに一致するコントロールの外観が制限されます。

go-flutterは、デスクトップにFlutterをもたらすパッケージです。

guiは、Goでの同時GUIのための超最小限の強固な基盤を提供します。

imgui-goは親愛なるImGuiのためのGoラッパーです。

  • giuはimgui-goをベースとしたGUIフレームワークです。 (同じauther、gimuからの別の類似したものが、核のために。)

ナノグイゴーはNanoGUIのgolangポートです。

nkはnuklearのGoバインディングを提供します。h.

  • もう1つは、cgoの代わりにgioまたはshinyバックエンドを使用するnucularです。

3DグラフィックスとコンピューティングAPIバインディング

d3d9は、MicrosoftのDirect3D9APIの純粋なGoラッパーです。

glリポジトリは、さまざまなOpenGLバージョンへのGoバインディングを保持しています。 それらはGlowを使用して自動生成されます。る。

  • およびglhf、gl3.3ラッパー。
  • とgo-mobileプロジェクトからの上記のOpenGL ES2.0とES3.0バインディング。
  • また、Android-goプロジェクトでのOpenGL ESの実装。

vulkanは、低オーバーヘッド、クロスプラットフォームの3DグラフィックスとコンピューティングAPIであるVulkanのGoバインディングを提供します。

2DベクターグラフィックスとコンピューティングApi

draw2dは、画像(draw2d)、pdfドキュメント(draw2dpdf)、opengl(draw2dgl)、svg(draw2dsvg)などの複数の出力をサポートするGo2dベ

ggは純粋なGoで2Dグラフィックスをレンダリングするためのライブラリです。

Gioプロジェクトには、OpenGL ESおよびDirect3D11に実装されたPathfinderプロジェクトに基づく効率的なベクターレンダラーが含まれています。

  • giocanvasはGio上に構築されたcanvas APIです。

go-cairoは、cairoグラフィックスライブラリのGoバインディングです。

  • そして、上記の他のものを述べました。

Go canvasは、OpenGLバックエンド(およびソフトウェアバックエンド)に実装されたHTML5canvas APIとできるだけ似た描画機能を提供する純粋なGoライブラリです。

go-chartは、時系列と連続折れ線グラフをサポートする非常に単純なgolangネイティブチャートライブラリです。

gonum/plotは、Go

でプロットを作成および描画するためのAPIを提供します。go-p5は、p5/processingライブラリによって公開されているものに似たプリミティブ

go-skiaは、cgoを介してskia Cライブラリに基づくGo skiaバインディングです。

NanoVGoはNanoVGの純粋なgolang実装です。 同じ著者がNanoGUIを維持しています。goプロジェクトは、上記のように述べました。

  • NanoVGのCGO結合バージョン。

svgoはScalable Vector Graphics1.1仕様で定義されているSVGを生成します。

フォント処理関連

freetypeはGoプログラミング言語のFreetypeフォントラスタライザです。

golang.org/x/image/font/sfnt パッケージは、TrueTypeやOpenTypeなどのSFNTフォントファイル形式を解析します。

pixfontは、標準の画像/描画パッケージ

ゲーム開発関連

godotエンジンのGDNative APIのgodot-go-Go言語バインディングで動作するGo用のシンプルで軽量なピクセルフォント(別名

詳細はAwesome Goをご覧ください。

画像処理関連

標準のGo画像パッケージ。

画像リポジトリには、補助的なGo画像ライブラリが保持されています。

詳細はAwesome Goをご覧ください。ところで、terminal UI Goプログラムの開発に興味がある場合は、tcell、tview(tcellに依存)、cview(tviewのフォーク)、およびAwesome Goに記載されているものを確認してください。



+