2016年はAndroidにチャレンジ!これから始めるAndroid開発ファーストステップ

この記事はエウレカ Advent Calender 2015 23日目の記事です。


みなさん、はじめまして!
Pairs事業部 Androidエンジニアの久木野です。
エウレカに入社して本格的にAndroidアプリの開発を始め、今月でちょうど開発者歴1年半になります。
来年2月に開催されるDroidKaigi 2016へ応募したCFPが採択され、講演させていただくことになりました。当日ご参加される皆様、よろしくお願いいたします。

 

 さて、弊社では全エンジニアの ハイブリッド・エンジニア化 を進めています。
ハイブリッド・エンジニアとは、Server-Side + Web-Front-End + Native-App(iOS/Android) の開発ができるエンジニアを指し、1機能を1人で開発できる体制を作ることで、開発効率の向上を目的としています。
詳しくは、弊社ブログの過去記事にて紹介しています。[こちら]

 

 このブログでは今までAndroidアプリの開発経験がなく、これからアプリの開発を始めようとするプログラマに向けて、スムーズに始める為のヒントになるサイトやサービスを紹介します。

 

はじめに


このブログは以下の方を対象としています。
・これからAndroidアプリケーション開発を始めたい方
・過去に開発の経験があるが、最近の動向を知りたい方

 

環境構築


まずは、最低限必要な環境を整えていきます。
Android開発で必須となるIDEはAndroid Studioです。
2年前くらいまではEclipseで開発している方も多かったようですが、現在はほぼAndroid Studio一択ではないでしょうか。

Android StudioのベースはIntellJ IDEAなので、基本的な操作は同じです。過去にRubyMinePhpStormを使用された経験があれば容易に扱えます。

 

AndroidStudio

 

 その後、Android SDKのインストールも必要ですが、IDE上から容易にインストールが可能なので説明は割愛します。
Android端末を既に持っていれば、初回の環境構築はほぼこれで終わりです。

 

 端末を持っていない、持っていない端末でテストしたい場合はエミュレータの設定が必要です。
残念ながら現在のバージョン(ver1.5.1)のエミュレータは非常に遅いため、動作確認に適しているとは言えません。
高速で動くエミュレータGenymotionをインストールしましょう。
 
genymotion
 

※ 現在Preview版が公開されているAndroid Studio2.0ではエミュレータのパフォーマンスが大きく向上されるようです。[参考]

 

チュートリアル


Android Developers トレーニング
Googleが公開しているチュートリアルです。項目毎に英語だったり日本語だったり、情報が古かったりするところがありますが、Android独自のActivity/Fragmentの役割、異なるデバイスをサポートする方法、データ保存など最初に理解しておきたい内容がまとまっているので、まずは一読するべきページです。
 
Beginner Android Tutorial
細かい項目毎に動画で学べます。英語のドキュメントを読むのが辛い方にもオススメ。
内容はUI実装関連が多め。
 
Android 101 for iOS Developers
iOS開発者向けにAndroidのライフサイクルや、iOSアプリ開発と異なる部分などが詳しく紹介されています。

 

サンプルを動かす


チュートリアルから一歩進んで、具体的に動くアプリを作る際に「Tabでページ切り替えの実装」や「カメラを使った実装」などわからないことがあれば、まずはGoogleが公開している沢山のサンプルの中から探してみましょう。
このサンプルはAndroid Studio上からimportすることで容易に確認できます。

サンプルの動かし方1

サンプルの動かし方2

サンプルの動かし方3

サンプルの動かし方4

 

ライブラリ


