Xamarinとは
.Net(Visual Studio)で、iPhone(iOS)やアンドロイドのアプリが開発できる開発ツールです。
以前はXamarinという会社の開発ソフトの一つでしたが、Microsoftに買収され、
Visual Studio 2017では開発ツールの一つとなりました。
インストール時にモバイルアプリのオプションを選択すると組み込まれます。
アンドロイドに関しては画面デザイナーからシミュレーターまで全てWindowsPCさえ
あれば開発できます。iPhoneアプリでは残念ながらMacが必要です。画面デザイナー、
およびビルドとシミュレーターはMacを使うため、LANで接続されたMacが必要になります。
また、ソリューションとMacは1:1で接続されるので、ソリューションを2つ起動すると
最初に起動していたソリューションはMacと切断されてしまいます。
ちなみにVisual Studio 2017 Enterpriseであれば、シミュレーターをWindows上に表示できます。
ただしあくまでも「表示」するだけでバックグラウンドではMacのシミュレーターが起動するのでMacが必要なことには変わりありません。
画面についてはXamarin.Forms または ネイティブ のどちらかでUIを作成します。
Xamarin.FormsはiOS、アンドロイドとも1つのコードで同じレイアウトを作成します。
但し今のところデザイナーが無いので、ゴリゴリとコードで作らないといけません。
ネイティブでは双方のデザイナーを使ってGUIで作成します。iOSだとXCodeの画面デザイナーに似た画面です
コードに関しても、共通部分とiOS部分、アンドロイド部分(WindowsPhoneもある)で分かれていて共通なロジックがあれば共通部分に書くとそれぞれ分けて書く必要はありません。
ただ、共通にするにはそれなりにXamarin独自のコーディング知識が必要で、共通化しようとするが故に開発時間がかかってしまいそうで、どこまでを共通、専用と分けるかを見極める必要があり、そこは経験と慣れが必要だと思います。
慣れ親しんだC#で開発出来るという事ですがまだモバイルアプリ向けの知識は必要で、情報を探しながらの開発となりそうです。