SlideShare une entreprise Scribd logo
1  sur  33
C#でiPhoneアプリ開発
    with MonoTouch
 伊勢 シン




わんくま同盟 大阪勉強会 #32
自己紹介

• 伊勢 シンといいます。
  – スマートフォン勉強会の代表です。
  – 次回関東10/31、関西11/14です!
  – 詳しくは http://smartphone.techtalk.jp/ へ!


• 先日、
  Microsoft MVP for Windows Mobile を
  受賞しました!



                  わんくま同盟 大阪勉強会 #32
• WM開発本書きました!
 – Windows Mobile実践プログラミング
   with .NET Compact Framework
 – 酢酸さん、こげつさんとの合作です
 – もう各地の本屋さんに並んでいるはず


• WMのMVPですが、今日はiPhoneのネタやり
  ます!
 – WMだけじゃなくてiPhoneアプリも作ってます

             わんくま同盟 大阪勉強会 #32
おしながき

• おさらい編
 – 基本的なiPhone開発のおさらい
 – Windows Mobile開発との差


• MonoTouch編
 – MonoTouchとは
 – MonoDevelopを使ってiPhone開発
 – Windows Mobileとのクロス開発?


               わんくま同盟 大阪勉強会 #32
ところで・・・

• iPhoneの開発やったことある人って、
  どれくらいいます?

• とりあえず、一般的なiPhoneアプリ開発
  のおさらいをしてみましょう




        わんくま同盟 大阪勉強会 #32
いきなりだけど




• Demo 1
 – Xcode を使ったiPhoneアプリ開発の基本フロー




           わんくま同盟 大阪勉強会 #32
iPhone開発の基本

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


               わんくま同盟 大阪勉強会 #32
iPhone開発の基本ツール

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




Xcode                    Interface Builder

                             UIをデザインする


 UIの定義を書く


                         変数とUIの接続をする

   コードを書く

             転送・デバッグ



              わんくま同盟 大阪勉強会 #32
Windows Mobile の場合は?

• 必要なもの
 – それなりに新しめのWindows PC
 – Visual Studio 2008 Professional 以上
   Visual Studio 2005 Standard 以上 のどっちか
 – Windows Mobile 6 SDK
• すべての作業がVisual Studio上でできます。




             わんくま同盟 大阪勉強会 #32
Windows Mobile開発の基本フロー



            Visual Studio
コードエディタ                      デザイナ

                            UIをデザインする




コードを書く

          転送・デバッグ



           わんくま同盟 大阪勉強会 #32
iPhone開発 個人的な不満点

• いちいち@propertyとか@synthesizeとか
  書くのめんどくさい!
 – しかも2つのファイルにまたがるとか・・・
 – 補完もほとんど効かない




    Demo01ViewController.h   Demo01ViewController.m



                     わんくま同盟 大阪勉強会 #32
iPhone開発 個人的な不満点

• それ、Visual Studio+C#だったら
               prop[tab][tab]でできるよ!




            Tabキー2回




             わんくま同盟 大阪勉強会 #32
iPhone開発 個人的な不満点

• 入力補完あんまり賢くない
 – 努力は認めるけど・・・。たまに型を見失うし。
 – Visual Studioだったらコードヒント出るよ!




           わんくま同盟 大阪勉強会 #32
C#erはXcode上ではやる気が減退する(と思う)

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

           わんくま同盟 大阪勉強会 #32
そして思う

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

          わんくま同盟 大阪勉強会 #32
そんなあなたに

• 今日ご説明するMonoTouchがお便利です




         わんくま同盟 大阪勉強会 #32
MonoTouchとは

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




           わんくま同盟 大阪勉強会 #32
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 のライセンスは組織内で移動可能


                 わんくま同盟 大阪勉強会 #32
見てもらった方が早い




• Demo 2
 – MonoDevelopを使ったiPhoneアプリ開発




            わんくま同盟 大阪勉強会 #32
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の開発サポートが入っています
               わんくま同盟 大阪勉強会 #32
MonoTouchを使った開発の基本フロー




MonoDevelop               Interface Builder

