takataka430’s blog

.NET系を中心に勉強したことのまとめを書きます

プログラミング初心者のXamarin.Forms体験記

本記事はXamarin Advent Calendar 2018の8日目です。

私はXamarin.Formsがやりたくてプログラミングを始めたのですが、色々苦労したことがありました。この記事では苦労したことと自分なりに考えてどのように対処したかを書こうと思います。

ちなみにXamarinを始めた時のプログラミング歴は4ヶ月程度で、Ruby on RailsASP.NETを少し勉強したり、C#の文法の入門書をやったという状態でスタートしました。

苦労したこととその対処法

・開発環境を作るのに苦戦

Xamarinを使っていて一番苦労したことかもしれません。
当時私が使っていたPCはメモリ4GB、HDDの残りが10GBくらいのWindows7のマシンでした。これだとVisual Studioのインストールすらできません・・・。何とかHDDの空き容量を増やしてインストールはできたものの、動きが重いので結局はMac Book Airを買いました。
過去の記事にも書きましたが、Xamarinで開発するためにはMacで行うのがベストだと思います。

Androidのシミュレータがエラーで動かない

Windowsを使っていた時、Androidのシミュレータがどうしても動かなくて苦戦しました。しかし、自分はAndroidの端末を持っていたので実機デバッグを行うことでこのエラーを回避しました。

・何からどのように勉強すればいいのかわからない

勉強始めたばかりの頃、必要な知識を調べたら結構たくさんあることを知り、どこから学べばいいのかかなり悩みました。 - Xamarin.Forms
- C#
- ネイティブ(AndroidiOS)の知識
- MVVM など
プログラミング経験が全然無い私にはこれらを一気にやるのは厳しい・・・。
迷った末、Xamarin.FormsとC#の基礎を勉強に絞ることにしました。これは正しかったと思います。
勉強方法としてはとにかく参考書のコードを写して動かしてみました。これを繰り返していると段々何となく動きがわかってきます。

・ViewModelが理解できない

参考書などでよく出てくるサンプルアプリはMVVMアーキテクチャであることが多いです。ですがこれが理解できない・・・。特にViewModel。Viewはすぐに理解できるしModelも調べるとなんとなくわかるのですが、ViewModelだけはどうしても理解ができませんでした(現在も勉強中)。なので取り急ぎViewModelは気にしないという方針にしました。ViewModelが無くてもコードビハインドに書けば簡単なアプリ(ToDoリストとか)なら作れます。もちろんMVVMでちゃんと作った方がいいとは思うのですが、まずは「動くものを作る」ことを優先してもいいのではないかなと個人的には思います。

・どの参考書をやればいいのかわからない

Xamarin.Formsを扱う参考書は何冊か出ていますが、なんとなくどれも難しそうで「どれを買えばいいんだ・・?」とかなり迷いました。とりあえず色々買って読んでみたのですが、やる順番大事です。私のオススメは以下の順番でやることです。

基礎から学ぶ Xamarinプログラミング

Xamarinエキスパート養成読本 (Software Design plus)

Xamarinプログラミング入門 C#によるiOS、Androidアプリケーション開発の基本及び
かずきのXamarin.Forms入門

プログラミングXamarin 上

上記の参考書でXamarin.Formsの勉強を進めつつ、C#の入門書をやるのがいいと思います。

・聞きたいことがあるけど質問する人がいない

Xamarinはおろかモバイルアプリ開発をしている知人がいなかったので、詰まった時に質問することができず困りました。が、ある時質問できるサイトを発見。どうしてもわからないことはこちらで聞いて解決しました。

teratail【テラテイル】|ITエンジニア特化型Q&Aサイト

また、Japan Xamarin User Groupで定期的にハンズオンを行なっているので、こちらに参加してみるのもいいと思います。私も何回か参加していますが、一人で勉強するより学習が進むのでとても良いと思います。

Xamarinに慣れてきたら・・・

  • 公式ドキュメントを読む
    勉強始めたばかりの頃は公式ドキュメントを読んでもちんぷんかんぷんなので全く読んでいませんでした。しかしある程度勉強すると公式ドキュメントが読める上に大体のことが書いてあることに気づきました。悩んだ末にドキュメントを見たらちゃんと書いてあったなんてことも・・。公式ドキュメントは大事です。

docs.microsoft.com

  • 調べる際は英語で検索する
    エラーの対処の仕方を調べたり何かの機能を実現する方法を調べる際、日本語でも情報は結構ありますが、英語の方が相対的に情報が多いです。
    また、公式ドキュメントの日本語が機械翻訳のような感じで読みづらいこともあります。
    可能であれば英語に慣れておくことも大事であると思います。
     

 
以上、1年ほどXamarin.Formsを触っての体験記でした。

明日は@tonkunさんです。よろしくお願いします。