ゆるふわ xamarin tips
TRANSCRIPT
ゆるふわ Xamarin Tips~ Xamarin 1 年生の学び~JXUGC #22 最新事例&お前のアプリを説明してもらおうの会
2017/01/28@Santea3173
自己紹介 名前:川沼 大輝 / Daiki Kawanuma Twitter : @Santea3173 Blog : http://santea.hateblo.jp/
所属横浜国立大学大学院 環境情報学府 Xamarin ゆるふわ勢業務で Xamarin 使っていません
SearchSQL Twitter を SQL っぽく検索できるアプリ Xamarin.Forms 製 Android 版のみ公開済み
本日の主題「 JXUGC #17 お前のアプリを見せてみろ」で人気の高かったアプリ開発者の方から詳しい話を聞きたいというご要望が多かったため、お声がけして喋っていただきたいと考えています一番苦労したところ ⇒ CoreTweet の使い方 (Twitter API の使い方 )
Twitter API の解説になってしまう…
Xamarin を始めてそろそろ1年、僕なりに気づいた点、学んだ点を
デモを交えてお伝えします
ゆるふわ TIPS
Xamarin.Traditional VS. Xamarin.Forms 有用なライブラリ群 Syncfusion Essential Studio Control のプロパティが不十分なとき
Xamarin.Traditional VS. Xamarin.Forms
UI にこだわりたい OS の機能をフルに使いたい
Xamarin.Traditional
Plaid
Android のニュースアプリ Material Design のサンプル GitHub ☆8,116
https://github.com/nickbutcher/plaid
Xamarin.Traditional VS. Xamarin.Forms
UI にこだわりたい ⇒アニメーションに拘りたいなら Traditional が吉 OS の機能をフルに使いたい
Xamarin.Traditional
マルチウィンドウ Android 7.0 から導入された機能 複数のアプリが画面を同時に共有できる ライフサイクルが複雑
アプリケーションショートカット Android 7.1 から導入された機能 ホーム画面にアプリの機能をショートカットとして配置できる Evolve の app-shortcuts ブランチは対応済み
Xamarin.Traditional VS. Xamarin.Forms
UI にこだわりたい OS の機能をフルに使いたい⇒ Xamarin.Forms でも実現できるが、工夫が必要
Xamarin.Traditional
Xamarin.Traditional VS. Xamarin.Forms
UI にそこまでこだわらない 細かい機能はあまり要らない WPF などからモバイルアプリに移植したい
Xamarin.Forms
WPF から Xamarin.Forms へ
OxyPlot for WPFXamarin.Forms
を使用
有用なライブラリ群Plugins for Xamarin
Xamarin Components
Xamarin-Forms-Labs
その他の NuGet パッケージ
有用なライブラリ群
有用なライブラリ群
Plugins
Components
Labs
その他の NuGet* NuGet 化されているものもある
Plugins for Xamarin
Xamarin.iOS, Xamarin.Android, Windows Phone などの固有機能を共通のインターフェースで利用できるようにデザインされたライブラリ群です.代表的なものにバッテリー、ストレージ、位置情報などを利用するためのプラグインがあります.ぴーさんログより
http://ticktack.hatenablog.jp/entry/2016/04/08/180321
Plugins for Xamarin Battery Status Barcode Scanner Bluetooth LE Calendar Compass Connectivity Cryptography Device Info Device Motion Embedded Resource External Maps File Storage/File System File Picker
Fingerprint FFImageLoading Geofencing Geolocator iBeacon &
Estimote Lamp Local
Notifications Manage Sleep Media Media Manager Messaging Microsoft Band Mono.Data.Sqlite
Permissions Persistent key-value store Portable Razor Push Notifications Secure Storage Settings Share Sockets Speech Recognition Text To Speech Toast User Dialogs Version Tracking Vibrate
https://github.com/xamarin/XamarinComponents
Plugins for Xamarin
Xamarin Components
Component Store は、 Xamarin 2.0 の立ち上げの一環として、2013 年 3 月に開始されました.開発者がアプリケーションをより速く構築し、多くの作業をせずにすばらしい機能を追加できるよう支援します.ストアには、見事な UI コントロール、チャートやグラフ、美しいテーマ、クラウドサービスなど、数分でアプリケーションに追加できる強力な機能のカタログがあります.
https://developer.xamarin.com/guides/cross-platform/advanced/submitting_components/
Xamarin Components
Toast for iOS ( iOS プロジェクト) UrlImageViewHelper ( Android プロジェクト) Azure Messaging ( Android プロジェクト)
Evolve で使われているもの
Xamarin Components
NuGet ライブラリになくて、 Components にだけあるパッケージも存在する
https://components.xamarin.com/view/ibm-worklight
*ちゃんとメンテナンスはされています。 最新版 ver 8.0.0.4 (2016 年 12 月 17 日更新 )
Xamarin-Forms-Labs
Xlabs は、 Xamarin と Xamarin Forms で動作するように調整された強力なクロスプラットフォームのサービスとコントロールを提供することを目的としたオープンソースプロジェクトです.NOTICE: This project is no longer maintained. It may not work with newer versions of Xamarin.Forms.
https://github.com/XLabs/Xamarin-Forms-Labs
Xamarin-Forms-LabsAvailable controls AutoCompleteView (beta) BindablePicker (beta) Calendar Control (beta) Checkbox (beta) DynamicListView (beta) ExtendedContentView (beta) ExtendedEntry (beta) ExtendedLabel (beta) ExtendedScrollView (beta) ExtendedTabbedPage ExtendedTextCell (beta) ExtendedViewCell (beta)
HybridWebView (beta) GradientContentView (iOS/Android beta) GridView (IOS beta) ImageButton (beta) RadioButton (beta) RepeaterView (beta) SegmentedControlView (IOS beta) Web Image (beta) IconButton (IOS beta) CircleImage (IOS/Android alpha) HyperLinkLabel
https://github.com/XLabs/Xamarin-Forms-Labs
Xamarin-Forms-LabsAvailable services Accelerometer Cache Camera (Picture and Video picker, Take Picture, Take
Video) Device (battery info, device info, sensors, accelerometers) Display Geolocator Phone Service (cellular network info, make phonecalls) SoundService Text To Speech Secure Storage Settings
https://github.com/XLabs/Xamarin-Forms-Labs
Xamarin-Forms-LabsAvailable Mvvm helpers(Beta) ViewModel (navigation, isbusy) ViewFactory IOC IXFormsApp (application events)
https://github.com/XLabs/Xamarin-Forms-Labs
Xamarin-Forms-LabsAvailable Plugins Serialization (ServiceStackV3, ProtoBuf, JSON.Net) Caching (SQLLiteSimpleCache) Dependency Injection containers (TinyIOC, Autofac, NInject,
SimpleInjector, Unity) Web (RestClient) Charting (Line, Bar & Pie) (Alpha)
https://github.com/XLabs/Xamarin-Forms-Labs
その他 Prism.Forms Reactive Property Akavache ImageCircle RoundedBoxView
Syncfusion Essential Studio
Syncfusion Essential Studio はアプリを開発する際に使用可能なコンポーネントライブラリです.Android, iOS, Xamarin(Android, iOS, Forms), JavaScript, ASP.NET, ASP.NET MVC, Windows Forms, WPF, WinRT, UWP, Windows Phone の各種プラットフォームに対応しています.
グラフ、カレンダー、表、 PDF 、 Excel など色々
http://zatsugaku.info/cryearth/?p=1056
Syncfusion Essential Studio
COMMUNITY LICENSE 個人開発者 年間売り上げ 100万 $ (約1億円)以下の企業 使用可能な開発ユーザー5人まで上記の条件を満たしていれば「無償」、「商用アプリも可」
http://zatsugaku.info/cryearth/?p=1056
Syncfusion Essential Studio
SfDataGrid
SfTreeMap SfPdfViewer(Preview)
Control のプロパティが不十分なとき Xamarin.Forms.Entry
現在の入力位置(カーソル)のプロパティがない Xamarin.Forms.ViewElement.Bounds
取得できるものは親 View との相対座標
Control のプロパティが不十分なとき Android
iOS
Control のプロパティが不十分なとき← Android 座標系の絶対座標を取得
← 解像度比率を取得
← px ⇒ dp 変換
まとめ Xamarin.Traditional VS. Xamarin.Forms 有用なライブラリ群 Syncfusion Essential Studio Control のプロパティが不十分なとき
Xamarin はいいぞ
ご清聴ありがとうございました