EY-Officeで制作した過去のアプリシリーズ第三弾は 読み聞かせ絵本アプリ です。
iPhone/iPad用 絵本アプリです。
読み聞かせ絵本アプリの機能
リリースされた2010年当時はまだスマフォの電子書籍アプリは始まったばかりの時代でした。この 読み聞かせ絵本アプリ はユニークなものだったと思います。
- 絵本の表示
- ページをめくると、声優さんの読み上げ聞ける
- 親が自分の声で、その絵本を読んで録音する
などの機能を持っていました。利用される状況としては、移動中や親が忙しい時に、小さいお子さんに絵本を読みか聞かせる事を想定して作りました。そのような状況では、お母さんなどの聞き慣れた声で読み聞かせると子供も安心するのではという考えで録音機能を追加しました。
当時は、まだアプリ内課金は始まっておらず、絵本毎にアプリを作り、2アプリがリリースされました。しかし売り上げは芳しくなく、そのまま終了してしまいました。
なぜiPhoneアプリ開発を始めたのか
EY-Officeを始めてからずっとWebアプリを作って来ました、2000年代はITバブル崩壊などありましたが、世の中は着実にインターネット化が進み開発の仕事はずっとありました。しかし2009年リーマンショックの後、仕事が途絶えてしまうことがありました。
その頃、私はiPhone3GSを使っていました、また2007年から開発マシンは Mac を使っていました。そう、iPhome も Mac も有るんだから iPhoneアプリでも作ってみよう!とiPhoneアプリ開発の本を2冊買って勉強しました。そして、地図(GPS)とiPhone API を組み合わせた Tweet Now というアプリを作り無料でリリースしました。
それから少しして、知り合いの知り合いから 読み聞かせ絵本アプリ 開発の話が来ました。
2010年当時のiOSアプリ開発
その当時のiOSアプリ開発は現在とは大きく違いました。まずは Objective-C !! 現在の Swift は近代的なプログラム言語ですが Objective-C は C言語の上に、無理矢理 Smalltalk 由来のオブジェクト指向を乗せた言語です。
C言語にオブジェクト指向を導入した言語としては C++ が有名です、C++ はC言語との互換性を考えながらもオブジェクト指向を上手く融合しています。それに対しObjective-C は木に竹を接いだような不思議な言語でした。
ただし、Ruby言語を使っていた私には Smalltalk 由来のオブジェクト指向に慣れ親しんでいたので、Objective-C は直ぐに理解出来ました。もちろん昔、C言語は使っていたのも大きな理由です。
しかし、苦労した点はあります、メモリー管理です。 Objective-Cはメモリーの割り付け・解放をプログラマーが行わないといけません。 Objective-Cのオブジェクトはメモリー管理のためにリファレンスカウンターを持っているので、C言語の alloc / free よりは楽でしたが、やはり管理を間違うとメモリーがリークしたり、解放したオブジェクトを参照して segmentation fault でアプリが落ちたりしていました。
ただし、iOS5で ARC(Automatic Reference Counting)がサポートされるとメモリー管理が格段に楽になったのを記憶しています。