・エディタとデザイナの往復が大幅に減る        UIをデザインする
・多くの定義が自動補完される



                          変数とUIの接続をする

   コードを書く

              転送・デバッグ



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


                  わんくま同盟 大阪勉強会 #32
あれ?ちょっとまって

• iPhoneって
  言語処理系乗っけちゃだめなんだよね?
 – 規約に書いてあって、
   AppStoreに送ってもRejectされるだけ
 – iPhone向けにFlashやFirefoxが出せない理由
   (両方ともScriptの処理系が乗っている)

• .NETの処理系って
  MSILをJITでコンパイルしてたよね?

• なんでiPhoneに.NETのアプリを配信できるの?

            わんくま同盟 大阪勉強会 #32
動的がダメなら先全部コンパイルしとけばいいんだよ!

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




            わんくま同盟 大阪勉強会 #32
MonoTouchのデメリット

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

             わんくま同盟 大阪勉強会 #32
MonoTouchのデメリット

• .NETのライブラリは全部が全部使えるわけでは
  ない
 – 使用できるとされているアセンブリ
   • mscorlib.dll, System.dll, System.Core.dll, System.Xml.dll,
     System.Xml.Linq.dll

• MonoDevelopがちょっと残念
 – エディタで日本語を入力できない。
 – 不安定 (MonoTouch対応版はまだアルファ)

• Objective-Cのサンプルをコピペできない
 – iPhone依存のUIの実装などはそれを参考にして、
   自分でMonoTouchに移植する
                    わんくま同盟 大阪勉強会 #32
Windows Mobile アプリの移植

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




          わんくま同盟 大阪勉強会 #32
Windows Mobile アプリの移植

• UIはWindows FormsとCocoaTouchで大幅
  に違うので書き直し必要
• デバイスの呼び出しも大幅に違うけど、
  ラッパー作れば共通化できそう。
                      UI

                   メイン処理

       そのまま使えそう            ラッパー必要そう

                                       その他
       通信   ファイル    設定     カメラ   GPS
                                       デバイス



             わんくま同盟 大阪勉強会 #32
実際に移植やってみる

• Android用のFotoHookというアプリを
  パクりました!
 – http://d.hatena.ne.jp/hakobe932/20091014/125
   5522909




                わんくま同盟 大阪勉強会 #32
内部の仕組み
Windows Mobile                      iPhone
   Windows Forms                       UIKit


            Manager (全体の取りまとめ・通信)


   RCImage                        RCImage
System.Drawing.Image                UIImage

            CameraDialog (カメラ撮影ラッパ)

System.Drawing.Image                 UIImage

CameraCaptureDialog         UIImagePickerViewController


                   わんくま同盟 大阪勉強会 #32
できるかな?




• Demo 3
 – Windows Mobile 用カメラアプリの iPhone 移植




            わんくま同盟 大阪勉強会 #32
まとめ

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




           わんくま同盟 大阪勉強会 #32

Contenu connexe

Tendances

アドベント2015ios基礎
アドベント2015ios基礎アドベント2015ios基礎
アドベント2015ios基礎ppengotsu Name
 
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有Shinobu Okano
 
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版Tomoki Hasegawa
 
エンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたことエンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたことMayumi Narisawa
 
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考えるFumiya Sakai
 
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)mokelab
 
20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublishedYoichiro Sakurai
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshopYoichiro Sakurai
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよYohei Oda
 
ゼロから始めるiPhoneアプリ開発
ゼロから始めるiPhoneアプリ開発ゼロから始めるiPhoneアプリ開発
ゼロから始めるiPhoneアプリ開発bontetsu
 
iOSアプリで気になった動きや表現を上手にアレンジして活用してみる
iOSアプリで気になった動きや表現を上手にアレンジして活用してみるiOSアプリで気になった動きや表現を上手にアレンジして活用してみる
iOSアプリで気になった動きや表現を上手にアレンジして活用してみるFumiya Sakai
 
最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返りFumiya Sakai
 
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略Fumiya Sakai
 
アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集Fumiya Sakai
 
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分についてiOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分についてFumiya Sakai
 
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリできる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:WebからはじまるアプリMasami Yabushita
 
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返りFumiya Sakai
 
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくレイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくFumiya Sakai
 
