読者です 読者をやめる 読者になる 読者になる

Android学ぶ上での書籍について

Android

一年前くらいに書いた記事の書き直し。紹介している書籍の中には情報が古いものになってしまっているものもある。

現在(2016/07/16)のAndroid開発の状況も考えた上で、ちょっとしたコメントを記載した。

Libraryや設計等学ぶことが増えた印象があるので、今書籍でAndroidを学ぶことはできるのか?という疑問もあるが...。

そういった意味では最近出た「黒帯エンジニアが教えるプロの技術 Android開発の教科書」のように、実践 + トレンドが学べる書籍がもっと増えてくれると良いのかなーとかとか。

hack-it-iron.hatenablog.com

Androidを学ぶ上で読んできた書籍

読んだ書籍はブクログにまとめているので、ざっくりAndroidの書籍だと下記のようなものを読んできた。

booklog.jp

まだ読んでないものだったり、読んでいる最中のものがあるけど、その中から個人的に役に立った書籍をまとめておく。

はじめに読んだAndroid本 - 初歩からわかるAndroid最新プログラミング

Android開発をはじめて最初に読んだ書籍が「初歩からわかるAndroid最新プログラミング」だったな。

Android開発をはじめたので、約4年前くらいだった気がする。

初歩からわかるAndroid最新プログラミングは、Androidとはなにか?Activityとはなにか?みたいなことをつらつら書かれていた感じかな。

サンプルコードはほとんど動かした記憶がない。でも、基礎的なことを文字で理解するのにすごい役に立った。

入門書的なものは、これしか読んだことがないなー。うん、入門書の紹介は私には難しいかもしれない・・・。

TechBoosterはいいぞ

読み物としてTechBoosterのAndroid本はとてもいい!

実際に日々最前線で開発しているエンジニア達が書いているので、新しい技術からTips的なテクニックまで幅広く学べる。

Androidにどっぷりつかりたいのであれば読んでみるといいよ!

techbooster.booth.pm

中級者向け?と読んでよい書籍

ある程度Android知っていることが前提で書かれていて、発展的な内容が書いてある書籍。

入門書やある程度Android開発に慣れてきた人は、読んでみるといいと思う。

良いAndroidアプリを作る139の鉄則

良いAndroidアプリを作る139の鉄則

Effective Android

Effective Android

  • 作者: TechBooster,小太刀御禄,出村成和,重田大助,西岡靖代,宮川大輔,柏本和俊,あんざいゆき,八木俊広,木村尭海,小林慎治,有山圭二,中西良明,わかめまさひろ,新井祐一,桝井草介,久郷達也,寺園聖文,shige0501,山下智樹,前田章博,秋葉ちひろ,末広尚義,中澤慧,日高正博,塚田翔也,井形圭介,中川幸哉,山崎誠,山下武志,なまそで,橋爪香織,さとうかずのり,l_b__,ゼロハチネット,長汐祐哉
  • 出版社/メーカー: インプレスジャパン
  • 発売日: 2014/01/17
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (8件) を見る

(合本)Androidプログラミングレシピ増補改訂版

(合本)Androidプログラミングレシピ増補改訂版

黒帯エンジニアが教えるプロの技術 Android開発の教科書 (ヤフー黒帯シリーズ)

黒帯エンジニアが教えるプロの技術 Android開発の教科書 (ヤフー黒帯シリーズ)

booth.pm

Effective Android」は、かなり幅広く色んなことが書かれているので、非常に面白かった。今でもたまに気になったところを読み返したりしている。

Androidプログラミングレシピ」は、昔のやつを読んだ。新しいやつは二冊に分かれていて、範囲も広い。ちょっと内容が古いものもあったりするので、そこら辺は微妙なんですが、全体の内容はともていい。

良いAndroidアプリを作る139の鉄則」と「現場で生まれた設計パターン」は、とてもいい内容だった。まさに「中級者」向けの書籍だと思う。

実践で活躍しているエンジニアが書いているので、実務等に直接役に立つ内容になってます。

黒帯エンジニアが教えるプロの技術 Android開発の教科書」は、最近出たAndroidの書籍の中でかなりいい感じだった。基礎的なことは簡潔に書き、実践に近い形の知識が書いてある感じ。

