向阅读此文的读者问好,
此文的灵感来自于 Andres Almiray 的工作。
这些开源库非常棒,我已经将它们整理成参考清单,附上简短的功能清单连同案例一同分享。
请欣赏!
Guice
Guice(音同“juice”)是谷歌开发的一个轻量级的依赖注入框架,支持 java 6 及以上版本。
# Typical dependency injectionpublic class DatabaseTransactionLogProvider implements Provider<TransactionLog> { @Inject Connection connection; public TransactionLog get() { return new DatabaseTransactionLog(connection); }}
# FactoryModuleBuilder generates factory using your interfacepublic interface PaymentFactory { Payment create(Date startDate, Money amount); }
GitHub, JavaDoc, User guide, FactoryModuleBuilder
OkHttp
HTTP 是现代应用程序实现互联的机制。数据和媒体的交互都基于此。高效的 http 机制能提升你的下载速度和节约带宽。
OkHttp 作为一个HTTP客户端,默认:
HTTP/2 服务默认发往同一台主机的所有请求共用一个套接字。
连接池减少请求的延迟(如 HTTP/2 不可用)。
gzip 压缩下载大小可见。
通过响应缓存完全避免了网络的重复请求。
OkHttpClient client = new OkHttpClient();String run(String url) throws IOException { Request request = new Request.Builder() .url(url) .build(); Response response = client.newCall(request).execute(); return response.body().string();}
GitHub, Website
butta翻译于 2天前2人顶 翻译得不错哦! 其它翻译版本(1)Retrofit
来自 Square 公司的 HTTP 客户端,类型案例,可用于 Android 和 Java。Retrofit 会按照 HTTP API 生成 Java 接口。
public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>listRepos(@Path("user") String user);}
Retrofit 类实现 GitHubService 接口。
Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.github.com/") .build(); GitHubService service = retrofit.create(GitHubService.class);
来自 GitHubService 的每个 Call 都会向远端 Web 服务器发送一个同步或异步的 HTTP 请求。
Call<List<Repo>> repos = service.listRepos("octocat");
GitHub,网站
JDeferred
Java 的 Deferred/Promise 库,与 JQuery 的 Deferred/Promise 相似