Xamarin Component Store の紹介]

Titanium に MarketPlace があるように、Xamarin のマーケットプレイスとして Xamarin Components があります。

これは、Xamarin Studio とも連携していて、開発中にIDEから、コンポーネントを探す→ダウンロード&組み込み、が速やかに行えるようになっています。

今日は、Components の中から主なもの、私が使ったことがあるものを少し紹介します。

Json.NET

.NET で Json を扱うのに必須のライブラリ。Nuget にもあるし、こっちにもあります。

ZXing.Net.Mobile

定番の1次元/2次元バーコードリーダーライブラリ。

SQLite.NET

こちらも定番の SQLite 用ライブラリ。.NET ですからデータ・プロバイダ準拠の API です。

Google Maps

Google Map を使うためのライブラリ。決して Google Maps JavaScript API のラッパじゃないですよ。

これらは過去に使い方の記事を書きました。

Xamarin.Mobile

アドレス帳、位置情報、カメラへの、プラットフォームに依存しない API を提供します。

Azure Mobile Service

Azure を冠しているせいで Parse などに比べてイマイチ知名度がない(と勝手に思っている) Microsoft の BaaS を使うためのライブラリ。

Reactive Extensions (Rx) for Xamarin

LINQ を更に使い倒したいなら必須ですね。

Android iBeacon Service

IBeacon を Xamarin.Android で使えるようにするライブラリ。android-ibeacon-service の Javaバインディング。

Components と PCL

Components を使う上での注意点です。

最近、PCL が Xamarin.iOS と Android に対応しましたが、この Components で配布されているライブラリは、PCL とは限りません。

Json.NET, ZXing, SQLite とか、PF固有ロジックを含まないので同一バイナリでいけそうなものですが、実際にそうなっているかは分かりません(たぶん参照してるアセンブリをアセンブリブラウザで確認すればわかると思うけど)。ので、自分のアプリでPF依存を減らしたいならば、Nuget から PCL版を持ってくるか、ソースを入手して自分でビルドする必要があります。

Xamarin.Mobile も、各PFで使い方は全く同じながら、共通なデータクラスが各PF毎のDLLにパッケージされてしまっているので、同じバイナリでは使えません。これの分離については後日書きます。

Rx は…自前でビルドしようと挑戦しましたが、IObservable は誰のもの?で躓いて早々に諦めました(^_^;

More…

企業やコミュニティが公開している .NET のライブラリも Xamarin で使えるかも知れません。画面が絡むものは確実にムリですが、通信や計算に特化したものはそのまま、あるいは軽微な修正のみで使える可能性があります。

Xamarin では、既存の DLL や exe がどのくらい再利用できるかを計測する “Mobility Scanner” を公開しています。

高得点が出るライブラリなら、そのまま使えるんじゃないでしょうか。

まとめ

とここまで書いて、過去にこんな

記事を書いたのを思い出しました。内容ダブってますがまあいいや、リファインってことで。