さらに一歩進んで「最近流行りのMaterialなUI」や「よく使われるORM・ネットワーク通信用ライブラリ」、「プロジェクトの構成(設計)」など、具体的な実装を理解する際に参考になるライブラリと、そんなライブラリを見つけるために便利なサイトを紹介します。

 
awesome-android-ui
awesome-android-libraries
wasabeef さんが公開されている素晴らしいUI/UXライブラリとコアなライブラリがまとめて紹介されているページです。
UI/UXについてはGIFや画像も添付されているので、眺めているだけでもインスピレーションを受けます。

 
GitHub Trending(java)
直近の人気(スター数が多い)なリポジトリが確認できます。
javaなのでAndroid以外も含まれますが、上位9割がAndroid関連です。
常に流行に乗りたいトレンディなあなたにオススメ。

 
Android Arsenal
Androidのライブラリやツールがカテゴリー毎に紹介されています。

 
iosched
Google I/Oの公式アプリです。毎年、I/O開催後にコードが公開されています。
パッケージの構成、テストコード、ネットワーク通信の実装などなど、お手本となるコードがたくさん含まれております。

 
Plaid
Material Designをフルで詰め込んだショーケースアプリです。
最近公開され、その素晴らしいUI/UXで話題になりました。
先進的なデザインを実装したい時に、非常に参考になります。

 
citrus
弊社のgotokatsuyaが作成したDesignSupportLibraryをフルで活用したtodoリストアプリです。
ORMにRealmを使っていたり、APIレベル9までサポートされていたりと実用的なサンプルになっています。

 

その他


続いて、開発を支えるツールや、アプリの運用時の役立つサイトを紹介していきます。
 

ツール・サービス

クラッシュの検知/アプリ(apk)の配布

ネイティブアプリのクラッシュ検知/収集を行うための最も有名なサービスがCrashlyticsです。こちらはTwitterが提供するモバイルプラットフォームのFabricに統合されています。
Crashlyticsには、テストアプリを配布する為のBeta、リアルタイムにでアプリの分析を行うAnswerなどの機能も含まれています。
Fabricにはその他にも、A/BテストツールのOptimizelyやユーザービリティ改善に特化した解析ツールのAppseeなども統合されています。

Fabric

 

アプリ/ユーザー行動分析

基本的なアプリの統計情報はGoogleが提供するDeveloper Console上で確認ができます。
さらに踏み込んでアプリのアクション計測や行動フローを分析したい場合は無料で使えるGoogle AnalyticsFlurryのSDKを導入しましょう。
Google AnalyticsはAndroid Studio上から簡単に設定できます。
GoogleAnalyticsの設定1

GoogleAnalyticsの設定2

 

アプリ市場分析

スマートフォンアプリの市場分析・調査に欠かせないのがApp Annieです。
日本だけでなく世界中のアプリマーケット(App StoreやGoogle Playなど)の市場データを確認できます。プレミアム登録をすれば、さらに特定アプリのユーザー属性まで細かくデータを集めることが可能です。

AppAnnie

 

デザイン


アプリを開発する際に参考になるデザインが紹介されているサイトです。
 
Google Design
Googleの新しいデザインガイドラインがカテゴリー毎に掲載されています。
また、アイコンやフォントなどの配布もされています。

MaterialUp
MaterialDesignで参考になるサイトやアプリが多く紹介されています。

Android Niceties
美しいUIで実装されたアプリのスクショが多く掲載されています。

 

情報収集


ブログやStackOverFlow以外で個人的に情報収集しているサイトを紹介します。

 

PodCast

Fragmented
Android開発者向けのPodCastです。
トークは英語ですがAndroid開発関連のワードが飛び交うので、英語が苦手でも比較的理解しやすい内容になっています。
最初はわからない言葉をググりながら聞くだけでも勉強になります。

techbooster.fm
Android開発者なら一度はお世話になったことがあるであろうTechBooster様のPodCastです。

 

Slack

android-jp
日本のAndroid開発者同士で自由に雑談できるSlackチャンネルです。

kotlinlang-jp
Javaに代わる言語として人気のKotlin用のSlackチャンネルです。

 

最後に


最後までお付合いいただきありがとうございました。
導入編として簡単な紹介になってしまいましたが、これから開発を始める際に少しでも参考になれば幸いです。

次回は実際に開発を始めた際に陥りがちな事象の紹介、もしくは最近Android開発界隈で話題になっていることなどを書こうと思います。

それでは皆様よいクリスマスをお過ごし下さい。

  • このエントリーをはてなブックマークに追加

エウレカでは、一緒に働いていただける方を絶賛募集中です。募集中の職種はこちらからご確認ください!皆様のエントリーをお待ちしております!

Recommend

突撃!隣のGo言語テストコード(エウレカのGo言語におけるテストコードの工夫)

Go言語の社内情報共有に関する試み、講演動画のすゝめとテストに関する翻訳を添えて