2013年12月12日木曜日

【書評】 iOSアプリ開発達人のレシピ100

標準APIはもちろんオープンソースもフル活用してアプリ開発を加速させる実装レシピ集。

@shu223 さんより献本。これまた書評が大変遅くなりました(すみません。。)


アプリ開発の目標は人によって様々だが、少なくとも次の2点は共通するはず。
(1) 目的の機能の実現
(2) 機能を効率よく・短期間で実装すること

本書は (2)の効率化を最大化して、最終目標の (1)を短い時間で実現する為のレシピ=Tips/テクニック集である。レシピには標準APIの活用方法はもちろんのこと、それだけに限定されず積極的にオープンソースの活用を紹介している。前半はユーザインターフェイス、視覚効果、オーディオなどUI/UX関連が中心、後半はデバッグや開発ツールなどアプリ開発を効率化する上でのテクニックなどが掲載されている。1つ1つのレシピは簡潔で短めでやりたいことをピンポイントで解説しているので実用的。 視点を変えれば本書はiOSアプリで実現可能な表現と機能が多数掲載されているので、一種のカタログとしても使える。


目次
Chapter 1 アニメーション/演出
Chapter 2 画像処理/色処理
Chapter 3 オーディオ処理
Chapter 4 UI
Chapter 5 テキスト
Chapter 6 位置情報
Chapter 7 WEBサービス連携
Chapter 8 デバッグ
Chapter 9 開発ツール
Chapter 10 Xcode
Chapter 11 その他

このサイズの本にしては分厚くて(約370ページ)レシピ数がとにかく多い。この為、頭から読み進めるのではなくて目次から目的に合う記事を探すといった逆引き的な使い方が中心になる。問題を抱えている人はもちろん、今とりたてて問題を抱えていない場合でもひと通り目を通して自分の中にインデックスを作っておくのも悪くない。実際自分の場合、目を通してみると知らない内容もあったので「こんな事ができるのか」とか「こんな方法があるのか」とそこからの気付きも少なく無かった。


この本をおすすめする人としては ...
 ・開発を効率的に進めたい人
 ・UIの表現方法に幅を持たせたい人(将来使ってみたい表現が見つかるかも)
 ・実装方法の引き出しを増やしたい人
 ・iOSアプリの表現方法の可能性を広く浅く知っておきたい人(カタログ的利用)
など。

開発初心者で簡単なプログラムが組めるようになった人もいいかもしれない。プログラムを覚えた次のステップとして興味のあるレシピを試すとオープンソースの使い方やiOSアプリの表現力を覚えるのに役立ちそうではある。

逆に向いていない人としては ...
 ・API や Objective-C について系統だった知識を得たい人、それらを深く知りたい人(そういう本では無い)
 ・まったくの初心者(チュートリアル本ではない)
 ・基本的に自分で実装したい人(でも実装や表現のヒントにはなるかも)
 ・Tipsやオープンソースはネットの情報で十分な人
など。

この本の難点を上げてみると具体的なテクニックが中心なので応用範囲が限られること。それと旬なテクニックも多いので賞味期限が短くなりがちなこと。その為自分が抱えている課題・問題に合わなければ、本書は直接的にはあまり役に立たない可能性がある。ただ将来使う可能性のある知識を得ることでも十分メリットはあるのでそこは解釈しだいではあるが(カタログ的用途)。この点、標準APIやObjective-Cの基本を抑えてそれを応用するといった類の書籍とは性格が異なる。なお個人的にはこの本で解決した事例は今のところ無かったが、知らないことも多かったので実装知識の幅を広げる上では役に立った。

- - - -
昔は全部自前で実装するのが最高〜、という雰囲気もあった気がするけど、スピードと多様性が求められる今の時代はむしろ行き過ぎた自前主義は開発を遅らせる自己満足的な足かせでしかない(*1)。利用可能なTipsや優れたオープンソースライブラリが増えた今は積極的にそれらを活用して開発スピードを上げ、いかに素早くユーザへ届けられることの方が市場価値は相対的に高まる。あとアプリ/サービスを提供するという視点では使っている技術を誇るのではなく、ユーザに対して心地よい使いやすさや優れた機能をいかに素早く届けられるかがポイントだと思う。ユーザからの視点では基本的にプログラムやライブラリなりを誰が作ったかは関係ないわけで。また優れたユーザ体験を提供していく上で多様化し複雑化するUI/UXを個人/小グループだけで実装していくのには限界がある。そういう意味で時代に則した書籍と言える。

(*1) 自前主義を否定しているわけではなくて目的によってアプローチは基本的にケースバイケースということ。プログラミングや自前だけのモノ作りを楽しむのが目的というのもありなわけで。やっぱり時間がかかって遠回りしても自分の手でひとつひとつ作っていくのは楽しいよね。あと仕事であっても長期にわたる保守が必要な場合はオープンソースを使わずに自前実装する方が良いケースもある。あくまでもケースバイケースで。



では。

0 件のコメント:

コメントを投稿