読者です 読者をやめる 読者になる 読者になる

Xamarin 日本語情報

Xamarin(ザマリン) の代理店だったエクセルソフト田淵のブログです。主に Xamarin に関するエントリーをアップしていきます。(なるべく正しい有益な情報を掲載していきたいと考えていますが、このブログのエントリーは所属組織の公式見解ではありませんのでご注意ください)

目次

Xamarin

はじめに

Xamarin (ザマリンと読みます) とは、Gnome, Mono の開発者である Migel de Icaza (ミゲル・デ・イカザ) 氏が立ち上げた企業名であり、C#Android, iOS, Mac のネイティブアプリを作成できる開発ツール郡 (Xamarin.Android*1、Xamarin.iOS*2、Xamarin.Mac*3、Xamarin Studio*4 など) のブランド名です。

2016/4/1 をもって、Visual Studio に付いてくるようになりました。

本ブログは、エクセルソフトの田淵義人が Xamarin に関する様々な情報を記載しています。Xamarin って何だろ?という方、Xamarin についてもっと知りたい。というような開発者の皆様の手助けになれば幸いです。

まだ Xamarin に関する日本語の情報は少ないのが現状ですので、まず手始めにどのような情報を追えばよいのかを纏めておきます。

 

Xamarin とは?

紹介スライドなどをご覧ください。

 

書籍

 

コミュニティ

公式コミュニティサイト Japan Xamarin User Group (JXUG) 

facebook User Group

 

各種情報へのリンク

本ブログの主なエントリー

全般
Xamarin.Forms
Xamarin.Forms TIPS/逆引き
Xamarin Test Cloud
BAD KNOW HOW

全記事一覧 - Xamarin 日本語情報

Xamarin.Forms エントリー纏め

 

事例

事例

 

エクセルソフト Xamarin ページ

Qiita

ブログ、連載記事など

 

Xamarin 本家の開発者向けの情報(英語)

Xamarin 学習用リソースまとめ でも公式情報を纏めていますので、ご参照ください。

 

Xamarin 気になった方は

是非 ダウンロード(直接) / ダウンロード(弊社経由) して触ってみてください。
学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の情報が欲しい方はこのブログも購読いただいたりすると嬉しいです。

以上です。

*1:旧 MonoDroid, Mono for Android

*2:旧 MonoTouch

*3:OSS版はMonoMac

*4:OSS 版は MonoDevelop

Xamarin Studio Mac で iPhone 7 がデバッグ対象に出てこないバグ

Xamarin

こんにちは。エクセルソフトの田淵です。

Xamarin Studio 6.1 (Build 5441) が 2016/09/25 時点の最新 Stable です。

最新 Stable で環境によっては、次のように iPhone 7 がリストされないバグが存在するようです。

f:id:ytabuchi:20160925104811p:plain:w300

@Crocus さんに教えていただいた Bugzilla では修正されたことが確認できているようなので、Stable のアップデートをしばらく待つか、Beta Channel にアップデートするとリストされるので、Beta を使うかしましょう。

f:id:ytabuchi:20160925105052p:plain:w300

Xamarin 気になった方は

是非 ダウンロード して触ってみてください。Visual Studio 2015 をご利用の方は Update 3 にアップデートする際にカスタムインストールで Xamarin を追加しましょう。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)

ytabuchi.hatenablog.com

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。

以上です。

Xamarin バッドノウハウの解説

Xamarin Xamarin.Forms

こんにちは。エクセルソフトの田淵です。

の解説です。

はじめに

盛大に Xamarin を dis っていますが、私は Xamarin が大好きです。確かに不安定ですしバグも多いですが、そのバグを潰してくださるアーリーアダプターの方がいなければ、安定したプロダクトにはなりません。今、既に、そしてこれから Xamarin を触ってくださる方に最大級の感謝を送りつつ、各バッドノウハウの詳細を解説していきます。

