GTK#
先日からmonoに興味を持ったのでいろいろ調べ中。monoのサイトにGTK#やCairoが載ってるのでこれを機会にGTK+プログラミングを始めてみました。ちまちまお試しコーディングしていますが、見せられるほどのものはできてませんので、ここまでのまとめです。
#まだちゃんと把握できていないところがあるのでうそ書いてるかも。間違ってたら指摘お願いします。
GTK#はLinuxのGNOMEが使ってるウィンドウツールキット、ようするにSystem.Windows.FormsやMFCやwxWidgetsなどと同じGUIアプリを作るライブラリ。元はGTK+というC言語版があって、それを.NETにポートしたもの。.NETにポートしているということはつまりはmonoでも使える。
CairoはFireFoxのレンダリングバックエンドに使われてたりする2D描画ライブラリ。.NETで言うとSystem.Drawing。GTK+のレンダリングバックエンドもCairo。
もともとLinuxでも動くアプリが作りたかっただけなのでSystem.Windows.Formsでもよかったんですが、簡単な自作アプリでSplitterを動かしただけで表示がおかしくなってたのでげんなりしてGTKで行くことにしました。
インストール
Windows
http://www.go-mono.com/mono-downloads/download.html
ここのWindowsを選んでインストーラをダウンロードしてインストール、、、するとMono.Cairoでビルドエラーになるのでスルーして(笑
http://medsphere.org/projects/gtksharp/
ここのSDKのリンクからインストーラをダウンロードしてインストール。
Ubuntu(Linux)
synapticでmonodevelop入れればたぶん大丈夫(超適当^^)
リンク
http://www.mono-project.com/
mono
http://www.mono-project.com/GtkSharp
GTK#
http://www.mono-project.com/Mono.Cairo
Mono.Cairo
Tao Framework
http://www.taoframework.com/
OpenGLやLua、ODE、SDLなどをC#にポートしてくれるライブラリ。これ使えばC#からOpenGLが扱える。
ただし、これはそのまんまLinuxには持っていけなくてTao.OpenGLとは別にWindowsならTao.Platform.Windows、LinuxならTao.Platform.X11でプラットフォーム依存のコードを書く。ちなみにWindowsもX11も.exeにルーチンを仕込んでおいてランタイムでスイッチすることで同じ.exeをWindows/Linux共用にはできるみたい。
Googleソースコード検索
http://www.google.co.jp/codesearch
ウェブ上で公開されているソースコードに対して検索がかけられる。GTKやCairo、Taoは日本語ドキュメントが少ないのでこれで実際に使っているコードを探すとすんごい便利。