はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

Xamarinで始めるAndroidアプリ作成(その2)

前回のつづきです。

インストールが無事に完了したら、早速、Visual Studioを起動してみましょう。

[ファイル]-[新しいプロジェクト]メニューをクリックすれば言語ごとに作成できるテンプレート一覧が表示されます。

 

image_thumb3

Android / Cross-Platform / iOSあたりがXamarinのテンプレートになります。

[Android]

 Blank App (Android)

 Wear App (Android)

 WebView App (Android)

 OpenGL Game (Android)

 Class Library (Android)

 Bindings Library (Android)

 UI Test App (Xamarin.UITest | Android)

 Unit Test App (Android)

[Cross-Platform]

 Blank App (Native Portable)

 Blank App (Native Shared)

 Blank App (Xamarin.Forms Portable)

 Blank App (Xamarin.Forms Shared)

 Class Library (Xamarin.Forms)

 UI Test App (Xamarin.UITest | Cross-Platform)

[iOS]

 [Apple Watch]

  Watch App (Apple Watch)  

 [Extensions]

  Action Extentions (iOS)

  Document File Provider Extentions (iOS)

  Document Picker Extentions (iOS)

  Photo Editing Extentions (iOS)

  Share Extentions (iOS)

  Today Extentions (iOS)

  Custom Keyboard Extentions (iOS)

 [iPad]

  Blank App (iPad)

  Master-Detail App (iPad)

  OpenGL Game (iPad)

  ScenceKit Game (iPad)

  Signle View App (iPad)

  SpriteKit Game (iPad)

 [iPhone]

  Blank App (iPhone)

  Master-Detail App (iPhone)

  OpenGL Game (iPhone)

  ScenceKit Game (iPhone)

  Signle View App (iPhone)

  SpriteKit Game (iPhone)

 [Universal]

  Blank App (Universal)

  Master-Detail App (Universal)

  OpenGL Game (Universal)

  ScenceKit Game (Universal)

  Signle View App (Universal)

  SpriteKit Game (Universal)

Xamarinだからといって、AndroidiOSの両方作らないといけないかといえばそんなことはありません。

同じコードで書けるのだからせっかくなのでという程度のお話。

なのでAndroidiOSだけのテンプレートでアプリを作るのも楽しいと思います。

 

とはいえ、やっぱり両方一度に作るのがXamarinの醍醐味ですから、[Crass-Platform]の「Blank App (Native Shared)」か「Blank App (Xamarin.Forms Shared)」あたりのテンプレートを選んでみるのがいいでしょう。

PortableじゃなくてSharedなの?という点については、好みの問題ではあるかもしれませんが、Sharedの方が素性がよい気がしています。

  • Portable
    →共通コードはPCLと呼ばれるDLLにします。各OSのプロジェクトではDLLを参照する形で行います。
  • Shared
    →共通コードはSharedプロジェクトに記述します。でもコンパイル自体は各OSのプロジェクトのコードと一緒にコンパイルします。

 

Blank App (Native Shared)

Blank App (Native Shared)は、画面定義は、iOSはStoryBoard、Androidはaxml、WindowsPhone8.1はXAMLとそれぞれネイティブアプリを作成するときの画面定義と同じ定義で画面が作成できるテンプレートです。すでに画面定義があったり各OSの書籍を参考にするときなどに便利です。

 

Blank App (Xamarin.Forms Shared)

Blank App (Xamarin.Forms Shared)は、画面定義もXamarin.Formsという画面定義を使って3OSの画面を(別々に定義でもいいし、同じ定義でもいい)定義します。

定義形式は、XAML形式ですがUWPのXAMLとは要素名などが異なります。このあたりは今後どう統合されていくのか楽しみな部分です。

 

プロジェクトを作成したら

Xamarinは日々進化しています。特にXamarin.Formsの更新速度が速くテンプレートで使われているものよりも最新版がnugetで提供されています。

テンプレートからプロジェクトを作成したら、各プロジェクト名を右クリックして[NuGetパッケージの管理]で[更新プログラム]タブから更新を行ってください。各プロジェクトごとなので合計3回実施します。

image16