More Related Content
Similar to Xamarin によるクロスプラットフォームモバイルアプリ開発 (20)
More from Hironov OKUYAMA (7)
Xamarin によるクロスプラットフォームモバイルアプリ開発
- 16. Win+Visual Studio で作る?
•
iOS 開発の為に Mac が必要
•
•
iOS開発でUIデザイナ(Interface Builder)が使えない
•
•
リモート接続してビルド&デバッグ
Xamarin.Android には UIデザイナあります
インストールや日本語入力が不安定との
も
↓
Mac + Xamarin Studio での開発が
現在のベストプラクティス(個人の見解です)
16
- 35. Adobe AIR for モバイル
言語
実行形式
共通化可能
共通化不可能
PF固有機能
呼び出し
ActionScript
Android:JIT
iOS:AOT
UI含め API が用意されていれば可能。
ただしUIは独自レンダリング
基本的には無いが、
その分機能が最小公倍数である
Native Extensions を作成
35
- 40. C# is Cool!!!
[Objective-C]!
01 [button1 addTarget:self action:@selector(onClick:)!
02
forControlEvents:UIControlEventTouchDown];!
…!
5 Lines
03 -(void)onClick:(UIButton*)button{!
04
NSLog(@“Hello”);!
05 }!
!
[Java]!
01 button1.setOnClickListener(new OnClickListener() {!
02
@Override!
03
public void onClick(View view) {!
04
05
6 Lines
Log.d(TAG, “Hello”);!
}!
06 });!
!
[C#]!
01 button1.Click += (s, e) => Debug.WriteLine(“Hello”);
ref https://xamarin.com/csharp
40
1 Line
- 42. async/await
ワーカースレッドで時間のかかる処理をして、終わったらメインスレッドで結果を表示
[Java]!
01 int doHeavyWork() {!
02
return /* working... */;!
03 }!
!
[C#]!
01 Task<int> DoHeavyWork() {!
02
return Task.Run<int>(() => {!
03
return /* working... */;!
04
});!
05 }!
04 private void onClick(View v) {!
05
new AsyncTask<Void, Void, Integer>() { ! !
06
@Override!
06 async void onClick(object s, EventArgs e) {!
07
protected Integer doInBackground(Void... params) result = await DoHeavyWork();!
07
var {!
08
return doHeavyWork();!
08
label1.Text = "count = " + result;!
09
}!
09 }!
!
10
protected void onPostExecute(Integer result) {!
11
label1.Text = "count = " + result;!
12
};!
13
}.execute((Void)null);!
14 }
42
- 44. まとめ
•
Mac + Xamarin Studio + Xamarin.Android +
Xamarin.iOS で クロスPF 開発
•
Win は、VS + Xamarin Addin で
•
PCL でコアロジックをクロスPFでバイナリ共有
•
C# >>>>>>> Java, Objective-C
44
- 45. Links
•
Xamarin Developer Center - http://docs.xamarin.com/
•
Xamarin日本語情報(XLSoft) - http://www.xlsoft.com/jp/products/xamarin/
•
Qiita - http://qiita.com/tags/xamarin
•
はてなグループ - http://hatenablog.com/g/12921228815715432734
•
Facebookグループ - https://www.facebook.com/groups/
778386365523431/
•
インサイドXamarin(Build Insider) - http://www.buildinsider.net/mobile/
insidexamarin
•
StackOverflow - http://stackoverflow.com/questions/tagged/monodroid
+or+monotouch+or+xamarin?sort=active
45
- 47. What's Next?
•
Xamarin Test Cloud
•
Xamarin Studio iOS UI designer
•
X-Platform MVVM Frameworks
•
MvvmCross / QuickCross / ReactiveUI / etc
•
Using Locations and Maps
•
Xamarin Evolve 2014 (Oct 6-10)
47