iPad 開発セミナー ~電子書籍アプリケーションを作る~ 参加メモ

MacやiPhone/iPadアプリの開発者が多く集まるmosa で、6/24に
電子書籍アプリケーションを作る開発者向けのセミナーが開催されました。
開発者として、現時点でどこまでできるのか気になったので、参加してきました。
iBooks ではなく、専用アプリとして電子書籍を作るには、
プログラム側ではどう実装するか?という内容で、技術者向けのセミナーでした。

http://www.mosa.gr.jp/?p=3395
【中級】iPad開発セミナー~電子書籍アプリケーションを作る~
MOSAでは、iPad向けアプリ開発をお考えの方を対象に、
電子書籍アプリのプログラミング方法を解説する中級セミナーを開催いたします。

以下は私の気になった点を中心にした参加メモです。

【アジェンダ】
・概要
・CoreTextによるページネーション。文字サイズとリフロー。
・UIScrollViewによるページめくり。三面鏡。
・OpenGLによるページめくり。iBooksみたいなめくり方にしたい!
・コンテンツ管理、セキュリティ。COmmonCryptライブラリとNSDataの新しいメソッド
・ストア。InAppPurchase

それぞれサンプルコードあり。

【概要】
・標準フォーマット vs 独自フォーマット
・作者の思い通りに何でもできる。動画、インタラクティブ、iPadで出来る事なら何でも。
・将来も動作するという安心感を与えるべき(OSやハードウェアのバージョンアップに対応できるのか、などはあらかじめ検討しておく)

・電子書籍アプリの3大機能は、(1)ビューア、(2)コンテンツ管理(含セキュリティ)、(3)ストア(課金)

【CoreTextによるページネーション】
(1)タグ付きファイルから、NSXMLParserでテキストを取り出す
(2)NSAttributedStringオブジェクトで、フォントや行間や左寄せや単語で改行を指定する
(3)CTFrameで領域を決める
(4)領域内に表示する文字の範囲を得る
(5)DrawRect, (CTDrawRect?)で文字を描画する

(Q&Aより)
・禁則処理はデフォルトでサポートしているが、カスタマイズはできないようだ。
・ルビは自前で一行ずつ描画する。ルビ、本文、ルビ、本文、、、
・縦書きは、仕組みはあるが実用的ではない。
・・縦書き用のグリフに変換(カッコやアラビア数字など)
・・点の位置がおかしくなる(?)ので、範囲選択しようとするとおかしくなる。
・CoreGraphicsを使って、自分で描画エンジンを作るという方法もある。

【OpenGLによるページめくり】
・あるとないとでは、アプリの完成度が全く違う。
・UIViewAnimationTransitionCurlUpもあるが、細かい制御ができない
・CALayerでアフィン(線系)変換して積み重ねてもいいが、細かい部分が美しくできない。
・そこで、OpenGLで、描画領域全体を1つの画像にして、OpenGLのテクスチャとして扱い、ポリゴンとして(変形して見えるように)描画する。
・めくれて見える変換アルゴリズムは色々。3Dグラフィックの本を参照。
・ページの表面で円錐を転がす方法の解説。

【コンテンツのセキュリティ】
・ダウンロード型でも、ディスク上にキャッシュしたい。
・スクリーンショット撮影は禁止できない。
・利便性とセキュリティ強度の兼ね合い。説明してお客様と調整。

・Common Crypt ライブラリ。 /use/include/CommomCrypt AES128やRC4などメジャーな暗号をサポートしている。
・CCrypt関数に、NSDataや各パラメタを喰わせる。
・複合先のバッファは、サイズはそれほどかわらないと想定して少し多めに確保。各暗号のアルゴリズムによる。復号もいっしょ。

・NSData writeToFile:option:error: で、option: が増えた。

デモが多く、見ていて楽しかったです。
時間を作って、むかし作った写真集アプリ(サーバ配信型)をiPad対応したいなぁ。。。

You can leave a response, or trackback from your own site.

One Response to “iPad 開発セミナー ~電子書籍アプリケーションを作る~ 参加メモ”

  1. [...] This post was mentioned on Twitter by kiko, シナジー・ソフトウェア (日本). シナジー・ソフトウェア (日本) said: iPad 開発セミナー ~電子書籍アプリケーションを作る~ 参加メモ http://bit.ly/9XRNft #denshi やっぱりiBooksすごい!と分かりました [...]

Leave a Reply