また、バッドノウハウということで脅しに掛かっていますが、Xamarin を使っている方々は凄い方ばかりなので、触ってみて困ったら Twitter で #JXUG と #Xamarin のタグを付けてツイートしていただくと誰かが拾って回答してくれます。また、facebook のグループ に投げてもらうのもよいですし、teratail も良いでしょう。みんなで助け合ってより良いものにしていきましょう(^^)

Xamarin の理解・心がけ編

インストールは大変なのですが、以下のエントリーも併せてご覧ください。

www.nuits.jp

ytabuchi.hatenablog.com

blogs.msdn.microsoft.com

Xamarin って C#er であれば誰でも簡単にスマホ アプリが作れる魔法のツールなんでしょ?

どのクロスプラットフォーム開発ツールも銀の弾丸ではありません。が、Xamarin は iOS/Android ネイティブの API を活用する「薄いラッパー」を提供するという点で iOS/Android ネイティブに近い、良い位置にいると考えます。

Xamarin の開発をする上で大事なことって何だと思う?

現時点でバグが多いのは、リリースされて3年ほどの Xamarin.Forms です。これは、Microsoft によりどんどん洗練されていくと思われます。Xamarin ネイティブ(Xamarin.iOS, Xamarin.Android の事で UI を別々に作る手法)は 5,6年経っており、かつ、iOS/AndroidAPI をそのまま C# に移植しているだけですので非常に安定しています。

Xamarin.Forms ってどうなの?

前述したように、現時点ではバギーな点も多いです。困ったら GitHub のソース を見てやれ!という方の方が向いています。

日本語ドキュメントが少なくて辛いんだけど?*

英語のドキュメント はものすごく充実しています。英語でも読んでやろうという気概のある方の方が向いています。

プロジェクト設定・ビルド編

インストール大変じゃない?

Windows の方は Windows で Xamarin 開発をしたい方はインストールする前に読んでほしい - Xamarin 日本語情報 を。Mac の方は Mac で Xamarin 使ってみた!インストール〜実行まで【完全無料】[Getting Started Xamarin on Mac] – ちょ窓帳 をご覧ください。

Androidデバッグには何を使えばいいの?

実機が一番良いです。センサーもすべて使えるし。実機がない方は、Android 標準の x86 エミュレーターを使いましょう。こちらも便利です。(間違っても ARM のエミュレーターは使ってはいけません)

どのテンプレートで何が出来るのか良く分からん

