ゆるふわ xamarin tips

38
ゆゆゆゆ Xamarin Tips Xamarin 1 ゆゆゆゆゆJXUGC #22 ゆゆゆゆ ゆゆゆゆゆゆゆゆゆゆゆゆゆゆゆゆゆ 2017/01/28 @Santea3173

Upload: daiki-kawanuma

Post on 07-Feb-2017

692 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: ゆるふわ Xamarin Tips

ゆるふわ Xamarin Tips~ Xamarin 1 年生の学び~JXUGC #22  最新事例&お前のアプリを説明してもらおうの会

2017/01/28@Santea3173

Page 2: ゆるふわ Xamarin Tips

自己紹介 名前:川沼 大輝 / Daiki Kawanuma Twitter : @Santea3173 Blog : http://santea.hateblo.jp/

所属横浜国立大学大学院 環境情報学府 Xamarin ゆるふわ勢業務で Xamarin 使っていません

Page 3: ゆるふわ Xamarin Tips

SearchSQL Twitter を SQL っぽく検索できるアプリ Xamarin.Forms 製 Android 版のみ公開済み

Page 4: ゆるふわ Xamarin Tips

本日の主題「 JXUGC #17 お前のアプリを見せてみろ」で人気の高かったアプリ開発者の方から詳しい話を聞きたいというご要望が多かったため、お声がけして喋っていただきたいと考えています一番苦労したところ ⇒   CoreTweet の使い方 (Twitter API の使い方 )

Twitter API の解説になってしまう…

Page 5: ゆるふわ Xamarin Tips

Xamarin を始めてそろそろ1年、僕なりに気づいた点、学んだ点を

デモを交えてお伝えします

Page 6: ゆるふわ Xamarin Tips

ゆるふわ TIPS

Xamarin.Traditional VS. Xamarin.Forms 有用なライブラリ群 Syncfusion Essential Studio Control のプロパティが不十分なとき

Page 7: ゆるふわ Xamarin Tips

Xamarin.Traditional VS. Xamarin.Forms

UI にこだわりたい OS の機能をフルに使いたい

Xamarin.Traditional

Page 8: ゆるふわ Xamarin Tips

Plaid

Android のニュースアプリ Material Design のサンプル GitHub ☆8,116

https://github.com/nickbutcher/plaid

Page 9: ゆるふわ Xamarin Tips

Xamarin.Traditional VS. Xamarin.Forms

UI にこだわりたい ⇒アニメーションに拘りたいなら Traditional が吉 OS の機能をフルに使いたい

Xamarin.Traditional

Page 10: ゆるふわ Xamarin Tips

マルチウィンドウ Android 7.0 から導入された機能 複数のアプリが画面を同時に共有できる ライフサイクルが複雑

Page 11: ゆるふわ Xamarin Tips

アプリケーションショートカット Android 7.1 から導入された機能 ホーム画面にアプリの機能をショートカットとして配置できる Evolve の app-shortcuts ブランチは対応済み

Page 12: ゆるふわ Xamarin Tips

Xamarin.Traditional VS. Xamarin.Forms

UI にこだわりたい OS の機能をフルに使いたい⇒ Xamarin.Forms でも実現できるが、工夫が必要

Xamarin.Traditional

Page 13: ゆるふわ Xamarin Tips

Xamarin.Traditional VS. Xamarin.Forms

UI にそこまでこだわらない 細かい機能はあまり要らない WPF などからモバイルアプリに移植したい

Xamarin.Forms

Page 14: ゆるふわ Xamarin Tips

WPF から Xamarin.Forms へ

OxyPlot for WPFXamarin.Forms

を使用

Page 15: ゆるふわ Xamarin Tips

有用なライブラリ群Plugins for Xamarin

Xamarin Components

Xamarin-Forms-Labs

その他の NuGet パッケージ

Page 16: ゆるふわ Xamarin Tips

有用なライブラリ群

Page 17: ゆるふわ Xamarin Tips

