c#でiphone & androidアプリ!

Post on 26-Jun-2015

1.240 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

自己紹介Self introduction

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

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

電気通信大学 修士2年

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

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

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

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

ところでIntroduction

これをご存知でしょうか

おっと間違い

C#

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

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

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アプリケーション

Xamarin

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

きる• 本来は

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

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

C# の優れた言語機能

Partial Class

HogeClass_Net.cs

HogeClass_File.cs

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

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

async / await

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

C# の優れた所• partial class

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

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

を探せる)

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

DemoXamarin Studio, Xamarin.iOS & Xamarin.Android

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

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

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

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

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

できません

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

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

感じではある。

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

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

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

Model

Controller

View

Controller

View

Controller

View

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

それなりに

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

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

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

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

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

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

必要です

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

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

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

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

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

忘れちゃいけない事

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

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

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

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

を調査中です。

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

http://bit.ly/130907csharp

質問コーナーDiscussion

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

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

top related