C#でiPhoneアプリ開発 with MonoTouch

Slides:



Advertisements
Similar presentations
Jsdo.it と Monaca による端末へ のアプリ導入 5/29 (金)課題 堀江美香.
Advertisements

オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
MOSA プログラミングセミナー Mac OS X プログラミング 事始め 新居雅行( MOSA 理事) 2002/4/28.
わんくま同盟 名古屋勉強会 # 初音 玲. わんくま同盟 名古屋勉強会 #4 今日の前提 Windows Mobile アプリの話が中心 BASIC 認証 httphttp http (XML) SOAP.
BBT 大学 Ruby on Rails 開発環境セットアップマニュアル Mac 版 1.1 最終更新日: 2013/1/5.
講師 松本 章代. 携帯電話のプラットフォーム オープンプラットフォーム Android のアーキテクチャ LiMo のアーキテクチャ 携帯電話用 OS 携帯電話用の自作アプリ事情 2009/11/142.
Visual Studio 2010 の新機能 Coded UI Test
PHP AV(Audio Visual) 拡張 クライアントサイド PHP アプリケーションPHP
Windows Mobile を自在に操る 〜各種デバイスのコントロール〜
開発者目線でAndroidとiPhoneを比較してみる
D&UNITE 株式会社 代表取締役 株式会社 T-Planning 取締役 Microsoft MVP for ASP.NET/IIS
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
PHP AV(Audio Visual) 拡張 PHP asアプリケーション
オペレーティングシステムⅡ 第11回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
C#でiPhoneアプリ開発 with MonoTouch
BREWを学ぶ 情報工学科1組 石原 第5週目 Microsoft Visual Studio .NET 2003を使って
ゲームプログラミング講習 第1章 DXライブラリ入門
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟.
Hot Pepper for iPod touch
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
自作組込みOSを エミュレータで 動かしてみた 坂井弘亮 (KOZOSプロジェクト) Twitter ID:kozossakai.
技術トピックス 2014/08.
さとりすと Satori Ghost Editor 里々ゴーストの統合開発環境を作ったよ page: 1/25
MSBuild 色々出来るよ 2011/04/02 お だ.
共同ローカリゼーション フレームワーク 井上 謙次.
SWAT I18N 概要 付け足した機能(実行時に言語の切り替え-i18nの範囲で) 問題点(細かい技術的問題、根本的問題) 今後
はじめてのASP.NET 楽しいアプリ制作の会 #1 TWorks.
Androidアプリの作成 07A1069 松永大樹.
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
XNAアプリ→WindowsPhone \(\◇ ̄ )ヘン~(  ̄▽/)ゝシン!!! \(○ `O´ ○)/トゥーー!!
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
MVP for VB が語る C# 入門 初音 玲.
MVP for VB が語る C# 入門 初音 玲.
Windows Azure (CTP) 触ってみた
Microsoft MVP for Development Tools – Visual C++
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
Emoneαプログラミング入門 初音 玲.
R流・C#マルチスレッドの復讐 2009年05月16日 R・田中一郎
「OSで儲けない」 Microsoftの新戦略
.NET Framework 3.0 概要 (旧称 : WinFX)
Microsoft MVP for Development Tools – Visual C++
オペレーティングシステムⅡ 第13回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
Windows Azure (CTP) 触ってみた
TA 高田正法 B10 CPUを作る   実験の前に TA 高田正法
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
Microsoft MVP for Development Tools – Visual C++
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
物体検出による視覚補助システム T215085 若松大仁 白井研究室.
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
第二回 Javaの開発環境 04A2029           古賀慎也.
WindowsMobile de HelloWorld
WindowsMobile de HelloWorld
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
第1章 いよいよプログラミング!! ~文章の表示 printf~
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟.
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
第0章 MMC PCセクションへようこそ! ~VC++導入~
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
プロジェクト演習Ⅱ インタラクティブゲーム制作
プロジェクト演習Ⅱ インタラクティブゲーム制作
Presentation transcript:

C#でiPhoneアプリ開発 with MonoTouch 伊勢 シン

先日、 Microsoft MVP for Windows Mobile を 受賞しました! 自己紹介 伊勢 シンといいます。 スマートフォン勉強会の代表です。 先日、 Microsoft MVP for Windows Mobile を 受賞しました!

WMのMVPですが、今日はiPhoneのネタやります! Windows Mobile実践プログラミング with .NET Compact Framework 酢酸さん、こげつさんとの合作です もう各地の本屋さんに並んでいるはず WMのMVPですが、今日はiPhoneのネタやります! WMだけじゃなくてiPhoneアプリも作ってます

おさらい編 MonoTouch編 おしながき 基本的なiPhone開発のおさらい Windows Mobile開発との差 MonoDevelopを使ってiPhone開発 Windows Mobileとのクロス開発?

iPhoneの開発やったことある人って、 どれくらいいます? ところで・・・ iPhoneの開発やったことある人って、 どれくらいいます? とりあえず、一般的なiPhoneアプリ開発のおさらいをしてみましょう

いきなりだけど Demo 1 Xcode を使ったiPhoneアプリ開発の基本フロー

必要なもの Mac OS X 10.5 (Leopard) 以上の入った Intel Mac iPhone SDK 開発ツールやライブラリが入ってます。 会員登録すると無料で落とせます。2~3GBくらい。 iPhone Developer Program 実機転送やAppStoreへのアップロードに必要な ライセンス 年額10800円

Xcode Interface Builder Apple純正の統合開発環境(IDE) iPhone開発の基本ツール Xcode Apple純正の統合開発環境(IDE) iPhoneだけではなく、 Mac用アプリ(ObjC,Java,Ruby)、 Webアプリ(WebObjects)の開発もできる。 プロジェクト管理、コードエディタなどの 基本機能が揃っている Interface Builder Xcodeのサブツール インターフェイスのデザイン専用のツール

iPhone開発の基本フロー Xcode Interface Builder UIをデザインする UIの定義を書く 変数とUIの接続をする コードを書く シミュレータ 転送・デバッグ 実機

すべての作業がVisual Studio上でできます。 Windows Mobile の場合は? 必要なもの Visual Studio の動く Windows PC Visual Studio 2008 Professional 以上 Visual Studio 2005 Standard 以上 のどっちか Windows Mobile 6 SDK すべての作業がVisual Studio上でできます。

Windows Mobile開発の基本フロー Visual Studio コードエディタ デザイナ UIをデザインする コードを書く エミュレータ 転送・デバッグ 実機

いちいち@propertyとか@synthesizeとか 書くのめんどくさい! iPhone開発 個人的な不満点 いちいち@propertyとか@synthesizeとか 書くのめんどくさい! しかも2つのファイルにまたがるとか・・・ 補完もほとんど効かない Demo01ViewController.h Demo01ViewController.m

それ、Visual Studio+C#だったら prop[tab][tab]でできるよ! iPhone開発 個人的な不満点 それ、Visual Studio+C#だったら            prop[tab][tab]でできるよ! Tabキー2回

入力補完あんまり賢くない iPhone開発 個人的な不満点 努力は認めるけど・・・。たまに型を見失うし。 Visual Studioだったらコードヒント出るよ!

C#erはXcode上ではやる気が減退する(と思う) Objective-Cがわかんないんじゃないんだ。                  メンドクサイんだ! ヘッダファイルを使った定義 メモリの管理 XcodeがVisual Studioに慣れた体には 合わない ボタンダブルクリックしても イベントメソッド作ってくれない。全部自分で書く。 ちょっとしたことでもリファレンス開くのめんどい

C#でiPhoneアプリ作れたらなあ・・・ そして思う C#でiPhoneアプリ作れたらなあ・・・ 慣れてるし・・・ 補完強いし・・・ ノウハウはいっぱいあるし・・・ WMとiPhoneで同じソース書くのメンドイ! IRC 接続クラス2つメンテするの大変です@EbIRC 同じアプリを同時に展開しようとすると、 単純計算で2倍の時間がかかる

今日ご説明するMonoTouchがお便利です そんなあなたに 今日ご説明するMonoTouchがお便利です

.NETのオープンソース実装 Mono を使った、 .NETでiPhoneアプリを作れるライブラリ MonoTouchとは .NETのオープンソース実装 Mono を使った、 .NETでiPhoneアプリを作れるライブラリ Novellから、9月上旬に発表されました。 8月     ベータテストがアナウンスされる 9月上旬  1.0がリリース 9月下旬  1.1がリリース

商用ライブラリです Personal Edition $399/1Developer/Year MonoTouchとは 商用ライブラリです Personal Edition $399/1Developer/Year Enterprise Edition $999/1Developer/Year $3999/5Developer/Year Personal Edition と Enterprise Edition の違い iPhone Developer Program の Enterprise Program でできる組織内に大量配布する向けのアプリの作成に必要 Personal Edition のライセンスは個人にひもづくが、 Enterprise Edition のライセンスは組織内で移動可能

見てもらった方が早い Demo 2 MonoDevelopを使ったiPhoneアプリ開発

MonoTouchを使った開発に必要なもの Intel Mac + Mac OS X 10.5.x (Leopard) ~ iPhone SDK 最終的なビルドはiPhone SDKに依存するので 結局Macは必要です。 Mono 2.4 一般に配布されているMonoランタイムです MonoTouch 1.1 今回の主役。 MonoDevelop 2.2 α (MonoTouch対応版) MonoTouchの開発サポートが入っています

MonoTouchを使った開発の基本フロー MonoDevelop Interface Builder UIをデザインする ・エディタとデザイナの往復が大幅に減る ・多くの定義が自動補完される 変数とUIの接続をする コードを書く エミュレータ 転送・デバッグ 実機

mtouchコマンド クラスライブラリ MonoTouchに含まれるもの コンパイル、iPhoneアプリへの変換、コードサイン、 実機転送などを一発で行ってくれるユーティリティ クラスライブラリ Monoのコアライブラリ System名前空間以下、mscorlibとかSystemとかに入ってそうなもの MonoTouch.ObjcRuntime Objective-Cのブリッジなど MonoTouch.Foundation Objective-Cの基本クラス(NSObject)などのラッパー .NETのライブラリだけでなく、 Objective-Cで使用されるクラスを直接使うこともできる MonoTouch.UIKit CocoaTouchのコアライブラリ、UIKitのラッパー

iPhoneって 言語処理系乗っけちゃだめなんだよね? あれ?ちょっとまって iPhoneって 言語処理系乗っけちゃだめなんだよね? 規約に書いてあって、 AppStoreに送ってもRejectされるだけ iPhone向けにFlashやFirefoxが出せない理由 (両方ともScriptの処理系が乗っている) .NETの処理系って MSILをJITでコンパイルしてたよね? なんでiPhoneに.NETのアプリを配信できるの?

動的がダメなら先全部コンパイルしとけばいいんだよ! MonoのAOT(Ahead of Time)コンパイルで、先に全部ネイティブへコンパイルしてからiPhoneアプリの形に仕立てます。 そのかわり、ビルドに時間がかかります。 そのあたりの処理を、mtouchコマンドが うまい具合に全部やってくれます。 なので詳しい仕組みはよくわかりません。

動的コード生成が使えない デバッグのサポートがない ジェネリクスでできることに制限がある MonoTouchのデメリット 動的コード生成が使えない System.Reflection.Emit や System.Runtime.Remoting などが使用不可 その他、動的コード生成に依存する処理は使用不可 デバッグのサポートがない ステップイン・ステップアウトなどが使えません Console.WriteLineとかでコンソール出力を出してXcodeで実行ログを確認するとかはできます。 ジェネリクスでできることに制限がある Dictionary<TKey, TValue>で値型をキーにできない ほか

.NETのライブラリは全部が全部使えるわけではない MonoTouchのデメリット .NETのライブラリは全部が全部使えるわけではない 使用できるとされているアセンブリ mscorlib.dll, System.dll, System.Core.dll, System.Xml.dll, System.Xml.Linq.dll MonoDevelopのエディタで 日本語を入力できない コメント書かせて・・・orz Objective-Cのサンプルをコピペできない iPhone依存のUIの実装などはそれを参考にして、 自分でMonoTouchに移植する

iPhoneのアプリが全部C#で書けるなら、 WMのアプリと多くの処理が共通化できるはず。 Windows Mobile アプリの移植 iPhoneのアプリが全部C#で書けるなら、 WMのアプリと多くの処理が共通化できるはず。 WMのアプリのiPhone移植が容易になるかも。

UIはWindows FormsとCocoaTouchで大幅に違うので書き直し必要 Windows Mobile アプリの移植 UIはWindows FormsとCocoaTouchで大幅に違うので書き直し必要 デバイスの呼び出しも大幅に違うけど、 ラッパー作れば共通化できそう。 UI メイン処理 そのまま使えそう ラッパー必要そう 通信 ファイル 設定 カメラ GPS その他 デバイス

できるかな? Demo 3 Windows Mobile 用カメラアプリの iPhone 移植

MonoTouch便利です 一部使えない処理もあります iPhone開発の高速化 WMアプリの高速移植・iPhone/WMに同時展開 まとめ MonoTouch便利です iPhone開発の高速化 WMアプリの高速移植・iPhone/WMに同時展開 お値段高めだけど使いどころが合えば 「買い」ではないかと。 一部使えない処理もあります