有用なライブラリ群

Plugins

Components

Labs

その他の NuGet* NuGet 化されているものもある

Page 18: ゆるふわ Xamarin Tips

Plugins for Xamarin

Xamarin.iOS, Xamarin.Android, Windows Phone などの固有機能を共通のインターフェースで利用できるようにデザインされたライブラリ群です.代表的なものにバッテリー、ストレージ、位置情報などを利用するためのプラグインがあります.ぴーさんログより

http://ticktack.hatenablog.jp/entry/2016/04/08/180321

Page 19: ゆるふわ Xamarin Tips

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

Page 20: ゆるふわ Xamarin Tips

Plugins for Xamarin

Page 21: ゆるふわ Xamarin Tips

Xamarin Components

Component Store は、 Xamarin 2.0 の立ち上げの一環として、2013 年 3 月に開始されました.開発者がアプリケーションをより速く構築し、多くの作業をせずにすばらしい機能を追加できるよう支援します.ストアには、見事な UI コントロール、チャートやグラフ、美しいテーマ、クラウドサービスなど、数分でアプリケーションに追加できる強力な機能のカタログがあります.

https://developer.xamarin.com/guides/cross-platform/advanced/submitting_components/

Page 22: ゆるふわ Xamarin Tips

Xamarin Components

Toast for iOS ( iOS プロジェクト) UrlImageViewHelper ( Android プロジェクト) Azure Messaging ( Android プロジェクト)

Evolve で使われているもの

Page 23: ゆるふわ Xamarin Tips

Xamarin Components

NuGet ライブラリになくて、 Components にだけあるパッケージも存在する

https://components.xamarin.com/view/ibm-worklight

*ちゃんとメンテナンスはされています。 最新版 ver 8.0.0.4 (2016 年 12 月 17 日更新 )

Page 24: ゆるふわ Xamarin Tips

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

Page 25: ゆるふわ Xamarin Tips

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

Page 26: ゆるふわ Xamarin Tips

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

Page 27: ゆるふわ Xamarin Tips

Xamarin-Forms-LabsAvailable Mvvm helpers(Beta) ViewModel (navigation, isbusy) ViewFactory IOC IXFormsApp (application events)

https://github.com/XLabs/Xamarin-Forms-Labs

Page 28: ゆるふわ Xamarin Tips

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

Page 29: ゆるふわ Xamarin Tips

その他 Prism.Forms Reactive Property Akavache ImageCircle RoundedBoxView

Page 30: ゆるふわ Xamarin Tips

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

Page 31: ゆるふわ Xamarin Tips

Syncfusion Essential Studio

COMMUNITY LICENSE 個人開発者 年間売り上げ 100万 $ (約1億円)以下の企業 使用可能な開発ユーザー5人まで上記の条件を満たしていれば「無償」、「商用アプリも可」

http://zatsugaku.info/cryearth/?p=1056

Page 32: ゆるふわ Xamarin Tips

Syncfusion Essential Studio

SfDataGrid

SfTreeMap SfPdfViewer(Preview)

Page 33: ゆるふわ Xamarin Tips

Control のプロパティが不十分なとき Xamarin.Forms.Entry

現在の入力位置(カーソル)のプロパティがない Xamarin.Forms.ViewElement.Bounds

取得できるものは親 View との相対座標

Page 34: ゆるふわ Xamarin Tips

Control のプロパティが不十分なとき Android

iOS

Page 35: ゆるふわ Xamarin Tips

Control のプロパティが不十分なとき← Android 座標系の絶対座標を取得

← 解像度比率を取得

← px ⇒ dp 変換

Page 36: ゆるふわ Xamarin Tips

まとめ Xamarin.Traditional VS. Xamarin.Forms 有用なライブラリ群 Syncfusion Essential Studio Control のプロパティが不十分なとき

Page 37: ゆるふわ Xamarin Tips

Xamarin はいいぞ

Page 38: ゆるふわ Xamarin Tips

ご清聴ありがとうございました