Eto.Forms2.4リリース

github.com

Eto.Formsの2.4.0、2.4.1が相次いでリリースされました。1年強ぶりですね。手元ではまだインストールしてませんが、とりあえず主要項目を書いておきます。

PCLから.NET Standard 1.0への移行

これが今回の目玉でしょう。将来を考えるとどこかで移行は必要です。 ただ、.NET Standardは分かりづらいですよね。とりあえず公式にリンクしておきます。

docs.microsoft.com

ライブラリは、なるだけ.NET Standardの小さなバージョンに準拠するといい(多くのアプリケーションやプラットフォームで利用できる)一方で、プログラムを書く側からは、大きなバージョンの方がAPIが多く、書きやすくなります。

特に制約の大きなSilverlightが入っている1.0だと、APIの制約がきつそうですし、逆にWindows PhoneやWindows 8.1ストアアプリもなくなる1.3にすると、制約が緩くなりそうです。

ただし、1.2以上は.NET Frameworkのバージョンもあがるので注意が必要です。Windows 8.1まではWindows Updateでも.NETのバージョンアップの大半は設定次第でオプションに含まれます。

現行版のIDEに対応

Eto.Formsのプラグインは、Visual Studio 2015やMonodevelop 5.xまでの対応でした。今回、その辺が一新され、VS2017やVS for Mac、Monodevelop7などに対応した模様です。

C#IDEを使う場合が非常に多いので、これは地味ですが重要な項目といえます。

.NET Core対応

なんと、.NET Core対応しています。Githubのissueで、対応できたらいいね、ぐらいのメッセージを読んだ気がしたのですが、びっくり。

Monoなし(MicrosoftOSS実装である.NET Core)でGUIアプリケーションが書けるなら、それはそれで結構ロマンがあるかも。

新しいコントロールなど

  • GridViewやTreeGridViewで、ドラッグ&ドロップが使えるようになったようです。
  • アセンブリ情報から自動的に「このアプリケーションについて」ダイアログを生成する、AboutDialogができました。
  • 並べ替えや個別の「閉じる」ボタンをもったコンテナ、DocumentControlが追加されました。
  • FilePicker(選ばれたファイル名がテキストで見えるファイル選択コントロール
  • FontPicker(選ばれたフォントの概要がテキストで見えるフォント選択コントロール
  • TextStepper(NumericUpDownの高機能版)

……そのうち、新機能なども含めて調べてみたいなと思います。