c#でiphone & androidアプリ!

41
C# で iPhone & Android でで Microsoft Student Partners 菊菊 菊 (@kikuchy)

Upload: hiroshi-kikuchi

Post on 26-Jun-2015

1.240 views

Category:

Technology


3 download

DESCRIPTION

セミナー『Webのトレンドを知ろう!』(http://atnd.org/event/webtrend)で講演させていただいたものです。 Xamarinを使って、C#でiOSとAndroidのアプリケーションを作ります。

TRANSCRIPT

Page 1: C#でiPhone & Androidアプリ!

C#でiPhone & Androidアプリ!Microsoft Student Partners菊池 紘 (@kikuchy)

Page 2: C#でiPhone & Androidアプリ!

自己紹介Self introduction

Page 3: C#でiPhone & Androidアプリ!

自己紹介菊池 紘( @kikuchy ) きくっちー or きくりん

Microsoft Student Partners フェロー 1 期 メンバー

電気通信大学 修士2年

持病 新しい言語とか SDK とか試してみたくなる病

好きなプログラミング言語    関数が第一級オブジェクトかそれに準ずる扱いになっている言語

ブログhttp://kikuchy.hatenablog.com/

Page 4: C#でiPhone & Androidアプリ!

対象• iPhone / Android のアプリ開発を始めてみたい方• けれど Objective-C とか面倒くさそうと思っている方• 何か面白いプログラミング言語を探している方

Page 5: C#でiPhone & Androidアプリ!

ところでIntroduction

Page 6: C#でiPhone & Androidアプリ!

これをご存知でしょうか

Page 7: C#でiPhone & Androidアプリ!
Page 8: C#でiPhone & Androidアプリ!

おっと間違い

Page 9: C#でiPhone & Androidアプリ!

C#

Page 10: C#でiPhone & Androidアプリ!

C# とは• プログラミング言語の一つ• 初心者にもわかりやすい構文・熟練者にも便利な構文• ECMA と ISO で標準化された言語であるため、

誰でも処理系を作れる• 非常に広い使用用途

Page 11: C#でiPhone & Androidアプリ!

C# の使い道

Windows Store Application

Windows Phone

動的なWeb サイト

従来のWindowsアプリケーション

http://windows.microsoft.com/ja-jp/windows-8/http://www.nokia.com/gb-en/phones/phone/lumia800/http://www.asp.net/http://www.getpaint.net/http://www.jp.playstation.com/psvita/hardware/pch1000za01.htmlhttp://ja.wikipedia.org/wiki/ ファイル :NewTux.svghttp://www.apple.com/jp/iphone/http://www.google.co.jp/nexus/7/

PlayStation Mobile

(U|L)nixアプリケーション

iOSアプリケーション

Androidアプリケーション

Page 12: C#でiPhone & Androidアプリ!

Xamarin

Page 13: C#でiPhone & Androidアプリ!
Page 14: C#でiPhone & Androidアプリ!

Xamarin• Xamarin 社が提供する統合開発環境• C# で、 iOS アプリ・ Android アプリ・ Mac アプリを開発で

きる• 本来は

iOS, Mac アプリ開発には Objective-C を、Android アプリ開発には Java を使う必要がある

• C# の優れた言語機能を使って開発ができる ←重要

Page 15: C#でiPhone & Androidアプリ!

C# の優れた言語機能

Page 16: C#でiPhone & Androidアプリ!

Partial Class

Page 17: C#でiPhone & Androidアプリ!

HogeClass_Net.cs

HogeClass_File.cs

http://surviveplus.net/products/windowsicons/?name=creatorseries

HogeClass・ネットワーク関連の機能・ローカルのファイル操作機能

Page 18: C#でiPhone & Androidアプリ!

async / await

Page 19: C#でiPhone & Androidアプリ!

同期処理のように書いて、非同期処理を実行できる

Page 20: C#でiPhone & Androidアプリ!

C# の優れた所• partial class

( 1 つのクラスを複数のファイルに分けて書くことができる)

• async / await (非常に簡単に書ける非同期処理)• 型推論 (型名を指定しなくても良い)• プロパティ自動実装 ( getter ・ setter が一行で書ける)• LINQ ( SQL のようなクエリで、条件に合うオブジェクト

を探せる)

Page 21: C#でiPhone & Androidアプリ!

( ^o^)   C# ってすごい!!( ˘⊖˘) 。 o( 待てよ、綺麗事ばかり並べているけれど      本当に C# で iOS / Android アプリ書けるの? )|DEMO| ┗(☋ ` )┓ 三

Page 22: C#でiPhone & Androidアプリ!

DemoXamarin Studio, Xamarin.iOS & Xamarin.Android

Page 23: C#でiPhone & Androidアプリ!

C# でカワイイは iOS / Android アプリは作れ

る!!\\ \\٩( ‘ω’ )و // //

Page 24: C#でiPhone & Androidアプリ!

気になる事• 一つのコードで iOS / Android 両対応できるのか?• 完全に Windows Phone などと同じ感覚で開発できるの

か?• iOS 開発をするには Mac が必要?

Page 25: C#でiPhone & Androidアプリ!

一つのコードでiOS / Android 両対応できるのか?

Page 26: C#でiPhone & Androidアプリ!

できません

Page 27: C#でiPhone & Androidアプリ!

Write once, run anywhere は無理• Windows Store Application と Windows Phone アプリ

を一つのコードから作ることができないのと同じ。• 各プラットフォームのコードを C# で書けるだけ、という

感じではある。

• 各プラットフォームに合わせた UX を提供することを考えるべき。

• MVC の Model 部分のコードなど、一部は共有可能。

• どうしても Write once, run anywhere がしたいなら、Titanium Mobile を使う、という手があります。

Page 28: C#でiPhone & Androidアプリ!

Model

Controller

View

Controller

View

Controller

View

Page 29: C#でiPhone & Androidアプリ!

完全に Windows Phone などと同じ感覚で開発できるのか?

Page 30: C#でiPhone & Androidアプリ!

それなりに

Page 31: C#でiPhone & Androidアプリ!

Xamarin Studio を使ってみた所感• Android• Visual Studio を使って開発しているのとほとんど同じ感覚。• コード補完も優秀。 Visual Studio には劣るか?• ソリューションごとの設定画面も Visual Studio ライクでわかり

やすい。• UI エディタも Visual Studio のフォームエディタのような使い心

地。Eclipse を使うより楽な印象。

• iOS• コード補完は Xcode より優秀な印象。• UI 編集に Interface Builder を使わなくてはいけないので、

iOS アプリ関係の開発ツールの使い方は覚えなくてはいけない。

Page 32: C#でiPhone & Androidアプリ!

iOS 開発をするには Mac が必要?

Page 33: C#でiPhone & Androidアプリ!

必要です

Page 34: C#でiPhone & Androidアプリ!

iOS アプリ開発に Mac が必要な理由• iOS 用のコンパイラが、 Apple が提供しているものしかな

いから。• Xcode や iOS エミュレーターなど開発ツールが Mac で動

くものしか提供されていないから。

• Android は Windows + Visual Studio でも開発できるそうです。(VS で開発するライセンスは有料 )

• Windows + Visual Studio でコードを書き、リモートの Mac でビルド、ということもできるようです。

Page 35: C#でiPhone & Androidアプリ!

忘れちゃいけない事

Page 36: C#でiPhone & Androidアプリ!

ユーザーの事を第一に考えて!

Page 37: C#でiPhone & Androidアプリ!

それではみなさま、良き Web 開発ライフを!!

Page 38: C#でiPhone & Androidアプリ!

アンケートのお願いEnquœeˆte

Page 39: C#でiPhone & Androidアプリ!

求む、フィードバック• 現在、「どれだけ上手にプレゼンテーションができたか」

を調査中です。

• 以下の URL のアンケートに答えていただけますと幸いです。

http://bit.ly/130907csharp

Page 40: C#でiPhone & Androidアプリ!

質問コーナーDiscussion

↓アンケートhttp://bit.ly/130907csharp

Page 41: C#でiPhone & Androidアプリ!

Thank you !Facebook→「菊池紘」で検索Twitter   → @kikuchy