WinObjC雑感

公開から少し間が空いてしまいましたが、
WinObjCについて触れてみたので、感想を書いておこうと思います。

WinObjCとは

Microsoftが公開している、Windows上でObjective-C(iOS)のソースコードをコンパイルできるようにする、ブリッジモジュールの事です。

https://github.com/Microsoft/WinObjC/

今のところプレビュー版で、ARM向けのバイナリが生成できないなど、色々と制約はあります。

サンプルの動かし型

前述のgithubからSDK一式zipをダウンロードして展開し、
VisualStudio2015でソリューションファイルを開き、ビルドして実行するだけです。動かすだけなら超簡単だった。

WinObjC_Sample

ちゃんと.mファイルを修正すると、その通りバイナリにも反映されています。

WinObjC_Sample2

そして、Objective-Cのコードにバグを仕込むと、コンパイル時にちゃんと検出してくれています。

WinObjC_Errors

イケてるところ

  • Windows上でiOSアプリの動作確認ができる。(これが最重要ですねw)
  • VisualStudioで設定したブレークポイントでちゃんとブレークできる。
  • C++なんかと同様、ブレーク時点でのイミディエイトウィンドウで変数の値を確認できる。

微妙なところ

  • UIコンポーネントのサンプルもあったけれど、iOSとはデザインが微妙に異なるため、見た目の確認には厳しいかも。
  • Objective-Cのコードに合わせてエディタがハイライトされない。
  • IntelliSenseやフォーマッター、関数・クラス定義へのジャンプもできない。
  • 動的なシンタックスエラーチェックなどもできない。

まだプレビュー版なので、正式版に期待といったところでしょうか。
VisualStudioで開発できるようにするからには、IDEのサポートも期待したいところです。
ちなみに、サンプルの範囲で確認しただけなので、ライブラリの利用は試していません。