嗚呼、素晴らしき哉MonoTouch
中西 孝之@アイジュピタhIDDEN_xv (なかにし)iPhoneアプリ     ウィンドチャイム     cornering force!i花火iPadアプリけいさんカード(予)
※講師の方々のiPhoneアプリを買っていただけると喜びます
※もちろん強制ではございません
よろしくお願いします。
アジェンダはじめにデモMonoTouchのおすすめポイントMonoTouchのいま
はじめにの前に
謝辞@monobyteさん@masatoshisw20 さん@jun1sさんNovell MonoTouchチーム
はじめに
世界一開発効率の高いプログラミング言語
世界一開発効率の高いプログラミング言語(hIDDEN調べ 2010.8)
C#
C#
MonoTouch
認知度アンケートでもとってみな
原メソッド
スライドの途中に自分への指示を書いておく手法- とちぎRuby会議 2009
オレがアシストしてやるぜー
マジ猿
マジ猿うるせー!
MonoTouch
MonoTouchMonoDevelopMono Framework
Monoプロジェクト
iPhoneSDKライブラリ.NET Frameworkライブラリ.NET Framework 3.5C# 3.0
最大の武器は
開発スピード
ここでみなさんにデモをお見せしろ
デモ
ヘッダファイルとかマジF○○kされちまえばいいのにな!
おすすめポイント
.NETのクラスライブラリ
System.Collections.Generics.*System.Linq.*System.Runtime.Serialization.*System.Net.*System.Xml.*System.Drawing.*System.MathSystem.StringSystem.Console ...
LinqclassGameResult{public intScore;publicDateTime Date;}var results = from r inGameResult.Allwherer.Score > 10000orderbyr.Datedescendingselect r;
SMTPusing ( MailMessage message = newMailMessage() ) { message.Subject = "subject"; message.Body = "mail body"; message.From = "from@me.com"; message.To.Add( "to@you.jp" ); message.Attachments.Add(                      new Attachment( "attach.png" ) ); SmtpClientsmtp =                new SmtpClient( "smtp.me.com", 25 ); smtp.Send( message ); }
シリアライズDataClass data;FileStream stream = newFileStream("data.xml",FileMode.Create,FileAccess.Write );XmlSerializer s =newXmlSerializer( typeof( DataClass ) );s.Serialize( stream, data );stream.Close();
フォーマッティングint all = 10;int count = 3;String.Format("{0}回中の{1}回", all, count);String.Format("{1} times in {0}", all, count);
正規表現Regexregex = newRegex( "\d\d\d-\d\d\d\d" );Match match = regex.Match( "915-0092 福井県越前市" );if ( match.Success ){Console.WriteLine(match.Groups[0].Value);}
ガベージコレクションタイプセーフ静的バインディングetc
むやみにデザパタとかも適用したくなる
iPhoneSDKのバージョンアップに迅速に追従
このへんで20分経過の予定だが
ちなみに、
MonoTouchPersonal Edition
$399(1年間のアップデート)
\33,750
相変わらずの
円高\(^o^)/
追加投資だけど、
最大の武器は
開発スピード
おまえが1コのアプリを一生懸命作っている間に、おれはふたつリリースしてやるッ!
元は取れます!
太鼓持ちばっかりじゃ能がないだろう
MonoTouchのネガな部分を少しだけ...
アプリサイズがちょっと大きい
空アプリで約4.7MB
3G回線でDLできるサイズの上限を緩和(2010年2月)
CPU・メモリといったリソースを多めに消費
実用上十分なパフォーマンスを発揮
MonoDevelopに文字化け
最初の設定で対処可能
MonoDevelopで日本語入力不可
orzorz
バージョンアップに期待
MonoTouchのいま
MonoTouchのリリース以降、Mono FrameworkとMonoDevelopのアップデートが盛んらしい
MonoDroid beta1 out
MonoTouchに死角なし
しかし!
Apr. 8th, 2010
Applications may only use Documented APIs in themanner prescribed by Apple and must not use orcall any private APIs. Applications must be originallywritten in Objective-C, C, C++, or JavaScript asexecuted by the iPhone OS WebKitengine,and only code written in C, C++, and Objective-Cmay compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIsthrough an intermediary translation orcompatibility layer or tool are prohibited).- iOS SDK Agreenment
Applications may only use Documented APIs in themanner prescribed by Apple and must not use orcall any private APIs. Applications must be originallywritten in Objective-C, C, C++, or JavaScript asexecuted by the iPhone OS WebKitengine,and only code written in C, C++, and Objective-Cmay compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIsthrough an intermediary translation orcompatibility layer or tool are prohibited).- iOS SDK Agreenment
Flash潰しのとばっちりだろうJK
ギギギ
公式リリース
意訳
でもMonoTouchは生きてるよ!
中西 孝之@アイジュピタhIDDEN_xv (なかにし)iPhoneアプリ     ウィンドチャイム     cornering force!i花火iPadアプリけいさんカード(予)
中西 孝之@アイジュピタhIDDEN_xv (なかにし)iPhoneアプリ     ウィンドチャイム     cornering force!i花火iPadアプリけいさんカード(予)
中西 孝之@アイジュピタhIDDEN_xv (なかにし)iPhoneアプリ     ウィンドチャイム     cornering force!i花火iPadアプリけいさんカード(予)
中西 孝之@アイジュピタhIDDEN_xv (なかにし)iPhoneアプリ     ウィンドチャイム     cornering force!i花火iPadアプリけいさんカード(予)
3月cornering force!ロジックの実装完了
3月cornering force!ロジックの実装完了4月Apr. 8th, 2010魔の規約変更
3月cornering force!ロジックの実装完了4月Apr. 8th, 2010魔の規約変更5月cornering force! 開発完了Ready for Sale!
3月cornering force!ロジックの実装完了4月Apr. 8th, 2010魔の規約変更5月cornering force! 開発完了Ready for Sale!規約をAgree
3月cornering force!ロジックの実装完了4月Apr. 8th, 2010魔の規約変更5月cornering force! 開発完了Ready for Sale!規約をAgree6月iPhone4発売iOS4 Agreenment発効
3月cornering force!ロジックの実装完了4月Apr. 8th, 2010魔の規約変更5月cornering force! 開発完了Ready for Sale!規約をAgree6月iPhone4発売iOS4 Agreenment発効7月i花火 開発完了Ready for Sale!
3月cornering force!ロジックの実装完了4月Apr. 8th, 2010魔の規約変更5月cornering force! 開発完了Ready for Sale!規約をAgree6月iPhone4発売iOS4 Agreenment発効7月i花火 開発完了Ready for Sale!アプリのアップロードAppLoaderに限定8月
3月cornering force!ロジックの実装完了4月Apr. 8th, 2010魔の規約変更5月cornering force! 開発完了Ready for Sale!規約をAgree6月iPhone4発売iOS4 Agreenment発効7月i花火 開発完了Ready for Sale!アプリのアップロードAppLoaderに限定8月i花火 1.1 アップデートReady for Sale!
MonoTouchは生きてるよ!
しかしこれを頼むと次からAppleにマークされるという危険も伴う、諸刃の剣。 顧客にはお薦め出来ない。
それでもMonoTouchは生きてるよ!
UnityとかPhoneGapとかTitaniumとか
Enterprise配布ならゴニョゴニョとか
戦いはまだまだ続くとか
Professional iPhone Programmingwith MonoTouch and .NET/C#(Wrox Programmer to Programmer)
おまけ
iPhone界隈でのAR
ちょっとノウハウを貯めつつあるので、ARの話をすこしだけ
AR:拡張現実感主に、カメラで撮影している映像に情報をオーバーレイさせる
マーカーなどを画像認識して、AR合成をするタイプの話です
ARToolKit現在のARの定番2次元バーコードのようなマーカーリアルタイムに向く情報量・処理コストラブプラスiIKEAもう枯れた技術
Haar検出@OpenCV画像検出お手本画像から、最初に学習顔認識など検出時間がちょっとかかるメモリはそれほど消費しないうまく学習データを作るのが難しい
Fern特徴点検出@OpenCV画像検出お手本画像から、最初に学習特徴点を検出してマッピング検出が早い1フレーム100ms未満メモリ馬鹿喰い改良版を実装の予定
PTAM:マーカーレスAR次世代ARの大本命リアルタイムに、映像から特徴を抽出3D的に空間認識を行う平面や壁の認識youtubeのデモは必見
ご清聴ありがとうございました
ご清聴ありがとうございましたご清聴ありがとうございました

嗚呼、素晴らしき哉 MonoTouch