Hatena::Groupperl

Perl Tech RSSフィード

2009-06-21

WideStudioGUIライブラリをXS化したMWT.pmを開発中 はてなブックマーク -  WideStudioのGUIライブラリをXS化したMWT.pmを開発中 - Perl Tech

f:id:bosh:20090621130639j:image:right以前から考えていたMWT(Multi-platform Widget Toolkit)のXS化に成功したので紹介します。WideStudioでは以前からPerlで開発が可能でしたが、不満点が多かったため自分でXSを作ることにしました。不満点としては以下が挙げられます。

  • Windows版ではWideStudio付属のPerlしか使えない
  • APIが冗長で、Perlの流儀に沿っていない
  • イベントプロシージャにサブルーチンリファレンスが使えない
  • PARで実行ファイル化できない

開発を始めたばかりなのでまだまだ時間がかかりますが、以下のような機能を実装する予定です。

  • Windows FormsベースのAPIを採用する
  • イベントプロシージャにサブルーチンリファレンスを使えるようにする
  • WindowsUnix系両方で動作させる
  • MWTのソースをバンドルし、ライブラリのビルドまで一発で出来るようにする
  • (仮)PAR対策で、XSのDLLが1個で済むようにする。でもロード時間が増えるかも。
  • 将来、余力があればParrot版も作る

開発の問題点

  1. モジュールのライセンスをMITライセンスにしようと思っているが、依存ライブラリのlibjpegが宣伝条項を含むBSDライセンスになっている。libjpegのライセンスを見る限り、リンクする側(MWT)には影響しないようなので、「MWTの部分はMITライセンスで、libjpegのみlibjpegライセンスに従う」とすればバンドルしても問題無しなのか?
  2. 現在Strawberry Perlで開発しているのでMinGWを使っているが、Visual C++の場合はスタティックリンクが出来ない的な情報があり、よく分からない。
  3. 自分がUnix系の環境を持っていないので開発が難しい。

ZIGOROuZIGOROu2009/08/11 00:00YAPC Asia 2009 は来られるのでしょうか。このお話を良かったら LT に応募してみませんか?連絡先が見つけられなかったのでコメントにて失礼致します。