少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発Fumiya Sakai
 
Titanium
TitaniumTitanium
Titaniumyono05
 

Tendances (20)

アドベント2015ios基礎
アドベント2015ios基礎アドベント2015ios基礎
アドベント2015ios基礎
 
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
 
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
 
エンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたことエンジニアリングするデザイナーが領域を超えて見えたこと
エンジニアリングするデザイナーが領域を超えて見えたこと
 
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
何故に私達(特に私)はアプリのアニメーションや UI表現に魅了されるのか? そして共存と向き合いを考える
 
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
 
20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublished
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよ
 
ゼロから始めるiPhoneアプリ開発
ゼロから始めるiPhoneアプリ開発ゼロから始めるiPhoneアプリ開発
ゼロから始めるiPhoneアプリ開発
 
iOSアプリで気になった動きや表現を上手にアレンジして活用してみる
iOSアプリで気になった動きや表現を上手にアレンジして活用してみるiOSアプリで気になった動きや表現を上手にアレンジして活用してみる
iOSアプリで気になった動きや表現を上手にアレンジして活用してみる
 
最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り
 
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
 
アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集
 
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分についてiOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
iOSアプリ開発で意識すると役立ちそうな「つなぎ目」の部分について
 
できる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリできる!スマホアプリ:Webからはじまるアプリ
できる!スマホアプリ:Webからはじまるアプリ
 
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
少しずつキャッチアップしていくAndroidアプリ開発の補足と振り返り
 
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくレイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
 
少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発少しずつキャッチアップしていくAndroidアプリ開発
少しずつキャッチアップしていくAndroidアプリ開発
 
Titanium
TitaniumTitanium
Titanium
 

En vedette

Html5で作るiPhoneアプリケーション2010
Html5で作るiPhoneアプリケーション2010Html5で作るiPhoneアプリケーション2010
Html5で作るiPhoneアプリケーション2010だいすけ ふるかわ
 
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向Yahoo! JAPAN Marketing Solution
 
(エンジニアから見た)
最近のスマートウォッチ事情
(エンジニアから見た)
最近のスマートウォッチ事情(エンジニアから見た)
最近のスマートウォッチ事情
(エンジニアから見た)
最近のスマートウォッチ事情Tomoya Yamamoto
 
デブサミ2009: iPhone開発者座談会
デブサミ2009: iPhone開発者座談会デブサミ2009: iPhone開発者座談会
デブサミ2009: iPhone開発者座談会masayoshi takahashi
 
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向Yahoo! JAPAN Marketing Solution
 
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone からKatz Ueno
 
HTML5で作るiPhoneアプリケーション
HTML5で作るiPhoneアプリケーションHTML5で作るiPhoneアプリケーション
HTML5で作るiPhoneアプリケーションだいすけ ふるかわ
 
HTML5@iPhoneゲーム開発
HTML5@iPhoneゲーム開発HTML5@iPhoneゲーム開発
HTML5@iPhoneゲーム開発h_kishi
 
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオンJava ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン健一 茂木
 
Phone Appli「PA Sync」 説明資料
Phone Appli「PA Sync」 説明資料Phone Appli「PA Sync」 説明資料
Phone Appli「PA Sync」 説明資料PA_Hitomi
 
コンピューター支援言語学習
コンピューター支援言語学習コンピューター支援言語学習
コンピューター支援言語学習Parisa Mehran
 
Office for iPad Office for iPhone 企業利用における問題点のまとめ
Office for iPad Office for  iPhone 企業利用における問題点のまとめOffice for iPad Office for  iPhone 企業利用における問題点のまとめ
Office for iPad Office for iPhone 企業利用における問題点のまとめadachiyosuke
 
非It系総務の社内kintone促進 kintone Café japan
非It系総務の社内kintone促進 kintone Café japan非It系総務の社内kintone促進 kintone Café japan
非It系総務の社内kintone促進 kintone Café japannaoya takata
 
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yideviPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidevTomohiro Kumagai
 
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12Ryuji Yamashita
 
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-CREATIVE SURVEY
 
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料Kentaro Matsumae
 