今の開発トレンドみたいなのもなんとなくわかるのでオススメできる一冊。


ちなみに、WEB+DB PRESS Vol.81の「Android最新開発環境」に実践で活かせることがいっぱい書いてある。

こんな感じの内容がまとまった書籍を一冊出して欲しいです。

WEB+DB PRESS Vol.81

WEB+DB PRESS Vol.81

クックパッドのエンジニアが書いているもので、初心者の時に悩むパッケージ構成やクラス名の付け方等、すごい役に立つことが書いてある。

他にもテストやCIのことも書かれているので、興味の幅を広げるのにもいいと思う。

Master of Fragment

Master of Fragment

Master of Fragment」は、Fragmentの理解をさらに深めるためにとてもいい書籍だった。

食わず嫌いでFragmentはやらない!というのは、やっぱり無理なのでこれを読みながらFragmentを学ぶのがいいと思う。

DroidKaigiであんざいさんが、「まだβ版なんだけど、さらにFragmentで躓くところをまとめて更新したい」的なことを言っていた気がします。

期待して更新待ってます!

デザイン・UI本はこれしかないでしょ

デザイン・UI本はまあこれを読んでおくといいと思う。

これらの書籍はAndroidでデザインを組む上で、今もなお重要になる情報が詰まってるのでオススメ。

Android Pattern Cookbook マーケットで埋もれないための差別化戦略」では、Viewのカスタマイズについても触れているので、Viewのカスタマイズは苦手だなーと実感してる人は、まずはこれから読んでみるのがいいと思う。

この書籍でView周りの基礎的なことは、ほとんど学べるはず。


Smashing Android UI レスポンシブUIとデザインパターン」も今読んでるけど、面白い。

こっちは論理的にUIやデザインについて学べる感じの内容になってるかな。

Smashing Android UI レスポンシブUIとデザインパターン

Smashing Android UI レスポンシブUIとデザインパターン


あと色んなスマホアプリのUIをコンポーネントごとに解説しているオススメの書籍。アプリのジャンル別によくある画面遷移の例等も書かれていて、非常に役に立つ。

一年前のものだけど、UIデザインわからん!という人は今見ても役に立つことが多くのっていると思う。

スマートフォンのためのUIデザイン ユーザー体験に大切なルールとパターン

スマートフォンのためのUIデザイン ユーザー体験に大切なルールとパターン

セキュリティはこの書籍から

Androidのセキュリティ関連で有名なタオソフトウェア様が出している書籍

Android Security 安全なアプリケーションを作成するために

Android Security 安全なアプリケーションを作成するために

Androidのセキュリティとはなんぞや?ということを知りたいのであれば、まずはこれを読んでみることをオススメします。

書籍に書かれていないことはいっぱいあるのですが、何も知らない状態で追っかけるのは難しい。

なので、ある程度知る!という意味ではとても役に立つ内容です。


あと書籍ではないが、「Androidアプリのセキュア設計・セキュアコーディングガイド」が実践的でとても役に立つ。

そろそろセキュリティ意識しないとなーとかセキュリティわからん!という人は、絶対に読んでおいた方がよいと思います。そう、オススメとかではなく読んでおいた方がいい!です。

『Androidアプリのセキュア設計・セキュアコーディングガイド』【2016年2月1日版】を公開しました。 | JSSEC

PDF Androidアプリのセキュア設計・セキュアコーディングガイド

Android 6 / 5 などの新しいAndroidが知りたいなら

Android 6.0( marshmallow )やAndroid 5.0 ( Lolipop )などの新しいAndroidの機能や実装を知りたいなら以下を読んでみるといいと思う。

booth.pm

booth.pm

Androidは新しいOS Versionが市場に浸透するスピードがとても遅いという話があるけど、だからって新しいOSの技術を理解しなくてもいいという話ではない。

OS Versionが新しくなれば、便利な機能やセキュリティを守る機能等色々ユーザにとっても大事なことが多くあるのでチェックしておく方がいい。

内部構造とかちょっと中身の動作を知れる書籍

私が読んだ中では、この二冊かなー

Androidのなかみ InsideAndroid

Androidのなかみ InsideAndroid

Efficient Android Threading: Asynchronous Processing Techniques for Android Applications

Efficient Android Threading: Asynchronous Processing Techniques for Android Applications

InsideAndroid」は、とても面白い内容になっている。内部構造とか興味ないわーという人にはオススメしないけど。

私のように、Androidの内部構造とかsourcecodeを読むのが好きな人にはとてもオススメできる一冊。

Efficient Android Threading」は、これをAndroid始めた頃に読みたかったくらい素晴らしい内容だった。

Android内部のThreadに関することが、細かくまとめられているので今読んでも参考になることばかりでした。

JavaのThread本を読んでると、さらに理解が深まる一冊。

Android仮想マシン Dalvik編

Androidの仮想マシン Dalvik編

Android仮想マシン Dalvik編は最近内容が更新されました。

更新される前に少しだけ読んでみましたが、ここまで内部の話になるとまあ面白いかどうかはその人次第かと(笑)

私はこーゆーのも好きなのでコードと合わせて読んでいこうかと思ってます。

テストの書籍

Androidのテスト周りはここ数年でEspressoやAndroid Testing Support Libraryの登場で大きく変わっている。

さらにAndroid NからはActivityInstrumentationTestCase2やActivityTestCaseなどのSKDに含まれている多くのTest系クラスがdeprecatedになる。

なので、今のAndroid Testに関する書籍でいいものはまだ出てない気もする。

Android Testing Support Libraryが出る前のAndroidの関してのテストについては、この一冊で良かった。

Androidアプリ テスト技法

Androidアプリ テスト技法

Androidのテスト周りは、移り変わりや動きが早い印象がある。

なので、書籍をガッツリ読むよりも、色んなサイトでどんなテストツールがあるのか、定期的にチェックしていく方がいいと思う。

テストコードを書く上でJunitの知識は絶対に必要になるので、Junit実践入門は読んでおくと役に立つ。

AndroidでもJunit4が使えるようになったし、Androidだけの知識だけではないので、この本はとてもオススメ。

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

洋書で面白そうな書籍

Exploring SE for Android

Exploring SE for Android

Android 5: Programmieren für Smartphones und Tablets (German Edition)

Android 5: Programmieren für Smartphones und Tablets (German Edition)

Android SQLite Essentials

Android SQLite Essentials

Android SQLite Essentials」は、自分のSQLiteの知識を深めるために読んでみようと思って買った一冊。

Android SQLite Essentials」読んでみたけど、基礎的なことが中心のものだった。

Exploring SE for Android」は、概要を見るところAndroidSELinux周りの話が書いてあるのだと思います。

どっちも面白そうだから、洋書読むの慣れてきたら読んでみる。

SDK本は私には合わなかった・・・

年に一度OSのメジャーアップデートが行われ、SDKの中身も変わる速度が早くなっていると思ってる。

なので、SDKAPIをつらつらと紹介するだけの書籍は役に立たないと思ってる。

公式ドキュメントを読まないと書いてないこともあるので、やっぱり公式ドキュメントや実際にコードを読む方がいい。

ということで、以下の本はあんまり役に立たなかったし、あとになって読み返すこともなかった本。

しかし、どの本からでも学んだことはあるので感謝してます。

改訂2版 Android SDK逆引きハンドブック

改訂2版 Android SDK逆引きハンドブック

AndroidSDK開発のレシピ第2版

AndroidSDK開発のレシピ第2版

SDKのまとめみたいな本は、ものによってはすごい分厚くて持ち運ぶこともできなかった。

あと、開発になれてくると基本的なSDKの使い方は覚えてくるため、この手のSDK本はあまり見なくなる。

それに今はQiitaやネットでSDKの使い方は調べればだいたいわかってしまう。

でも、読む必要がないということはないと思う。

開発をはじめたばかりだと、「どんなSDKがあるのかな?」「どんなWidgetがあるのかな?」みたいな疑問ばかりあるので、そんな時にはSDK本をパラパラ程度に見ておくといいと思う。

そこから単語だけ覚えて、必要な時に検索して、それについて使い方を覚えていく足がかりになる。

おわりに

Androidエンジニアは、Android関連の書籍を平均でどれくらい読んでいるのだろう?

入門書をほとんど読んだことないから、オススメの入門書知りたい!

てか、いまだにSQLiteをガッツリしっかり解説してる書籍がないことを残念に思う...。