[Visual C#>Cross-Platform]の[Blank App (Native Portable)]が Xamarin ネイティブのプロジェクト、[Blank App (Xamarin.Forms Portable)]が Xamarin.Forms のプロジェクトです。

f:id:ytabuchi:20160911224407p:plain:w450

Xamarin.Forms のプロジェクト作るの凄い時間が かかるんだけど?

作成時に、NuGet から Xamarin.Forms のライブラリや Xamarin.Android.Support.v4 などのライブラリをダウンロードするためにどうしても時間が掛かります。1分くらいです。

これ何?
f:id:ytabuchi:20160911224910p:plain:w450

Xamarin.Forms は標準で iOS/Android/UWP/Windows Store 8.1/Windows Phone 8.1 のプロジェクトを作成しますが、UWP のプロジェクトは、Android のように最低サポートバージョン(Minimum Version)とターゲットサポートバージョン(Target Version)を指定する必要があります。現時点で Windows 10 Anniversary Update SDK (10.0.14393) は未対応のようなので、Target を 10586 にしておくのが良いでしょう。 Anniversary Update (10.0.14393) にも対応したようです!

Xamarin.Forms まだワーニングが出るんだけど?
f:id:ytabuchi:20160911225456p:plain:w450

新規作成時に NuGet からライブラリを取得するため、ビルドするまでライブラリを参照できません。そのため、ワーニングが出ますが、ビルドすれば消えますのでご安心ください。

Xamarin.Forms のバージョンが古くね?
f:id:ytabuchi:20160911225734p:plain:w450

Xamarin.Forms のテンプレートは Xamarin のバージョンアップと共に修正されるため、Xamarin とは別にバージョンアップしていく Xamarin.Forms の最新版は使われません。最新版を使いたい場合は、Visual Studio のソリューションを右クリックして、[ソリューションの NuGet パッケージの管理]から最新にするか、私が用意した カスタムテンプレート を使用してください。

Xamarin.Forms に付属している Android のサポートライブラリーはバージョンアップすべき?

Xamarin.Forms の NuGet サイト の Dependencies の画面写真ですが、依存しているバージョンが固定されていますので、個別にはバージョンアップしないようにしてください。Xamarin.Forms のライブラリをバージョンアップしたり特定のバージョンをインストールしたりすると、その Xamarin.Forms にあったサポートライブラリがインストールされます。
f:id:ytabuchi:20160911230145p:plain:w450

Xamarin.Forms プロジェクトのターゲットって何?

Xamarin.Forms は iOS/Android から参照できる PCL (Portable Class Library) のライブラリです。PCL は Target OS によりプロファイルが決まっています。PCL については Xamarinと、ポータブル・クラス・ライブラリ(PCL) - Build Insider を。どれを使えばいいのか?については Xamarin.Forms の PCL ではどの Profile を選択すべきか? - Xamarin 日本語情報 をご覧ください。

Profile 変えようとしたら何コレ?
f:id:ytabuchi:20160911230509p:plain:w450

PCL プロジェクトを右クリックして[プロパティ]を選択すると、PCL の Target OS を変更できますが、Xamarin.Forms ライブラリが参照されていると変更できません。これは、NuGet ライブラリに各プロファイル用の dll が含まれており、一度参照された dll を削除=ライブラリをプロジェクトから削除 しないと別のプロファイル用の dll をインポートできないためです。今後、.NET Standard に対応したライブラリが増えればこの設定は不要になるはずです。
f:id:ytabuchi:20160911230608p:plain:w450

Xamarin.Forms の Android プロジェクトのビルド に凄い時間がかかるんだけど?

Xamarin.Forms に限らず、Android のサポートライブラリを使用したプロジェクトをビルドすると、Android Java 用のライブラリの実体をキャッシュフォルダ %LOCALAPPDATA%\Xamarin にダウンロードします。Android のレポジトリがそれほど高速ではないため、ダウンロードが終了するまでお待ちください。キャッシュフォルダをエクスプローラーで開いておくと、少しずつダウンロードされていくのが分かります。
f:id:ytabuchi:20160911231107p:plain:w450

No resource found that matches the given name というエラーが出た

Xamarin.Android では、Android Java でも使用する Android SDKC# でラップして使用します。Xamarin.Forms では、Support Library v4 の Material Design 機能など様々な機能を使用するため、Android SDK の 6.0, 5.1, 5.0, 4.4, 4.1, 4.0 はインストールしておくことを強くお勧めします。

Resource.Designer.cs に No resource found っ てエラーが鬼のように出た

Resource.Designer.csVisual Studio が自動生成する Android の Resource を管理するファイルなのですが、Android の Target SDK を変更すると、その SDK で使用する Resource が自動的に登録されます。その後、例えば Android の Target SDK を下げると、本来は Resource.Desinger.cs からそれらの Resource が削除されるはずなのですが、削除されずに残ってしまうことがあります。この場合は、手動で Resource.Desinger.csのエラーになっている Resource を削除するか、プロジェクトを作り直すしかありません。(過去4回位発生しましたが、ライブラリをあまり入れ替えたりしなくなったので現在は見てません。直ってる可能性大です。)

Android プロジェクトをビルドするとめっちゃ文字 化けするんだけど!
f:id:ytabuchi:20160911232003p:plain:w450

Xamarin の開発では、Android SDK は最新版を使用することを推奨します。が、Xamarin が対応するまでは、Android SDK Build Tools を最新にしてしまうと対応していないためエラーが出ます。Xamarin が Stable で対応したら、最新の Build Tools をインストールするようにしてください。

Android アプリで配置エラーが出たよ…

様々な原因で発生するエラーですが、原因として多いのはエミュレーターが起動するのに時間が掛かっていて、配置プロセスがタイムアウトになるケースです。エミュレーターが起動した後で、再度デバッグビルドまたは配置を行ってみてください。

ビルドに失敗するようになったらどうすれば良い? Unzipping failed ってなに?

Xamarin.Android の初回ビルドを途中で終了してしまった場合は、%LOCALAPPDATA%\Xamarin の zips が中途半端な状態になり、再ビルドで zip が壊れているため展開できず、エラーが出ることがあります。まずはすべてのプロジェクトの bin obj を消すことを試していただき、それでも直らない場合は %LOCALAPPDATA%¥Xamarin のライブラリフォルダと zips フォルダを削除して再ビルドをお試しください。

Surface Pro 4Visual Studio Emulator for Android に配置できない><

Intel のコードネーム「Skylake」の CPU を搭載したマシンで Hyper-V を使用した Visual Studio Emulator for Android に配置できないエラーが報告されています。画像の部分のチェックを付けることで解決します。
f:id:ytabuchi:20160911232722p:plain:w450

デバッグビルドが途中で終わるんだけど…

これは私の Nexus 5 で発生していたのですが、デバッグビルドするとなぜか SD カードにインストールされて、デバッグできないことがありました。Android のアプリ一覧のメニューでビルドしたアプリが SD カードのアイコンになっていたらアンインストールして再度デバッグビルドすると解決することが多いです。
f:id:ytabuchi:20160911232902p:plain:w300

Android の Layout.axml が開けないんだけど?

Layout の axml を開くと、「Android SDK 23 is required」のようなエラーが出ることがあります。素直に指示にしたがい、SDK をインストールしてください。

UWP ビルド出来ない…><
f:id:ytabuchi:20160911233146p:plain:w450

Xamarin.Forms のソリューションでは、初期のプラットフォームが「Any CPU」になっていますが、UWP アプリは Any CPU に対応していません。x86 にするか チェックを付けると良いでしょう。
f:id:ytabuchi:20160911233129p:plain:w450

Material Design を設定したのにステータスバーが黒いんだけど?

Xamarin は Android 5.0 でサポートされた Material Design に対応しています。Android Java の開発と同じく values-v21styles.xml を用意して「colorPrimary」「colorPrimaryDark」「colorAccent」などを指定します。ただ、この設定が適用されるのは、Android プロジェクトのプロパティ(AndroidManifest.xml と同義)で、Target Android Version を 5.0 以上に設定した時だけです。
f:id:ytabuchi:20160911233541p:plain:w450

Mac Remote Agent がすぐ切れるよ…

Visual StudioiOS 開発をするには Mac を別に用意して、MacSSH で接続する機能、Mac Remote Agent を使用します。この Agent は、Mac 側の省電力機能がオンになり、ネットワークを切断すると当然切れて、再接続が必要になり、ちょっとストレスです。Mac 側はワイヤレスではなく、有線でネットワークに接続し、ディスプレイをオンのままにすると、接続が切れにくいそうです。

Storyboard が開けないんだけど…

Visual Studio で Storyboard を編集するには、Mac と接続している必要があります。Remote Agent が切断されていないか?Mac にインストールした Xamarin.iOS のバージョンと、Visual Studio にインストールした Xamarin.iOS のバージョンが同じか?Xcode は最新になっているか?などを確認してください。

iOS Simulator を Mac で確認するの面倒なんだけど?

Visual StudioiOS アプリをビルドすると、Mac の画面で Simulator が立ち上がり、デバッグができます。が、Mac が手元にあれば良いですが、少し遠かった場合、毎回 iOS Simulator の画面や Mac に接続した実機の画面を見に行くのは手間ですよね。iOS Simulator for Windows という便利なツールがあるので活用しましょう。

iOS アプリのビルド時間、長くない?

iOS アプリは、最初に Visual Studio で exe/app をビルドし、その後 MacXcode に転送してプロビジョニングプロファイルで署名して ipa を作成するため、それなりに時間が掛かります。

開発編

Visual Studio と Xamarin Studio で相互運用すると .csproj がゴリっと書き換わったりすることがあるみたいよ。

ライブラリを追加したり、プロジェクトの設定を変更するのは VS、XS のどちらかに統一しましょう。

Xamarin.Forms の Slider は Max を先に指定し ないと落ちるみたい…

すみません!私のスライドに書いてたの逆でした。Max が先。が正しいです。 @kurosawa0626スライド をご覧ください。

以下は @omanuke さんからの情報です。原文は こちら をご覧ください。解説エントリーも書いてくださいました!こちら

  • Xamarin.Forms で PushModalAsync 表示をし たときに、Navigation.ModalStack.Count の値が iOSAndroidで違うんだって。
  • Xamarin.Forms の Device.BeginInvokeOnMainThread は、 Android ではそのまま実行されるけど iOS はポストされてから実行されるので挙動が変わるんだって。
  • Xamarin.Forms の TapGestureRecognizer の 判定範囲が Android 側で広すぎて、スワイプとかぶっておかしくなるらしいよ。
  • Xamarin.Forms の PanGestureRecognizer は iOSAndroid でイベントが発火したり発火しな かったりするんだって。
  • Xamarin.Forms で InputTransparent=false にし ても iOSAndroid で下のコントロールにイベントを透過できないことがあるらしいよ。
  • Xamarin.Forms の Picker は Bindable じゃないんですよね。
  • Android の View は Mono 側で GC してもしば らく Java 側から握られてたりしてメモリから消えるまでに時間が掛かるんだって。メモリリークじゃないらしいよ。
  • iOSデバッグできる端末と launch failed でデ バッグできない端末が未だにあるんだって。

基本的に凝ったことをやろうとして壁に当たった時は、Custom Renderer で iOS/Android ネイティブのコントロールを独自に参照することになります。

ListView については @qwerty2501 さんからの情報です。原文とワークアラウンドこちら です。

  • Xamarin.Forms の ListView はメモリリークするん だって…
  • Xamarin.Forms の UWP 版 ListView だと仮想化が有効にならないんだって。

StackLayout は手軽なのですが、XXXandExpand が表示されてからそれぞれの大きさを計算するので、描画コストが高めです。Grid を使うのが良いです。

Xamarin 気になった方は

是非 ダウンロード して触ってみてください。Visual Studio 2015 をご利用の方は Update 3 にアップデートする際にカスタムインストールで Xamarin を追加しましょう。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)