iPhoneアプリ無料でできるプロモーション15の活動
iPhoneアプリ無料でできるプロモーション15の活動iPhoneアプリ無料でできるプロモーション15の活動
iPhoneアプリ無料でできるプロモーション15の活動Hiromitsu Ishimori
 
Rubyを楽しくする第一歩!ブロックを理解する!
Rubyを楽しくする第一歩!ブロックを理解する!Rubyを楽しくする第一歩!ブロックを理解する!
Rubyを楽しくする第一歩!ブロックを理解する!Kanako Kobayashi
 
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...Yusuke Suzuki
 

En vedette (20)

Html5で作るiPhoneアプリケーション2010
Html5で作るiPhoneアプリケーション2010Html5で作るiPhoneアプリケーション2010
Html5で作るiPhoneアプリケーション2010
 
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向
<Yahoo!プロモーション広告>「iPhone 6」発売後はどうなる? 関連キーワード検索傾向
 
(エンジニアから見た)
最近のスマートウォッチ事情
(エンジニアから見た)
最近のスマートウォッチ事情(エンジニアから見た)
最近のスマートウォッチ事情
(エンジニアから見た)
最近のスマートウォッチ事情
 
デブサミ2009: iPhone開発者座談会
デブサミ2009: iPhone開発者座談会デブサミ2009: iPhone開発者座談会
デブサミ2009: iPhone開発者座談会
 
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向
「iPhone 6s/6s Plus」発売前後の検索実績からみる、インターネットユーザー動向
 
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から
第1回 始めてみよう Web 動画 〜 基礎編 まずは iPhone から
 
HTML5で作るiPhoneアプリケーション
HTML5で作るiPhoneアプリケーションHTML5で作るiPhoneアプリケーション
HTML5で作るiPhoneアプリケーション
 
HTML5@iPhoneゲーム開発
HTML5@iPhoneゲーム開発HTML5@iPhoneゲーム開発
HTML5@iPhoneゲーム開発
 
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオンJava ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
 
Phone Appli「PA Sync」 説明資料
Phone Appli「PA Sync」 説明資料Phone Appli「PA Sync」 説明資料
Phone Appli「PA Sync」 説明資料
 
コンピューター支援言語学習
コンピューター支援言語学習コンピューター支援言語学習
コンピューター支援言語学習
 
Office for iPad Office for iPhone 企業利用における問題点のまとめ
Office for iPad Office for  iPhone 企業利用における問題点のまとめOffice for iPad Office for  iPhone 企業利用における問題点のまとめ
Office for iPad Office for iPhone 企業利用における問題点のまとめ
 
非It系総務の社内kintone促進 kintone Café japan
非It系総務の社内kintone促進 kintone Café japan非It系総務の社内kintone促進 kintone Café japan
非It系総務の社内kintone促進 kintone Café japan
 
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yideviPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
 
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
 
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-
女性はグリー、男性はモバゲーのアプリデザインを支持!! -iphoneアプリデザイン調査-
 
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
ニコニコ動画iPhoneアプリの作り方@スマートフォン2011講演資料
 
iPhoneアプリ無料でできるプロモーション15の活動
iPhoneアプリ無料でできるプロモーション15の活動iPhoneアプリ無料でできるプロモーション15の活動
iPhoneアプリ無料でできるプロモーション15の活動
 
Rubyを楽しくする第一歩!ブロックを理解する!
Rubyを楽しくする第一歩!ブロックを理解する!Rubyを楽しくする第一歩!ブロックを理解する!
Rubyを楽しくする第一歩!ブロックを理解する!
 
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
JavaエンタープライズアーキテクチャにおけるHTML5 - Enterprise ☓ HTML5 Web Application Conference ...
 

Similaire à C#でiPhoneアプリ開発 with MonoTouch

PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料Monaca
 
C# で i phone ゲーム開発
C# で i phone ゲーム開発C# で i phone ゲーム開発
C# で i phone ゲーム開発Katsutoshi Makino
 
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワークKaz Furukawa
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れMitsuru Katoh
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたYasuharu Seki
 
