Android学ぶ上での書籍について - DroidKaigiの登壇者として、発表までの過程をつらつら書いていこうと思う #droidkaigi

追記 2015/10/11

定期更新的な感じでちょっと追記しました。

いくつか紹介している洋書のものを読んでみたので、それの感想を追記してます。

Android SQLite Essentials」は、AndroidSQLite周りについての理解が深まるかと期待していたんですが・・・ちょっと残念な結果になりました。

タイトルもEssentialsって書いてあるから、実装する上で必須なこと = 基礎的なこと?みたいな感じのことしか書いてなかった。

追記 2015/04/26

DroidKaigiお疲れ様でした。

私が発表した「Android学ぶを君へ。生き抜くためのナレッジ共有」のスライド内でこの記事を載せたところ、多くの人に見ていただけているようなので少し内容を更新しました。

少し書籍を追加してます。

記載し忘れてまして、その著者の方達が色んなセッションで話しててとても面白かったです。

まだ私が読めてませんが、洋書で面白そうな書籍も追加してます。

あと、「Efficient Android Threading」が読み終わったので感想を軽く書きました。

DroidKaigiやりますよ!(お決まり)

DroidKaigiは、AndroidDeveloper向けのカンファレンスです。

イベントサイトも公開されました。

2015/03/25(水)から募集が始まるようです。

droidkaigi.connpass.com

私は、「Andorid学ぶ君へ。生き抜くためのナレッジ共有」というテーマで登壇させていただきます。

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

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

booklog.jp

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

発表資料にもココらへんの話は載せる予定で、もう少しつっこんだ話も加えていこうかと。

とりあえずは色々書いてみて、資料に落としこむ際にもっとしっかりした内容にしたい。

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

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

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

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

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

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

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

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

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

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

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

Effective Android

Effective Android

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

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

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

現場で生まれた設計パターン

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

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

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

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


ちなみに、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 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アプリのセキュア設計・セキュアコーディングガイド』【2015年6月1日版】を公開しました。 | JSSEC

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

Android 5.0 ( Lolipop )なら甘味アンドロイドパーク

去年のコミケで販売された「甘味アンドロイドパーク

甘味アンドロイドパーク

さっくりAndroid 5.0について知りたいならこれがオススメです。

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

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

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の関してのテストについては、この一冊でいいのかなーと思う。

Androidアプリテスト技法

Androidアプリテスト技法

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

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

いまだに最善のテスト手法やツール・Frameworkが私の中でもまとまっていない。

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

Androidだけの知識だけではないので、この本はとてもオススメ。

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

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

洋書で面白そうな書籍

無料!!

洋書でKindle版なら無料の書籍

Android on x86: An Introduction to Optimizing for Intel Architecture

Android on x86: An Introduction to Optimizing for Intel Architecture

GUI Design for Android Apps

GUI Design for Android Apps

Android Application Development for the Intel Platform

Android Application Development for the Intel Platform

どれも興味深いので近々読んでみる。

GUI Design for Android Apps」は、内容的にちょっと古いし、特にデザインに特化した感じでもなかった。

有料

こっちKindle版で有料の書籍

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の知識を深めるために読んでみようと思って買った一冊。

SQLiteの奥が深いので、しっかり理解して使うと非常に面白い。

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

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

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

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

正直に書くと、以下の本は私にはあんまり役に立たなかったし、あとになって読み返すこともなかった本。

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

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

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

Android SDK開発のレシピ

Android SDK開発のレシピ

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

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

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

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

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

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

おわりに

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

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

あと、SQLiteをガッツリしっかり解説してる書籍作ろう。ものによっては、マジでダメダメだから困ってしまう。