仕事、副業、趣味などでAndroid開発を試みたい方に向けて、Android開発の基礎とkotlinを学ぶのにおすすめの書籍を紹介します。現在Androidの主要開発言語はJavaですが、kotlinの存在感も増しています。そのため特にこれからAndroid開発を始めるのであれば、ぜひkotlinも試してみることをおすすめします。
Javaメインに学習を進めつつも、余裕が出てきたらkotlinも取り入れていくイメージです。すでにJavaやAndroid開発の経験がある方は、ぜひ積極的にkotlinを取り入れてみることをおすすめします。
iOSの経験がある方はSwiftと類似している部分も多く、逆に言えばkotlinの学習をしておけばiOS開発をやるときのSwiftに役立ちます。またスマホアプリの開発は特に進化が早いので、書籍はなるべく最新版を使用するようにしてください。
今回紹介する書籍も随時最新版が出版される可能性があるので、もし最終版があればそちらを選ぶようお願い致します。ただしすべての情報が更新されるわけではないので、書籍がバージョンアップされるたび改めて買いなおす必要はありません。
プログラミング未経験者にもおすすめの書籍
プログラミング経験がない、もしくはほとんどないけれどいきなりAndroidアプリを開発してみたいといった方もいるでしょう。実践を踏まえつつ同時に基礎を学ぶことも十分可能なので、そのための書籍を紹介します。
①たった1日で基本が身に付く! Androidアプリ開発超入門
Android入門書の中でも特に易しく解説された一冊です。Android studioはもちろん、プログラミング自体に触れたことのない方にもおすすめできます。ちなみに言語はJavaです。初心者でもハードルを下げて学習できる内容ですが、もちろんこれだけでAndroidアプリ開発に十分なスキルが身に付くわけではありません。
あくまでも入門レベルになります。入門レベルをクリアすればあとは軌道に乗ってくるので、ここからどんどんスキルアップしていくと良いでしょう。最初の一歩を楽しく学ぶという意味で、非常におすすめの書籍です。
Java経験のある方におすすめの書籍
次にJava経験のある方におすすめの書籍を紹介します。Java経験があると言っても基礎ができていれば問題なくて、Androidの学習を始めてJavaの知識が足りないと感じたら再度Javaの勉強をすれば問題ありません。
②イラストでよくわかるAndroidアプリのつくり方
Androidのアプリ開発をイラストでわかりやすく解説した書籍です。一応プログラミング未経験者にも対応していますが、Javaの基礎知識があった方が理解しやすいかと思います。内容としては、練習でスロットマシーンを作ってみる内容になっています。
kotlin未経験者におすすめの書籍
次にkotlinを学習するのにおすすめの書籍を紹介します。kotlinはJavaの代替言語として開発されましたが、現状はAndroidアプリ中心に使用されています。そのため市販されているkotlinの書籍のほとんどはAndroidアプリの開発が前提です。
③Kotlinスタートブック
kotlinを初めて学習する方におすすめの書籍です。最初のプログラミング言語にkotlinを選ぶ方は少数派かもしれませんが、こちらの書籍はプログラミング経験自体はお持ちの方向けになります。
Android開発の経験がなくても問題ありませんが、少なくともJavaの経験があった方が良いです。Javaの経験がある、Javaで少しだけAndroid studioを触ってみたことがある、といった方にはぴったりです。
④はじめてのKotlinプログラミング
kotlinの言語仕様について詳しく解説されている書籍です。Androidのアプリ開発についても説明されていますが、あくまでもkotlinの話がメインです。Android開発経験の有無は問われませんが、いずれにしてもkotlinという言語に特化して学習したい方におすすめの書籍になります。
⑤作って楽しむプログラミング Androidアプリ超入門
kotlinを使って、実践的にAndroidアプリを作りながら学習を進められる書籍です。以前のバージョンでは言語がJavaでしたが、改定されて言語がkotlinになりました。Javaからkotlinに変わっていることからもわかる通り、プログラミング言語をあくまでも開発のためのツールとして捉えている点が特徴です。
とにかく手を動かして作って楽しむことを何よりも大切にしていて、楽しみながら継続していればスキルは勝手に身に付いてくるというスタンスです。プログラミング言語の表面的なコードを追いかけることよりも、大切なことを学べます。
よくわからなくても手を動かしながら試してみるのがおすすめ
プログラミングの学習方法は人それぞれで、たとえばインプットとアウトプットのバランス、やり方もまちまちです。まずは基礎を徹底し、テキストに書かれているコードを実際に書いてみながら学習を進める方も多いです。
詰め込み教育に近い方法ですが、個人的にはこの勉強方法はあまり好きではありません。たしかに基礎は身に付くのですがあまり面白くなく、意外と時間がかかったりします。私は最低限の基礎だけ学んだら、後はひたすら実戦形式でやっていくのが楽しくてなおかつ上達も速いのではないかと考えています。
失敗することも多いため一見すると遠回りにも見える方法ですが、失敗して見直すことで定着しやすく、またより実践的な知識が身に付きます。プログラミングは結局実践で使えることが重要なので、極端に言えばテキストベースで詰め込んだ知識が必ずしも自分のやりたい開発に使えるわけでもありません。
また実際に作った方が楽しいので、たしかに基礎を徹底することも大切かもしれませんが、とりあえずやってみる、手を動かしてみる、というスタンスがおすすめです。バグで詰まったり変なシステムができ上がったりしますが、その失敗が次に活かされ、失敗することでのみできる成長もあります。
ちなみにiOS開発におすすめの書籍は以下の記事で紹介しています。