C#でiPhone開発とか
C#でiPhone開発とかC#でiPhone開発とか
C#でiPhone開発とかShin Ise
 
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門Yasuhiko Yamamoto
 
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)Yasuhiko Yamamoto
 
Windows phone関係のなにか。
Windows phone関係のなにか。Windows phone関係のなにか。
Windows phone関係のなにか。Hiroyuki Mori
 
デベロッパー視点での3大スマホの違い
デベロッパー視点での3大スマホの違いデベロッパー視点での3大スマホの違い
デベロッパー視点での3大スマホの違いMakoto Kubota
 
EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!Yutaka Tsumori
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Saki Homma
 
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧めわんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧めYasuhiko Yamamoto
 
iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流Rakuten Group, Inc.
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけようKouji Matsui
 
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話Makoto Nishimoto
 
WindowsにおけるUIスレッドの基礎
WindowsにおけるUIスレッドの基礎WindowsにおけるUIスレッドの基礎
WindowsにおけるUIスレッドの基礎ssuser349357
 
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会codeal
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Saki Homma
 

Similaire à C#でiPhoneアプリ開発 with MonoTouch (20)

PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
 
C# で i phone ゲーム開発
C# で i phone ゲーム開発C# で i phone ゲーム開発
C# で i phone ゲーム開発
 
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
C#でiPhone開発とか
C#でiPhone開発とかC#でiPhone開発とか
C#でiPhone開発とか
 
XAML のこれまでとこれから、今「やる」べき意義
XAML のこれまでとこれから、今「やる」べき意義XAML のこれまでとこれから、今「やる」べき意義
XAML のこれまでとこれから、今「やる」べき意義
 
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
 
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
 
Windows phone関係のなにか。
Windows phone関係のなにか。Windows phone関係のなにか。
Windows phone関係のなにか。
 
デベロッパー視点での3大スマホの違い
デベロッパー視点での3大スマホの違いデベロッパー視点での3大スマホの違い
デベロッパー視点での3大スマホの違い
 
EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
 
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧めわんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
 
iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけよう
 
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
 
WindowsにおけるUIスレッドの基礎
WindowsにおけるUIスレッドの基礎WindowsにおけるUIスレッドの基礎
WindowsにおけるUIスレッドの基礎
 
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
 

Plus de Shin Ise

Cross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossCross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossShin Ise
 
いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5Shin Ise
 
すまべんLite@関西#4
すまべんLite@関西#4すまべんLite@関西#4
すまべんLite@関西#4Shin Ise
 
すまべんLite@関西#3
すまべんLite@関西#3すまべんLite@関西#3
すまべんLite@関西#3Shin Ise
 
すまべんLite@関西#2
すまべんLite@関西#2すまべんLite@関西#2
すまべんLite@関西#2Shin Ise
 
すごいHaskell読書会#10
すごいHaskell読書会#10すごいHaskell読書会#10
すごいHaskell読書会#10Shin Ise
 
音声APIを使ってみる
音声APIを使ってみる音声APIを使ってみる
音声APIを使ってみるShin Ise
 
すまべんLite@関西#1
すまべんLite@関西#1すまべんLite@関西#1
すまべんLite@関西#1Shin Ise
 
Xamarin2.0であそぼう
Xamarin2.0であそぼうXamarin2.0であそぼう
Xamarin2.0であそぼうShin Ise
 
CoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low EnergyデバイスCoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low EnergyデバイスShin Ise
 
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」Shin Ise
 
GridViewのつかいかた
GridViewのつかいかたGridViewのつかいかた
GridViewのつかいかたShin Ise
 
iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2Shin Ise
 
MediaLibrary で あそぼう
MediaLibrary で あそぼうMediaLibrary で あそぼう
MediaLibrary で あそぼうShin Ise
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive ExtensionsShin Ise
 
本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone ToolkitShin Ise
 
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントSocketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントShin Ise
 
Macで使うWindows Phone 7
Macで使うWindows Phone 7Macで使うWindows Phone 7
Macで使うWindows Phone 7Shin Ise
 
