Amazon Campaign

2013年7月24日水曜日

Java屋が日曜プログラミングでiPhoneアプリを開発してわかったこと

ネイティブに使える言語はJavaだけのボクがiPhoneアプリを開発してみてわかったこと。

開発にはお金が掛かる

開発にはお金が掛かります。皆さんご存知の通り Appleの開発者登録 "Apple Developer Program" への登録に年間 8,400円(2013年7月現在)、それに加えて開発環境であるIDEの "Xcode" は最新版でないとAppleへのアプリの申請が行えません。
"Xcode" 自体は無料ですが、最新バージョンを動かすためには基本 MacOS も最新版である必要があるので OS のバージョンアップ費用が掛かります。
さらには最新版の OS を使うためにはあまりに古い Mac では辛くなるので比較的早いサイクルでの Mac の買い替えが必要になります。

開発は短く

ボクの物覚えの悪さも手伝ってダラダラと開発してしまい結局開発を始めて1年以上掛かってリリースにこぎ着けたのですが、その間に利用している EvernoteAPI が 認証方式を OAuth に対応させたため大きくバージョンアップしました。その影響で大きなブログラムの改変を余儀なくされました。

また、アプリにおける UDID (端末識別ID)の扱いについての Apple の審査基準が変更になり、それまでアプリ広告で利用されていたものが利用できなくなってしまいました。
そのため導入していた広告用 SDK もバージョンアップが必要となり新たに組み込み作業が必要となりました。

さらには Xcode もバージョンアップし、それまで UI を実装するためのツールだった InterfaceBuilder が Xcode に統合されるなどし、インターフェースが大きく変更されたために慣れるのに手こずりました。

その他にもアプリによっては iOS のバージョンアップが影響します。
こういったアプリに関連するライブラリや開発ツールのバージョンアップが頻繁に発生するため、開発期間が長くなればなるほど本質ではない部分で余計な作業が発生してしまいます。開発期間は短くした方が効率的です。

やっぱりメモリ管理は意識が必要

Java のメモリ管理はガーベージコレクションがやってくれますが、iOS での Objective-C はやってくれません。キチンと意識して実装していなかったボクは当然のことながらデバッグ時にクラッシュ頻発で苦労させられました。
初めてアプリ開発を行う際は Objective-C の参照カウント方式のメモリ管理をキチンと勉強してから実装しましょう。

MacBookAir2010でも開発できる

当然ですが "MacBook Air" でも開発できます。しかもボクのは 2010 モデル、最低スペックのメモリ 2G です。
パフォーマンスについては開発したアプリがシンプルだったということもありますが実端末向けに最適化ビルドする際に多少時間が掛かる以外は特にストレスはありませんでした。

また、ディスプレイの解像度については MacBookAir は特に縦の解像度が 900pixel しかないので Retina の場合は iPhone4 (960pixel)でも足りません。ですが、エミュレータの設定で表示倍率を指定できるので精細な表示確認を必要としない限りは問題ありません。

表示倍率を 50% にすれば iPhone5 での表示でも収まります。

やっぱり楽しい

日曜プログラムで開発するには色々と手間やコストが掛かりますが、リリースできれば、たとえ使ってくれるユーザが少なくても自分で好きなように作ったアプリを使ってもらえるのは楽しいです。当然、アプリを育てて多くのユーザに使ってもらえるようになれば収入になるという野望も持てますしね。

以上のような苦労をして作成した「Vocablary Cards」をぜひ使ってみてください。
Evernote上のノートを単語帳として表示できるアプリです。
何かの勉強をテキストファイルにまとめているような方であれば、ほんの少しの手間で単語帳にすることができます。

Vocabulary Cards - Evernoteで単語帳 - Isao Tanji






1 件のコメント:

Amazon_ad