ytabuchi.hatenablog.com

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。

以上です。

わんくま同盟 横浜勉強会 #08 でちょまどさんと喋ってきました

Xamarin

こんにちは。エクセルソフトの田淵です。

わんくま同盟 横浜勉強会 #08 でちょまどさんと喋ってきました

セッション資料はこちら

Xamarin.Forms 大変!>< としか言っていませんねw

会場でも言いましたが、Xamarin.Forms が大変なのは View の調整です。すぐに動くものが必要なプロトタイプやモック、View 要件を調整できる自社アプリやクライアントさんとちゃんと話せて要件を調整できる受託案件などであれば、Xamarin.Forms の利点を最大限生かした効率のよい開発ができます。

私個人としては、地雷を踏む可能性が高くても Xamarin.Forms が大好きなのでこれからも愛を込めてガンガン推していきたいと思います。(Xamarin が Xamarin.Forms を推しているので、どんどん使いやすくなっていくはずという期待を込めて)

解説

100 はてブ行ってたので慌てて書きましたw 知ってる人なら笑える内容でも、知らない人がいきなりみたら Xamarin ヤベぇぞってなりますもんね。反省…

ytabuchi.hatenablog.com

Xamarin 気になった方は

是非 ダウンロード して触ってみてください。Visual Studio 2015 をご利用の方は Update 3 にアップデートする際にカスタムインストールで Xamarin を追加しましょう。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)