iOSのVoiceOver対応開発
iOSのVoiceOver対応開発iOSのVoiceOver対応開発
iOSのVoiceOver対応開発Shin Ise
 
Galaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーGalaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーShin Ise
 

Plus de Shin Ise (20)

Cross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossCross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCross
 
いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5
 
すまべんLite@関西#4
すまべんLite@関西#4すまべんLite@関西#4
すまべんLite@関西#4
 
すまべんLite@関西#3
すまべんLite@関西#3すまべんLite@関西#3
すまべんLite@関西#3
 
すまべんLite@関西#2
すまべんLite@関西#2すまべんLite@関西#2
すまべんLite@関西#2
 
すごいHaskell読書会#10
すごいHaskell読書会#10すごいHaskell読書会#10
すごいHaskell読書会#10
 
音声APIを使ってみる
音声APIを使ってみる音声APIを使ってみる
音声APIを使ってみる
 
すまべんLite@関西#1
すまべんLite@関西#1すまべんLite@関西#1
すまべんLite@関西#1
 
Xamarin2.0であそぼう
Xamarin2.0であそぼうXamarin2.0であそぼう
Xamarin2.0であそぼう
 
CoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low EnergyデバイスCoreBluetoothでつくるBluetooth Low Energyデバイス
CoreBluetoothでつくるBluetooth Low Energyデバイス
 
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
 
GridViewのつかいかた
GridViewのつかいかたGridViewのつかいかた
GridViewのつかいかた
 
iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2
 
MediaLibrary で あそぼう
MediaLibrary で あそぼうMediaLibrary で あそぼう
MediaLibrary で あそぼう
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive Extensions
 
本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit
 
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントSocketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
 
Macで使うWindows Phone 7
Macで使うWindows Phone 7Macで使うWindows Phone 7
Macで使うWindows Phone 7
 
iOSのVoiceOver対応開発
iOSのVoiceOver対応開発iOSのVoiceOver対応開発
iOSのVoiceOver対応開発
 
Galaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーGalaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバー
 

Dernier

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Dernier (9)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

