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

嗚呼、素晴らしき哉 MonoTouch

3,448 views
3,400 views

Published on

2010年9月3日、福井高専で行われた「iPhoneアプリ開発勉強会」での資料です。

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,448
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

嗚呼、素晴らしき哉 MonoTouch

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

×