ytabuchi.hatenablog.com

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。

以上です。

日本Androidの会 2016年9月定例会「クロスプラットフォーム開発最前線」 で喋ってきました

Xamarin Android

こんちには。エクセルソフトの田淵です。

japan-android-group.connpass.com

日本Androidの会 2016年9月定例会「クロスプラットフォーム開発最前線」で、Xamarin について 30分のセッションと登壇者によるパネルディスカッションをやってきました。

セッション

全体の録画も公開されています(^^)

www.youtube.com

発表資料はこちらです。

日本Androidの会での講演でしたので、基本 Android Java でのネイティブ開発と、Xamarin.Android での開発の違いにフォーカスしつつ、ListView を Xamarin.Android で作ったコード(Android Java そのままの感覚で行ける)と、Xamarin.Forms で作ったコード(C#er の方には馴染みやすいコードビハインドや Mvvm での書き方)をご紹介しました。

Xamarin ネイティブ(Xamarin.Android

github.com

Custom Adapter で ListView を用意する場合はセルの XML を用意して、Adapter クラスを用意して、GetView(int position, View convertView, ViewGroup parent) メソッドに用意したセルの XML の View を割り当てる感じですね。ほぼほぼ Android Java と同じ感じで書けるのが分かると思います。詳細は以下をご覧ください。

ytabuchi.hatenablog.com

Xamarin.Forms

一方、Xamarin.Forms の ListView はコードビハインドにゴリっと書く場合はものすごく少ない行数で書けます。ListView のコレクションにアイテムを追加したり削除したりするコードの場合、次のような感じになります。ObservableCollection を用意して、操作するだけ。ObservableCollection が変更通知を行ってくれるので、XAML 側で適切に Itemバインドしてあげれば動的に ListView がアップデートされます。簡単ですね。

gist.github.com

(簡単ではありますが、Android でのパフォーマンスが出にくかったり、メモリリークしやすかったりと、Xamarin.Forms の ListView はまだまだこれからな感じもします。)

ただ、これだとテストするのも複数人で開発するのも大変なので Mvvm でやるのも良いですよ。ということで Mvvm でのソースもご紹介しました。

ytabuchi.hatenablog.com

ytabuchi.hatenablog.com

パネルディスカッション

インプレス 鈴木さんに MC をやっていただき、MS さんから提供されたお酒をひっかけながらのパネルディスカッションでした。

ストリーミングを止めて際どいご質問などをいただき、返答する私も大変面白かったですし、会場の皆様も楽しんでいただいたようで何よりです(^^)

一点、クロスプラットフォーム開発をやるのは「逃げ」じゃないか?というような突っ込んだご質問をいただきました。

私の個人的な意見としては、「C# しか書けないから、HTML/JS しか書けないからクロスプラットフォームで開発する」というのはネイティブが書ける方からすると逃げに感じるかもしれませんが、どんな形であれ、モバイル開発者が増えるのであればそれで良いんじゃないかと思いますし、iOS/Android ネイティブも Cordova も Xamarin も出来る企業がどの技術を採用するか?はアプリによって使い分けるべきとも思います。出来上がるアプリが全く同じであれば、裏側でどんな技術が使われてるか?は気にしないのがユーザーですし。

Xamarin の場合は、結局 iOS/AndroidAPI を使っていきますし、iOS/Android ネイティブでも書けて、それでもアプリをメンテしていく場合の工数削減が効いてくるという理由で Xamarin を採用してくださっている企業が多いので、事例をいただくのは大変嬉しいです。

次回 JXUG

ということで、後1か月ありますので、Xamarin って面白そうだなと感じてくださった方は是非一本アプリを作って発表してみませんか?

jxug.connpass.com

閲覧でのご参加もお待ちしています(^^)

Xamarin 気になった方は

是非 ダウンロード して触ってみてください。Visual Studio 2015 をご利用の方は Update 3 にアップデートする際にカスタムインストールで Xamarin を追加しましょう。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)

ytabuchi.hatenablog.com

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。

以上です。