C#でiPhoneアプリ開発 with MonoTouch

  • 1. C#でiPhoneアプリ開発 with MonoTouch 伊勢 シン わんくま同盟 大阪勉強会 #32
  • 2. 自己紹介 • 伊勢 シンといいます。 – スマートフォン勉強会の代表です。 – 次回関東10/31、関西11/14です! – 詳しくは http://smartphone.techtalk.jp/ へ! • 先日、 Microsoft MVP for Windows Mobile を 受賞しました! わんくま同盟 大阪勉強会 #32
  • 3. • WM開発本書きました! – Windows Mobile実践プログラミング with .NET Compact Framework – 酢酸さん、こげつさんとの合作です – もう各地の本屋さんに並んでいるはず • WMのMVPですが、今日はiPhoneのネタやり ます! – WMだけじゃなくてiPhoneアプリも作ってます わんくま同盟 大阪勉強会 #32
  • 4. おしながき • おさらい編 – 基本的なiPhone開発のおさらい – Windows Mobile開発との差 • MonoTouch編 – MonoTouchとは – MonoDevelopを使ってiPhone開発 – Windows Mobileとのクロス開発? わんくま同盟 大阪勉強会 #32
  • 5. ところで・・・ • iPhoneの開発やったことある人って、 どれくらいいます? • とりあえず、一般的なiPhoneアプリ開発 のおさらいをしてみましょう わんくま同盟 大阪勉強会 #32
  • 6. いきなりだけど • Demo 1 – Xcode を使ったiPhoneアプリ開発の基本フロー わんくま同盟 大阪勉強会 #32
  • 7. iPhone開発の基本 • 必要なもの – Mac OS X 10.5 (Leopard) 以上の入った Intel Mac – iPhone SDK • 開発ツールやライブラリが入ってます。 • 会員登録すると無料で落とせます。2~3GBくらい。 – iPhone Developer Program • 実機転送やAppStoreへのアップロードに必要な ライセンス • 年額10800円 わんくま同盟 大阪勉強会 #32
  • 8. iPhone開発の基本ツール • Xcode – Apple純正の統合開発環境(IDE) – iPhoneだけではなく、 Mac用アプリ(ObjC,Java,Ruby)、 Webアプリ(WebObjects)の開発もできる。 – プロジェクト管理、コードエディタなどの 基本機能が揃っている • Interface Builder – Xcodeのサブツール – インターフェイスのデザイン専用のツール わんくま同盟 大阪勉強会 #32
  • 9. iPhone開発の基本フロー Xcode Interface Builder UIをデザインする UIの定義を書く 変数とUIの接続をする コードを書く 転送・デバッグ わんくま同盟 大阪勉強会 #32
  • 10. Windows Mobile の場合は? • 必要なもの – それなりに新しめのWindows PC – Visual Studio 2008 Professional 以上 Visual Studio 2005 Standard 以上 のどっちか – Windows Mobile 6 SDK • すべての作業がVisual Studio上でできます。 わんくま同盟 大阪勉強会 #32
  • 11. Windows Mobile開発の基本フロー Visual Studio コードエディタ デザイナ UIをデザインする コードを書く 転送・デバッグ わんくま同盟 大阪勉強会 #32
  • 12. iPhone開発 個人的な不満点 • いちいち@propertyとか@synthesizeとか 書くのめんどくさい! – しかも2つのファイルにまたがるとか・・・ – 補完もほとんど効かない Demo01ViewController.h Demo01ViewController.m わんくま同盟 大阪勉強会 #32
  • 13. iPhone開発 個人的な不満点 • それ、Visual Studio+C#だったら prop[tab][tab]でできるよ! Tabキー2回 わんくま同盟 大阪勉強会 #32
  • 14. iPhone開発 個人的な不満点 • 入力補完あんまり賢くない – 努力は認めるけど・・・。たまに型を見失うし。 – Visual Studioだったらコードヒント出るよ! わんくま同盟 大阪勉強会 #32
  • 15. C#erはXcode上ではやる気が減退する(と思う) • Objective-Cがわかんないんじゃないんだ。 メンドクサイんだ! – ヘッダファイルを使った定義 – メモリの管理 • XcodeがVisual Studioに慣れた体には 合わない – ボタンダブルクリックしても イベントメソッド作ってくれない。全部自分で書く。 – ちょっとしたことでもリファレンス開くのめんどい わんくま同盟 大阪勉強会 #32
  • 16. そして思う • C#でiPhoneアプリ作れたらなあ・・・ – 慣れてるし・・・ – 補完強いし・・・ – ノウハウはいっぱいあるし・・・ • WMとiPhoneで同じソース書くのメンドイ! – IRC 接続クラス2つメンテするの大変です @EbIRC – 同じアプリをWMとiPhoneで同時に 展開しようとすると、単純計算で2倍時間がかかる わんくま同盟 大阪勉強会 #32
  • 18. MonoTouchとは • .NETのオープンソース実装 Mono を使った、 .NETでiPhoneアプリを作れるライブラリ • Novellから、9月上旬に発表されました。 – 8月 ベータテストがアナウンスされる – 9月上旬 1.0がリリース – 9月下旬 1.1がリリース わんくま同盟 大阪勉強会 #32
  • 19. 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 のライセンスは組織内で移動可能 わんくま同盟 大阪勉強会 #32
  • 20. 見てもらった方が早い • Demo 2 – MonoDevelopを使ったiPhoneアプリ開発 わんくま同盟 大阪勉強会 #32
  • 21. 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の開発サポートが入っています わんくま同盟 大阪勉強会 #32
  • 22. MonoTouchを使った開発の基本フロー MonoDevelop Interface Builder ・エディタとデザイナの往復が大幅に減る UIをデザインする ・多くの定義が自動補完される 変数とUIの接続をする コードを書く 転送・デバッグ わんくま同盟 大阪勉強会 #32
  • 23. MonoTouchに含まれるもの • mtouchコマンド – コンパイル、iPhoneアプリへの変換、コードサイン、 実機転送などを一発で行ってくれるユーティリティ • クラスライブラリ – Monoのコアライブラリ • System名前空間以下、mscorlibとかSystemとかに入ってそうなもの – MonoTouch.ObjcRuntime • Objective-Cのブリッジなど – MonoTouch.Foundation • Objective-Cの基本クラス(NSObject)などのラッパー • .NETのライブラリだけでなく、 Objective-Cで使用されるクラスを直接使うこともできる – MonoTouch.UIKit • CocoaTouchのコアライブラリ、UIKitのラッパー わんくま同盟 大阪勉強会 #32
  • 24. あれ?ちょっとまって • iPhoneって 言語処理系乗っけちゃだめなんだよね? – 規約に書いてあって、 AppStoreに送ってもRejectされるだけ – iPhone向けにFlashやFirefoxが出せない理由 (両方ともScriptの処理系が乗っている) • .NETの処理系って MSILをJITでコンパイルしてたよね? • なんでiPhoneに.NETのアプリを配信できるの? わんくま同盟 大阪勉強会 #32
  • 25. 動的がダメなら先全部コンパイルしとけばいいんだよ! • MonoのAOT(Ahead of Time)コンパイルで、 先に全部ネイティブへコンパイルしてから iPhoneアプリの形に仕立てます。 – そのかわり、ビルドに時間がかかります。 • そのあたりの処理を、mtouchコマンドが うまい具合に全部やってくれます。 – なので詳しい仕組みはよくわかりません。 わんくま同盟 大阪勉強会 #32
  • 26. MonoTouchのデメリット • 動的コード生成が使えない – System.Reflection.Emit や System.Runtime.Remoting などが使用不可 – その他、動的コード生成に依存する処理は使用不可 • デバッグのサポートがない – ステップイン・ステップアウトなどが使えません – Console.WriteLineとかでコンソール出力を出して Xcodeで実行ログを確認するとかはできます。 • ジェネリクスでできることに制限がある – Dictionary<TKey, TValue>で値型をキーにできない – ほか わんくま同盟 大阪勉強会 #32
  • 27. MonoTouchのデメリット • .NETのライブラリは全部が全部使えるわけでは ない – 使用できるとされているアセンブリ • mscorlib.dll, System.dll, System.Core.dll, System.Xml.dll, System.Xml.Linq.dll • MonoDevelopがちょっと残念 – エディタで日本語を入力できない。 – 不安定 (MonoTouch対応版はまだアルファ) • Objective-Cのサンプルをコピペできない – iPhone依存のUIの実装などはそれを参考にして、 自分でMonoTouchに移植する わんくま同盟 大阪勉強会 #32
  • 28. Windows Mobile アプリの移植 • iPhoneのアプリが全部C#で書けるなら、 WMのアプリと多くの処理が共通化できるは ず。 • WMのアプリのiPhone移植が容易になるかも。 わんくま同盟 大阪勉強会 #32
  • 29. Windows Mobile アプリの移植 • UIはWindows FormsとCocoaTouchで大幅 に違うので書き直し必要 • デバイスの呼び出しも大幅に違うけど、 ラッパー作れば共通化できそう。 UI メイン処理 そのまま使えそう ラッパー必要そう その他 通信 ファイル 設定 カメラ GPS デバイス わんくま同盟 大阪勉強会 #32
  • 30. 実際に移植やってみる • Android用のFotoHookというアプリを パクりました! – http://d.hatena.ne.jp/hakobe932/20091014/125 5522909 わんくま同盟 大阪勉強会 #32
  • 31. 内部の仕組み Windows Mobile iPhone Windows Forms UIKit Manager (全体の取りまとめ・通信) RCImage RCImage System.Drawing.Image UIImage CameraDialog (カメラ撮影ラッパ) System.Drawing.Image UIImage CameraCaptureDialog UIImagePickerViewController わんくま同盟 大阪勉強会 #32
  • 32. できるかな? • Demo 3 – Windows Mobile 用カメラアプリの iPhone 移植 わんくま同盟 大阪勉強会 #32
  • 33. まとめ • MonoTouch便利です – iPhone開発の高速化 – WMアプリの高速移植・iPhone/WMに同時展開 – お値段高めだけど使いどころが合えば 「買い」ではないかと。 • 一部使えない処理もあります わんくま同盟 大阪勉強会 #32