公式「Guide to App Architecture」のサンプルコードに Retrofit が登場している件

きっと開発者は見たくなる

公式が言うところの「おすすめのアーキテクチャ」.

Guide to App Architecture | Android Developers

眺めているとこんなコードが..


public interface Webservice {
    /**
     * @GET declares an HTTP GET request
     * @Path("user") annotation on the userId parameter marks it as a
     * replacement for the {user} placeholder in the @GET path
     */
    @GET("/users/{user}")
    Call<User> getUser(@Path("user") String userId);
}

ん?

Retrofit だ.

Retrofit

サードパーティであるSquare産の通信ライブラリを公式のサンプルコードに利用している.

Volley じゃないんだ!?

interface を見せながらの構成説明が明快に伝わりやすいとしても.

今どきガチガチ社内でサードパーティライブラリ利用の話が進めやすくなっていく方も多いのではと想像.


ネットワークライブラリ Volley を使うのをやめる時期なのでしょうか?

2013年 Google I/O で発表されたネットワークライブラリ Volley.

Sending a Simple Request | Android Developers

volley_arch

Which Android HTTP library to use? - PacketZoom Blog

もう三年も経つんですね.

このような質問.

私は, ネットワーク処理で Volley を使っています. しかし, Google は活発にメンテナンスしていないように思えます. 最初, Google は Play Store アプリに利用するためにそれを開発したということですが, 利用しているサードパーティのライブラリ一覧に明記されていないし, ほとんどの人が Retrofit (ベンチマークをみるとこちらのほうがよさそう) を使っています. Volley を使うのをやめる時期なのでしょうか?

で, 以下回答より.

「Google は活発にメンテナンスしていないように思えます」

これは, あなたが「活発なメンテナンス」をどう定義しているかによります. gitリポジトリで確認できるように, 開発は続いており, 過去1年でも数多くのコミットがされています.

platform/frameworks/volley - Git at Google

また, 今年の最初に Google は, 公式に Volley アーティファクト を, バージョン 1.0.0 として公開しています.

「利用しているサードパーティのライブラリ一覧に明記されていない」

Google は Play Store アプリを作成し, Volley も作成した. それゆえに, Google からみると, Volley はサードパーティのライブラリではありません. Google ではない人からみると Volley はサードパーティライブラリとなります.

「ほとんどの人が Retrofit を使っている」

Retrofit と Volley は同じではありません. Square の HTTP関連ライブラリ (OkHttp3, Retrofit, Picasso) 3つセットで同等なものとなり, それは Volley の能力を越えます.

Stack Overflow 上での話に関しては, 私は「ほとんどの人が Retrofit を使っている」とは思っていません.

「Volley を使うのを止める時期でしょうか?」

これには, あなたしか答えることができません. 重要な判断基準を持つのはあなただけで, ライブラリがその基準を満たすかどうか評価するのはあなただけです.

Is Android Volley Dead? - Stack Overflow

最近では, Google発のライブラリだけでなく, アプリや, SDKまでもが「Androidでは, こんなことが, これくらいできますよ」という高機能で複雑なサンプル的なショーケースのような意味合いが強くなってきてるように思えるけど, これを「実用的」というのか, どうなのかー.


Androidアプリ開発者が見ておくとよい定番優良便利なライブラリたち - その1

人気なアプリによく使われているライブラリを
列挙してみます。

すべて、jarなファイルたちなので、libs以下において
便利に使いましょう。

AndroidStudioでは build.gradle に以下の記述のみで、
利用できるようになります。

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

Android Studio に今は必ず必要な build.gradle の記述 Android Studio に今は必ず必要な build.gradle の記述

Gradle__please

Gradle, please Gradle, please

では、備忘メモ的に挙げていきます。

Android Support Library

Support_Library___Android_Developers

Support Library | Android Developers Support Library | Android Developers

いまや、ほとんどのアプリが使用。
OS 2.x系互換で作るなら必須。
ActionBarやNavigationDrawerなど今どきUIも簡単に実装できるようになります。
Android SDK同梱。

Android Cloud to Device Messaging(C2DM)/GCM

Google_Cloud_Messaging_for_Android___Android_Developers

アプリにGoogleサーバ経由でプッシュな通知を送るライブラリ。
最近、みそもくそもこいつを入れてなんかやりたい、という宣伝派事業主多しで、
ユーザとしてはウザいだけの困ったやつ。

Google Cloud Messaging for Android | Android Developers Google Cloud Messaging for Android | Android Developers
GCM (Google Cloud Messaging) で AndroidアプリにメッセージをPUSHする GCM (Google Cloud Messaging) で AndroidアプリにメッセージをPUSHする

Actionbar Sherlock

ActionBarSherlock_-_Home

古くから Android2.x系互換なActionBarスタイルを実装できる
ライブラリ。
Android SDK内にもcompatなやつが最近登場しているが
なごり的にいまでも利用アプリ多い雰囲気。
当然、ネット上に情報も多い。

ActionBarSherlock - Home ActionBarSherlock - Home

2.x系(API10)で NavigationDrawer を appcompat-v7 で「Resource is not a Drawable (color or path)」 2.x系(API10)で NavigationDrawer を appcompat-v7 で「Resource is not a Drawable (color or path)」

Google Analytics

Google_アナリティクス公式サイト_-_ウェブ解析とレポート機能_–_Google_アナリティクス
Google アナリティクス - Google Play の Android アプリ

定番WEBアクセス解析ツール。
Androidアプリに実装すると、アプリ内でのユーザの挙動や動きを
トラッキングできる、ボタン、イベントなど。

Android Native Application Tracking Overview - Google Analytics — Google Developers Android Native Application Tracking Overview - Google Analytics — Google Developers
Google Analytics SDK for Android v3 (Beta) - Getting Started - Google Analytics — Google Developers Google Analytics SDK for Android v3 (Beta) - Getting Started - Google Analytics — Google Developers

Google gson

google-gson_-_A_Java_library_to_convert_JSON_to_Java_objects_and_vice-versa_-_Google_Project_Hosting
今や主流のJSONスタイルのデータを最もシンプルに
パース&ビルドできる。使い方もシンプル。

google-gson - A Java library to convert JSON to Java objects and vice-versa - Google Project Hosting google-gson - A Java library to convert JSON to Java objects and vice-versa - Google Project Hosting

続きを読む >>