2014-12-15

魅惑の Qyoto (7) - Fedora 21 での動作確認

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.

  1. 「.NET Core」がオープンソース化、MacやLinuxもサポート | SourceForge.JP Magazine (2014年11月13日)
  2. .NET Source Code Integration | Mono(2014年11月18日)

そういうわけで、.NET にまつわる技術動向が注目されますが、まずは現状でできることを整理しておきましょう。

Hello World 再び

mono のバージョンは 2.10 ですが、ひとまず Hello World のプログラムの動作を確認してみます。「魅惑の Qyoto (1) - Hello Wold!」で紹介したサンプルで確認しますので、ソースを再掲します。

List: hello-qyoto.cs
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 の最近のバージョンについては、下記からパッケージをダウンロードして試してみる予定です。

  1. software.opensuse.org: パッケージのインストール: home:tpokorra:mono / mono-opt

0 件のコメント: