nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Development Technologies。

Xamarin & MacinCloud 利用動画集

さて、以下のエントリーではMacinCloud上を利用してXamarinで開発する手順の詳細を解説しました。

nuits.hatenadiary.jp

本エントリーでは、実際の動作を動画に収めてきましたので、その解説と、実際のMacinCloudの使用性をすこし解説しようと思います。
なお、表題の動画は文末にまとめてありますので、細かい数字とかどうでもいい方は、一番下へどうぞ!

前提条件

今回動画検証を実施した環境は以下の通りです。

  • ローカルPC
    • CPU:Core i5 2500K
    • メモリ:8G
    • ストレージ:SSD
    • ネットワーク接続:有線LAN
  • ローカルMac MacBook Air Mid 2013
    • CPU:Core i5 1.3G
    • メモリ:4G
    • ネットワーク接続:Wifi
  • インターネット回線

実施内容

大きく二つのテストを実施しました。
1. XamarinサンプルのTaskyProのコンパイルデバッグ
2. SingleViewアプリケーションで、ストーリーボードの編集

またテストは以下の3パターンを実施しました。
1. ローカルPCのVisual StudioからローカルMacに接続(省略時はローカルMacと記載)
2. ローカルPCのVisual StudioからMacinCloudに接続(省略時はMacinCloudと記載)
3. MacinCloudへリモート接続し、Xamarin Studioを直接実行(省略時はXamarin Studioと記載)

実施結果

動画の前に、ひとまず測定した数字と、その考察を記載します。
まずは測定結果です。

テスト内容 ローカルMac MacinCloud Xamarin Studio
TaskyProリビルド時間 9秒 20秒 4秒
TaskyPro起動時間 11秒 20秒 4秒
デバック 動画参照 動画参照 動画参照
ストーリーボード初回起動 40秒 43秒 34秒
ストーリーボード2回目以降起動 3秒 11秒 5秒
ストーリーボード編集 動画参照 動画参照 動画参照

時間は上記の通りですが、感覚は個人に依存しますので以下はあくまで私個人の感覚であることをご了承ください。
実際には動画も併せてみていただけると、雰囲気はつかめるのではないでしょうか?

TaskyProビルド・起動・デバック

まずビルドですがTaskyPro程度であれば、まぁ我慢できないこともないです。
リビルドだと時間はかかりますが、細かなビルド程度であれば結構早いです。
(1クラス修正した程度なら数秒)

しかし、起動から特にデバックは苦痛です。
この辺りは、後半の動画を見ていただければわかるかと思います。

はっきり言うと、MacinCloudにVisual Studioからリモート接続してデバックとか、非効率すぎます。
開発をWindows上のVisual Studio主体とするのであれば、ちょっとしたデバックならまだしも、がっつりデバック実行するのであれば、ソースをMacinCloud上と共有して(構成管理などで)、MacinCloud上で行うほうがはるかに精神的に楽だと思います。

この辺りは、iOS Simulator on Windowsがリリースされると、ビルドだけ我慢すればよいので選択肢としてはありだと思います。
またiOS Simulator on Windowsが利用できるとなると、CI Buildのプランが選べるので金銭的にも楽です。

ストーリーボードの起動と編集

ストーリーボードの初回起動はどれも遅いので大差ありませんでした。
ただし、画面数が多くなってくるとどうなるか、検討の必要性があるでしょう。

2回目の起動は、Visual StudioからMacinCloudの場合だけ、明らかに遅いです。
ですがまだ許容範囲内でした。

ストーリーボードの編集ですが、これは明らかにローカルMac接続が飛びぬけて楽でした。
MacinCloud上で直接Xamarin Studioで編集した場合、Xamarin Studioの動作自体は軽快なのですが、リモートデスクトップ接続のディレイが気になります。
ここは、Visual StudioからMacinCloudへ接続した場合と同程度の「不愉快感」でした。
人によって評価が変わりそうです。

ただし、少なくとも評価した範囲であれば、実用できないこともないレベルであったように思います。

考察

全体を通して考察した場合、現時点でのMacinCloudの利用用途は実際のところ以下の3つに絞られると思われます。

  • Visual Studio Team ServicesでXamarinプロジェクトをCIビルドする際の、ビルド環境(本来の利用方法)
  • Xamarinを評価するにあたり、一時的な利用
  • 個人開発などでMacの購入が困難で、それほど大きくないアプリケーションの開発

ただ飛びぬけて不快なのはデバック実行でした。
ビルド自体はリビルドはさておき、差分コンパイルであれば、ボチボチいける感じでした。
ストーリーボードはある程度忍耐が必要ですが、不可能でもありません。
またXamarin.Formsで開発するのであれば、そもそも使用頻度が高くありません。

このことから、iOS Simulator on Windowsがリリースされると、利用範囲は広がる可能性があります。
iOS Simulator on Windowsのリリースの楽しみが一つ増えましたね!

と言う分けで、お待たせしました。 最後に動画コーナーです。

動画集

ローカルのMacに接続して、ビルド・デバックを実施した様子です。

Visual StudioからMacinCloudへ接続して、ビルド・デバックした様子です。

MacinCloud上で直接Xamarin Studioを起動して、ビルド・デバックした様子です。

ローカルのMacに接続して、ストーリーボードの編集を実施した様子です。

Visual StudioからMacinCloudへ接続して、ストーリーボードの編集をした様子です。

MacinCloud上で直接Xamarin Studioを起動して、ストーリーボードの編集をした様子です。

さいごに

と言う分けで、今日はここまでとなります。
ではまた。