Qyoto は Qt の .NET バインディングです。Fedora 20 の時に、新しい Qyoto を入手して「魅惑の Qyoto」と題して、Mono 環境でサンプルを紹介していましたが、一時期 CentOS 7 へ乗り換えてから中断していました。Fedora 21 では、Fedora 標準のレポジトリから Qyoto のパッケージが利用できますので、まずは動作確認をしてみます。
Fedora 21 における Mono の開発環境
Fedora 21 における Mono / Qyoto の開発環境の主要なパッケージは、下記の通りです。
- mono-core-2.10.8-8.fc21.x86_64
- qt-4.8.6-18.fc21.x86_64
- qyoto-4.14.3-1.fc21.x86_64
- qyoto-devel-4.14.3-1.fc21.x86_64
Fedora 21 で Mono のバージョンが 2.10 から 3.4 へ移行するものと思っていましたが、あらためて Changes/Mono 3.4 - FedoraProject を確認すると、ターゲットリリースは Fedora 22 になっていました。なお、Mono の最新バージョンは 3.8 です。
Mono の今後
Microsoft は 11 月 12 日、.NET Framework のサーバーサイド向け技術 .NET Core をオープンソース化することを発表して関係者を驚かせました 1.。"Microsoft" という言葉と "オープンソース" という言葉が、今や同一の文章の中で使われる時代になったのです。Mono Project はこの動きに呼応して、今後統合に向けて動いていくことを表明しています 2.。
- 「.NET Core」がオープンソース化、MacやLinuxもサポート | SourceForge.JP Magazine (2014年11月13日)
- .NET Source Code Integration | Mono(2014年11月18日)
そういうわけで、.NET にまつわる技術動向が注目されますが、まずは現状でできることを整理しておきましょう。
Hello World 再び
mono のバージョンは 2.10 ですが、ひとまず Hello World のプログラムの動作を確認してみます。「魅惑の Qyoto (1) - Hello Wold!」で紹介したサンプルで確認しますので、ソースを再掲します。
using System;
using Qyoto;
/**
* ZetCode Qyoto C# tutorial
*
* This program creates a quit
* button. When we press the button,
* the application terminates.
*
* @author Jan Bodnar
* website zetcode.com
* last modified October 2012
*
* modified by Fuhito Suguri
* last modified 13-May-2014
*/
public class QyotoApp : QWidget
{
public QyotoApp ()
{
WindowTitle = "mono/qyoto";
InitUI ();
Resize (180, 60);
Move (300, 300);
Show ();
}
public void InitUI ()
{
QPushButton but = new QPushButton ("こんにちは、世界!", this);
Connect (but, SIGNAL ("clicked()"), qApp, SLOT ("quit()"));
but.SetGeometry (10, 10, 160, 40);
}
[STAThread]
public static int Main (String[] args)
{
new QApplication (args);
new QyotoApp ();
return QApplication.Exec ();
}
}
コンパイルおよび実行例を以下に示します。
$ mcs hello-qyoto.cs -pkg:qyoto $ mono hello-qyoto.exe
Mono の最近のバージョンについては、下記からパッケージをダウンロードして試してみる予定です。
0 件のコメント:
コメントを投稿