内容简介:我们在 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月发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Alone Together
Sherry Turkle / Basic Books / 2011-1-11 / USD 28.95
Consider Facebookit’s human contact, only easier to engage with and easier to avoid. Developing technology promises closeness. Sometimes it delivers, but much of our modern life leaves us less connect......一起来看看 《Alone Together》 这本书的介绍吧!