More Related Content
Similar to XamarinStudio勉強会 2014/09/08 (20)
XamarinStudio勉強会 2014/09/08
- 2. いいわけ
• Xamarin弄り始めて1ヶ月未満の入門者です。
• 楽しいので、みんなに知ってもらいたくなりました。
• iOS側から見た話が多くなります。
• Androidな皆様すみません。でもAndroid側から見ても似た
ような状況だと思います。
• 用語の間違いがあるかもしれません
• 英単語の発音がおかしいと思います(田村の英語能力の不具合)
2
- 6. クロスプラットフォーム(2)
• すべてをHTML5 + JavaScript で実現(PhoneGap
Titanium)
• UIもビジネスロジックもHTML5+JavaScriptでがんば
る
• ネイティブのWebViewで動いている感じ
• iOSもAndroidも1ソースで行けるけど、重くてUIの
チューニングがやり難い
6
- 8. Xamarinの方向性(1)
• ソースを「共通部分」と「OS依存部分」に分離
• 共通部分は.NET Frameworkの機能を活用
• 通信、ローカルストレージ、イベント、等など
• UIの共通パーツもある(Xamarin.Form)
• OS依存部分は、SDKを薄く覆うラッパークラスが用意されている
• iOSとAndroidのSDK部分は別々のソース(C#)を書く
• SDKのアップデートに追従しやすく、UIのチューニングがしやすい
8
- 14. Xamarinのメリット(公式発表)
• 平均75%のコードを共通化出来る
• Xamarin.FormsというUIパーツを使うとほぼ100%
共通化も可能
• ネイティブ(Objective-C/Java)へのアクセスもサポー
ト、ネイティブのSDKやUIにもアクセス可能
• .NET/C#で全部作れる
http://www.xlsoft.com/jp/products/xamarin/platform.html
14
- 16. 共通化:OS毎になりそうな処理
• センサー (GPSや傾き、光度etcetc..)
• OS標準サービスへのアクセス
• 電話帳やカメラや通知やetcetc..
• リッチなUI
• 画面遷移やアニメーション、凝った画面
16
- 18. Xamarinのデメリット(2)
• 情報の少なさ
• 日本語だと検索してもあまりヒットしない、書
籍が少ない、勉強会もほとんどない
• 部分移行が出来ない
• これは他のクロスプラットフォームでも同様
• RubyMotionなら出来るらしい。
18
- 22. もしも導入するとしたら?
• ◎まずは「プロトタイプ作成」で使って慣れる
• ◎「新規アプリを作る」時に使う
• まずは慣れてるOS(iOS/Android)の新規アプリを作る
• その後に慣れていない方のOSのUI部分を作る
• ◎「既存アプリの別OS版を作る」時に使う
• リリース後にネイティブアプリもXamarinで置き換える
• ×既存ネイティブアプリのVerUpで採用すると、無駄にハマりそう。
• 部分移行(共通部分を作ってネイティブでアクセス)が出来ない
22
- 23. 導入事例
• あまり見つからない(アプリが何で出来てるか公開はされ
にくい)
• NHK紅白歌合戦アプリ
• http://qiita.com/amay077/items/
b7235aefab8d2e3b72f1
• ルナルナ 体温ノート
• http://www.xlsoft.com/jp/products/xamarin/apps.html
23
- 27. XamarinStudioのインストール
• XamarinStudioはMac用
• Windowsだと、VisualStudio + Xamarin.iOS for Visual Studio
• iOSアプリを作る場合は、まずXcodeを入れておく。
• MacのAppStoreからインストール
• https://xamarin.com のDownload nowからダウンロード&インス
トール
• インストールは時間がかかるのでお茶でも飲んで待つ。
27
- 44. デモ:知恵検索アプリ(4/5)
• LINQ = 統合言語クエリ Language Integrated Query
• .NETで、配列等のコレクションを扱う為の仕組み。
SQL的な見た目
• from ~~~ where~~~ select ~~~
• 各種データソース用のLINQが用意されている
• データベース用、XML用、オブジェクト用、
http://msdn.microsoft.com/ja-jp/library/bb308959.aspx
44
- 52. ハマりポイント
• XamarinStudioそのものが固まる/メニューがグレー化
• XamarinStudio再起動でOK、Xcodeもよく落ちる
• iOSシミュレータもよく固まる
• C#のイベント += と、iOSのDelegateを混ぜて使うとトラブルを起こ
す事がある
• Xamarinで遊ぶ(3) objcの「デリゲート」とC#の「イベント」が干
渉する Xamarin.iOSでUITableViewの罠 / Xamarinの進化に望む事
52
- 53. ハマりポイント
• 同じ用語でも意味が違う
• objcの「デリゲート」とC#の「デリゲート」は別物
• 日本語の資料は古い事がある
• 昔はXamarinでStoryboardを使えなかった→Xcode
でデザインをやる、という記事が多いが、今は違う
53
- 54. 資料(1)
• 配布サイト
• http://xamarin.com/studio (本家)
• http://www.xlsoft.com/jp/products/xamarin/studio.html (日本代理店?)
• Build Inside
• http://www.buildinsider.net/tagcloud?tag=Xamarin
• CodeZine
• http://codezine.jp/article/detail/7907
• Qiita
• Xamarin vs 他のクロスプラットフォーム開発ツール http://qiita.com/amay077/items/
01917ef1be3da9259348 等
• 田村の記録 http://qiita.com/paming/items/1bb43f55033dc78eb0b9
54