最近Androidアプリの開発も始めたいな〜と感じています。

Android
https://www.google.co.jp/intl/ja/mobile/android/より

僕は自他共に認めるApple信者で、iOS開発者で、アンチAndroidだったのですが、最近どうしてもやってみたくなってきました。

エンジニアになってから考え方が変わったという部分もあるのかもしれませんが、なぜ始めようと思ったのか確認してから、何を勉強するかについてまとめようと思います。

Androidに対するイメージの変化

僕が一番最初に見たAndroidはXperia X10(日本ではSO-01B)で、量販店で触った時に「これはねぇな。」と思ったのを覚えています。確かiPhoneを買いたかったけど、なぜかドコモからキャリアを変えられない時でした(なぜだったかは覚えていません)。

その後SoftBankのiPhoneを買って、2回線保有していた時期があったのですがドコモ回線でGalaxy S2を使用していました。この時にはもうiPhoneをかなり使っていてAndroidは持っていてもまっっっっったく使っていませんでした。僕の中では「使い心地が悪いから使わないんだな」という結論になりドコモ回線ごとおさらばしてしまいました。

そんな僕なのでAndroid開発にも全く興味が湧きませんでした。「なぜ作ろうと思うのか全くわからない」という感じです。

ところが今年2つの出来事があり、Androidにグッと引き込まれつつあります。

まず今年のGoogle IOで発表されたマテリアルデザインがすっごく良かったこと。

開発者目線、あとデザイン面で純粋に作ってみたいと思いました。

それからもう一つ、今の会社のAndroidチームが作っているアプリがすごくイイからです(アプリの詳細については伏せます)。それはAndroidチームのエンジニアが優秀であるからと個人的に思っていて、なおかつ彼らはiOS開発もできる、という点にすごく刺激されているところもあります。

そんな感じで今年1年でAndroidに対するイメージがかなり変わりました。

何を勉強するか

まず僕のスペックの整理ですが、エンジニア歴半年、Objective-Cは勉強を始めてから4年、それ以外だとPythonとかVBを軽く触っていたくらいです。すごく低スペックですね。

とりあえずiOSで学んできたことは役に立つと(勝手に)思っていて、知識や経験の応用はできるかなと思っています。

基本的なAPIとか画面のライフサイクルを把握するとか、プラットフォーム周りの知識は知っているか知っていないかなので、分からなくてもきっと調べればなんとかなるだろうと思っています。

なにはともあれ作ってみようということで、先日出たばかりのこちらの本を買ってみました。

Android Studioではじめる 簡単Androidアプリ開発
有山 圭二
技術評論社
売り上げランキング: 2,172

IDEとしてAndroid Studioを選んでいる点と、Web APIたたいて天気予報アプリを作ろうという章がある点、あと「新しい」のでこの本にしました。

この本をベースに進めたいと思います。

あとぶっちゃけた話、Java書いたことないんですよ。でもなんとかなると思っています。いろいろ検索すれば。

体系的に学ぶ必要があると感じた場合は、この本を読もうと思っています。

スッキリわかるJava入門 第2版
中山 清喬 国本 大悟
インプレス
売り上げランキング: 1,044

ざっくり読んでみた中で一番良かったので困ったらこれを読もうと思います。

あとはMaterial Designを読み込みます。iOSとAndroidではUIパーツの名前とか役割もかなり違うのでそこの違いをはっきりと説明できるレベルにしておかないとおかしなUIになってしまいそうなので、ちゃんと読みます。

あとはドットインストールを使って動画学習をしてみようと思います。

まとめ

大きく分けると、プラットフォームの知識、プログラミング言語の知識、デザインの知識という感じです。

iOSに当てはめてみるとUIKitに関する知識、Objective-Cの知識、Human Interface Guidelinesの知識に当てはまると思います。

このはっきりとした境界線が分かっているのでなんとかなりそうな気になっています。ただ要求される知識の幅とかiOSでは比較的少ない機種依存の問題があるので決して簡単だとは思っていません。

ひとまずApple Watchも出ますし本業のiOSもあるのでAndroidの勉強はゆっくり進めようと思います。