内容简介:我们在 2018 年 9 月推出了 Java Unified SDK,该 SDK 可以在 Java、Android 和 LeanCloud 云引擎三种环境下运行,支持数据存储、LiveQuery、即时通讯、云函数、推送和混合推送等全部核心功能,并且开放所有源代码(代码见由于不同平台的 SDK 版本众多,这里我们给大家梳理一下 Android/Java SDK 的版本分布以及将来的持续开发计划,帮助开发者快速升级或者选择到合适的 SDK 版本。LeanCloud 服务上线之初,就推出了原生的 Android
我们在 2018 年 9 月推出了 Java Unified SDK,该 SDK 可以在 Java 、Android 和 LeanCloud 云引擎三种环境下运行,支持数据存储、LiveQuery、即时通讯、云函数、推送和混合推送等全部核心功能,并且开放所有源代码(代码见 这里
)。本周我们对 Java Unified SDK 进行了小版升级,当前最新版本为 5.0.13
,老版本 Android SDK 和云引擎 SDK 则将于 2019 年 9 月底完全停止维护。
由于不同平台的 SDK 版本众多,这里我们给大家梳理一下 Android/Java SDK 的版本分布以及将来的持续开发计划,帮助开发者快速升级或者选择到合适的 SDK 版本。
老 Android SDK
LeanCloud 服务上线之初,就推出了原生的 Android SDK,演变至今,因为功能的不同,老的 Android SDK 已经分为了多个 library:
- 核心 SDK (cn.leancloud.android:avoscloud-sdk)
- 推送和 RTM SDK (cn.leancloud.android:avoscloud-push)
- 混合推送 SDK (cn.leancloud.android:avoscloud-mixpush)
- FCM 推送 SDK (cn.leancloud.android:avoscloud-fcm)
- 应用内搜索插件 (cn.leancloud.android:avoscloud-search)
- 用户反馈插件 (cn.leancloud.android:avoscloud-feedback)
各个 library 依赖关系如下:
cn.leancloud.android:avoscloud-feedback/avoscloud-search +- cn.leancloud.android:avoscloud-sdk cn.leancloud.android:avoscloud-fcm/avoscloud-mixpush +- cn.leancloud.android:avoscloud-push cn.leancloud.android:avoscloud-push +- org.java-websocket:Java-WebSocket:1.3.9 +- com.google.protobuf:protobuf-java:3.4.0 +- cn.leancloud.android:avoscloud-sdk +- com.squareup.okhttp3:okhttp:3.8.1 +- com.alibaba:fastjson:1.2.37
上面这些库都已经发布到了 Maven Central Repo,当前最新版本为 4.7.12,他们最终都会被新的 Java Unified SDK 所取代。
老版本云引擎 SDK
为了支持云引擎的功能,也因为 Android SDK 与 OS 绑定过于紧密,所以我们推出第一版云引擎 SDK 的时候,重新实现了 LeanCloud 核心 SDK 的功能,形成了云引擎运行环境使用的一套专用 SDK:leanengine-java-sdk( group: cn.leancloud, artifactId: leanengine
),最新版本为: 0.3.3
。leanengine-java-sdk 的主要依赖如下:
cn.leancloud:leanengine +- cn.leancloud:java-sdk (LeanCloud Java Runtime SDK) | +- cn.leancloud:fastjson-leancloud(*) | +- org.json:json | +- cn.leancloud:okhttp-leancloud(*) | | \- cn.leancloud:okio-leancloud(*) | +- cn.leancloud:leancloud-common (LeanCloud 底层核心 SDK) | +- cn.leancloud:android-stub (LeanCloud 模拟的 Android OS 接口层) | +- org.apache.httpcomponents:httpcore | \- org.apache.httpcomponents:httpclient +- javax.servlet:javax.servlet-api
基于 Java 运行时的云引擎项目,都需要依赖 leanengine-java-sdk(详见模版项目: java-war-getting-started )。
云引擎 SDK 是完全独立的 codebase,并且还依赖于几个 LeanCloud 自己 fork 的、版本较老且已不再维护的基础 library:
- cn.leancloud:fastjson-leancloud
- cn.leancloud:okhttp-leancloud
- cn.leancloud:okio-leancloud
与 Android SDK 一样,云引擎 SDK 也会被新的 Java Unified SDK 所取代。
Java Unified SDK
为了降低维护复杂度,统一 Android / Java SE 运行环境同样接口的行为,我们在 2018 年 9 月推出了 Java Unified SDK,希望用一套代码,来支持多个平台,降低内部维护难度的同时,也可以较好地保证不同平台上接口和功能的一致性。
新版 Unified SDK 发布之后,经过了多轮迭代,目前已经稳定并且被发布到了 Maven Central Repository 。
新的 RxJava 风格 API
老版本 SDK 所有的网络请求都是通过 Callback 方式实现的,在实现多轮前后衔接的业务逻辑时会导致代码嵌套层级过多,影响阅读,同时在 Java 开发环境下这种异步的方式也不太友好。为此,Java Unified SDK 的存储接口完全基于 RxJava 来构建(同时也兼容老的 Callback 方式),通过函数式编程风格的改变,给业务开发带来更多便利。
新 SDK 层次与依赖
Java Unified SDK 主要包含以下几个 library,其层次结构以及平台对应关系如下(完整列表见 这里 ):
-
基础包(可以在纯 Java 环境下调用)
- storage-core:包含所有数据存储的功能
- realtime-core:部分依赖 storage-core library,实现了 LiveQuery 以及即时通讯功能
-
云引擎使用的包
- engine-core:是 LeanCloud 云引擎项目需要依赖的包。
-
Android 特有的包
- storage-android:是 storage-core 在 Android 平台的定制化实现,接口与 storage-core 完全相同。
- realtime-android:是 realtime-core 在 Android 平台的定制化实现,并且增加 Android 推送相关接口。
- mixpush-android:是 LeanCloud 混合推送的 library,支持华为、小米、魅族的官方推送。
- leancloud-fcm:是 Firebase Cloud Messaging 的封装 library,供美国节点的 app 使用推送服务。
如何使用新 SDK
获取 SDK
获取 SDK 有多种方式,较为推荐的方式是通过包依赖管理 工具 下载最新版本。具体可参考文档: 获取 SDK
Android 开发环境 Sample
- 存储 Demo,详见 存储 Sample(v5.x 分支) 。
- 聊天和推送 Demo,详见 ChatKit(v5.x 分支) 。
云引擎 Sample
在公开的云引擎模版项目上,我们新建了一个分支,用来完成 Java Unified SDK 的集成,具体可以参考代码 java-war-getting-started(v5.x 分支) 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- TensorFlow 三周岁!2.0 版本将于 2019 年发布
- 开源免费图形编辑器Krita将于周三推送4.2版本更新
- .NET Core 3.0 RC1 发布,最终版本将于下周发布
- Ubuntu 18.04 LTS 首个维护版本将于 6 月 26 日上线
- KDE Plasma 下一个 LTS 版本 5.18 将于 2020 年 2 月发布
- PHP 7.3.0 RC6 发布,下个版本 7.3.0 (GA) 将于12月发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程珠玑(续)(修订版)
【美】Jon Bentley 乔恩•本特利 / 钱丽艳、刘田 / 人民邮电出版社 / 2015-2 / CNY 35.00
历史上最伟大的计算机科学著作之一 融深邃思想、实战技术与趣味轶事于一炉的奇书 带你真正领略计算机科学之美 多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢......一起来看看 《编程珠玑(续)(修订版)》 这本书的介绍吧!