ANDROID HACKS V.S. iOS SDK HACK

仕事柄、資料として技術書をたくさん買ってます。起業する前から技術書への投資は惜しまないようにしていたので、特に買う量が大きく増えたわけではありませんが。

その買った本の中には、オライリーから相次いで発売された AndroidiOSのHACKS本もあります。この二つは同じくHACKSという名前がついていますがかなり傾向の違う書籍となっているようです。

ANDROID HACKS

実はこの本、"HACKS"というタイトルの本なんですが、初心者もカバーする本となっています。なので、Javaはある程度わかるんだけど、Androidアプリケーションを作る勉強をしたいなって人はとりあえずこの本を買っておくというのも一つの手です。*1

この本、ページ数が550ページ超あるのですが、最初の184ページ目までは開発環境のインストールから初級アプリケーションの作成までのチュートリアルとなっています。

逆にP.439〜500はオープンソースで入手できるソースコードのビルド方法やカスタマイズ方法など、ごく普通のアプリ開発者には実はあまり必要じゃないかもしれないことが書かれています。*2

それ以外の部分は"HACKS"です。ただし、現状のAndroidの公式ドキュメントの説明が不十分でわかりにくい部分を補完する役割が大きな割合を占めているように感じます。しかし、それが今のAndroidに対する"HACKS"なのだろうと思います。

Androidは複数の機器メーカーが開発をしているため、すべての(互換性が保証された)端末で正しく動作するアプリケーションを作るためには、あまりマニアックなhackをやりすぎてしまうことは問題を引き起こすかもしれません。

しかし、将来的には次に紹介するiOS SDK HACKS並に濃い本も出てきてくれるんじゃないでしょうか。というか出てきて欲しいです。

iOS SDK HACKS

一方、最近出たこちらは初心者をばっさりと切り捨てたものとなっています。ページ数は180ページ程度とANDROID HACKSと比べると1/3程度となります。ページ数1/3以下で価格は半分以上というところに日本の書籍流通の不思議を感じてしまいます。同じ出版社さんなのに……。

すみません。ページ数が薄いからダメな本だと言っているつもりはありません。
SDKのインストールやツールの使い方などの初心者向けの内容をばっさりと切り捨てていることで、"HACKS"としての密度は濃いものとなっているのではないかと思います。

ほんの一例ですが、Objective-Cの動的な性質を利用し、Method Swizzlingでフレームワークのクラスライブラリに動的に機能を追加するようなテクニックについて説明されていたり、パフォーマンスチューニングにARMのSIMD命令を呼び出す方法を記載していたり……多少、やりすぎ感あふれてますね。私はこういうの大好きですが(笑)

すでに多数のアプリケーション開発入門書や良い本もiOS(iPhone)向けには出ているので、その隙間を狙うこの本のコンセプトは素晴らしいと思います。*3

書籍リンク

amazon:ANDROID HACKS
amazon:Google Androidプログラミング入門

amazon:iOS SDK HACKS

いずれも、今の開発に関しての周辺の状況を踏まえた上で作られた良書です。財布に余裕のある人はぜひとも買うことをオススメします。

*1:よりわかりやすい入門書としては、ASCIIさんから出ている「Google Android プログラミング入門」を勧めます。

*2:システムそのもののソースコードを読むとドキュメントでは足りない情報を入手できるので、先々必要になってきたりはするのですが。でも、それはAndroidでは一般の開発者向けのドキュメント類がまだ十分ではないということでもあります。

*3:ただし、そのまま使うとおそらく審査でリジェクトされるようなテクニックがいくつか見受けられるので、気をつけて使う必要がありそうです。