嗚呼、素晴らしき哉 monotouch

Post on 18-Nov-2014

3.803 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

嗚呼、素晴らしき哉

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

MonoTouch

MonoDevelop

Mono Framework

Mono プロジェクト

C# 3.0

.NET Framework 3.5

iPhoneSDKライブラリ

.NET Framework

ライブラリ

最大の武器は

開発スピード

ここでみなさんにデモをお見せしろ

デモ

ヘッダファイルとかマジ F○○kされちまえばいいのにな!

おすすめポイント

.NET のクラスライブラリ

System.Collections.Generics.*System.Linq.*System.Runtime.Serialization.*System.Net.*System.Xml.*System.Drawing.*System.MathSystem.StringSystem.Console ...

class GameResult{ public int Score; public DateTime Date;}

var results = from r in GameResult.All where r.Score > 10000 orderby r.Date descending select r;

Linq

using ( MailMessage message = new MailMessage() ) { 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" ) ); SmtpClient smtp = new SmtpClient( "smtp.me.com", 25 ); smtp.Send( message ); }

SMTP

シリアライズDataClass data;

FileStream stream = new FileStream( "data.xml", FileMode.Create, FileAccess.Write );XmlSerializer s = new XmlSerializer( 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);

正規表現Regex regex = new Regex( "\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 で日本語入力不可

orz

orz

バージョンアップに期待

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 WebKit engine,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 WebKit engine,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 アプリ けいさんカード ( 予 )

cornering force!ロジックの実装完了

3 月

cornering force!ロジックの実装完了

Apr. 8th, 2010魔の規約変更

3 月4 月

cornering force!ロジックの実装完了

Apr. 8th, 2010魔の規約変更

cornering force! 開発完了Ready for Sale!

3 月4 月

5 月

cornering force!ロジックの実装完了

Apr. 8th, 2010魔の規約変更

cornering force! 開発完了Ready for Sale!

規約を Agree

3 月

5 月

4 月

cornering force!ロジックの実装完了

Apr. 8th, 2010魔の規約変更

cornering force! 開発完了Ready for Sale!

規約を Agree

iPhone4 発売iOS4 Agreenment 発効

3 月

5 月

6 月

4 月

cornering force!ロジックの実装完了

Apr. 8th, 2010魔の規約変更

cornering force! 開発完了Ready for Sale!

規約を Agree

iPhone4 発売iOS4 Agreenment 発効

i 花火 開発完了Ready for Sale!

3 月

5 月

7 月6 月

4 月

cornering force!ロジックの実装完了

Apr. 8th, 2010魔の規約変更

cornering force! 開発完了Ready for Sale!

規約を Agree

iPhone4 発売iOS4 Agreenment 発効

i 花火 開発完了Ready for Sale!

アプリのアップロードAppLoader に限定

3 月

5 月

7 月

8 月

6 月

4 月

cornering force!ロジックの実装完了

Apr. 8th, 2010魔の規約変更

cornering force! 開発完了Ready for Sale!

規約を Agree

iPhone4 発売iOS4 Agreenment 発効

i 花火 開発完了Ready for Sale!

アプリのアップロードAppLoader に限定

i 花火 1.1 アップデート

Ready for Sale!

3 月

5 月

7 月

8 月

6 月

4 月

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 次元バーコードのようなマーカー リアルタイムに向く情報量・処理コスト ラブプラス i IKEA もう枯れた技術

Haar検出@OpenCV

画像検出 お手本画像から、最初に学習 顔認識など 検出時間がちょっとかかる メモリはそれほど消費しない うまく学習データを作るのが難しい

Fern特徴点検出@OpenCV 画像検出 お手本画像から、最初に学習 特徴点を検出してマッピング 検出が早い

1 フレーム 100ms未満 メモリ馬鹿喰い 改良版を実装の予定

PTAM:マーカーレス AR

次世代 AR の大本命 リアルタイムに、映像から特徴を抽出 3D 的に空間認識を行う 平面や壁の認識 youtube のデモは必見

ご清聴ありがとうございました

ご清聴ありがとうございました

ご清聴ありがとうございました

top related