このカレンダーは、Xamarin その1 Advent Calendar 2017[初心者さん・学生さん大歓迎!] 3日目の記事です。
昨日の「初心者向けXamarinハンズオン」、大変お疲れ様でした。
今回はやはり最初に躓く「環境」でのはまりどころがかなりのウエイトを占めたかと思います。
自分自身もXamarin環境を構築する時、自分で更新プログラムを適用しないといけないことがまず構築する際につらいポイントでした。
そして、このハンズオンでやっとAndroidエミュレーターでデバッグをすることができたので、本当にコミュニティの皆様にはとても感謝しております。
さて、その「環境構築」に関してのお話です。
Xamarinでアプリを作る際の誰もが嫌になるのは、「初回のビルドが失敗すること」。これをみんなで解決できることがこのハンズオンにはあると思います。
では、大幅な流れを見ておきましょう。
1.PCスペックの確認
2.開発環境投入
3.デバッグ機器の用意
4.初めての「Hello World」
となります。これを見ると、一見どのプログラミング界にあり得ることだと思われます。しかし、Xamarinをやるのにあたって、慎重な見極めが必要となってくると思います。
1.PCスペック
これに関ては、本日多くの人が苦しい結果になった方もいると思います。というのは、Xamarinに関しては少々多めのメモリを必要とします。
残念ながら最低でも8GBのRAMが必要になってきます。というのも、親元の統合開発環境(Visual Studio)が最近大容量のメモリを要求してくるのです。これを考えると、最低でも8GBはあったほうがいいでしょう。また、仮想環境での開発となってくるとその分メモリを消費します。となると、16GBのほうが「人権がある」といえるのです。(その分余裕持てるはずだ)
また、ストレージに関しては500GB以上の容量があると理想的なのかなと思います。まあねがわくはSSDでの開発のほうがもっと効率的だと感じます。
MacではMac BookとかProのエディションで高スペックの容量を確保できます。ですので、パソコン買い、初期投資惜しまずにね。
2.開発環境投入
開発には、WindowsではVisual Studio、MacではVisual Studio For Macです。個人利用の場合は無償で利用できます。
最新の2017では、Xamarinの開発関連のツールをワンタッチでインストールを行えます。デバッグ時間短縮のためにもぜひともUWPは入れておきたいものです(Macでは利用不可)。インターネットは安定環境かつ制限なしの回線でやるのがいいでしょう。
VSインストール後はAndroid SDKの確認もしておきましょう。ここがうまくいかないとデバッグにものすごい時間を食う可能性があります。
3.デバッグ機械の用意
Androidは手持ちの機器でやるのがいいと思います。しかし、残念ながら一部は相性の関係もあるので、自動ツールでの開発も検討してみてください。(今度ハンズオンやろうと検討中)
一部界隈では五輪までに技適ない端末の使用ができなくなるとかの話もあるようです。
一番いいのはNexus端末がいいとか。最近はドライバの相性の問題は少ないようです??
4.Hello World
Xamarinで一番神経を使うのはまさに「Hello World」だと思います。
今回のハンズオンではかなりエラーメッセージが出るなどして環境面で2時間も時間を食ってしまいました。 今回はここの知見について書きたいと思います。
VS17において、Android実機デバッグの際にAPIがないとかの場合、下記の方法を試してください。
ソリューションファイルのAndroid部分を右クリック→プロパティ―表示→最初の画面の「ターゲットフレームワーク」のドロップダウンリストがありますよね?「Androidバージョンを使用したコンパイル」のところを、「最新のプラットフォーム」にすると現在の流通している端末でのデバッグがほとんどで簡単になると思います。
もしAndroidの用意ができない時の暫定版としては、X86・UWPにターゲットを変更しローカルコンピューターでデバッグする方法もあります。その場合はデバッグ前に設定画面が出るので「開発者モード」にしてくださいね。
Androidのデバッグに関しては、プロジェクトを作成して直ちに初回のビルドを余裕のあるうちにやっておきましょう。
大量のパッケージのダウンロードを行うのがあり、これを中断してしまうとあとあと大変なことになってくるので・・・
これをやっとくと楽になりますよ。
10人十色の環境構築、Xamarinの様々なトラブルに悩まされるなら、一度不定期に開催されるJXUG主催の「初心者向けハンズオン」に参加してみるといいかもしれません。
JXUGのイベントページはこちらです。
Xamarinをやるうえで私の考えていることは、1に環境、1に環境、その次にハンズオン教材だと・・・
環境が安定するまでいろいろ粘ると思いますが、悩んだら一度、#JXUGで呟いてみてください。