使用 Android Jetpack 加快应用开发速度

发布人:Android 开发者工具产品管理 Chris Sells、Benjamin Poiesz 和 Karen Ng

本文转自:http://developers.googleblog.cn/2018/05/android-jetpack.html

今天,咱们高兴地推出 Android Jetpack,这是咱们的新一代组件、工具和架构指导,旨在加快您的 Android 应用开发速度。

Android Jetpack 深受支持库的启发,支持库包含的组件可让您轻松利用新 Android 功能,同时保持向后兼容性;如今,应用商店中 99% 的应用都使用支持库。在支持库取得成功后,咱们推出了架构组件,让开发者在面对应用生命周期变化和复杂性时能够更轻松地处理数据。自从咱们在去年的 I/O 上推出以来,至关数量的开发者已经采用这些组件。LinkedIn、Zillow 和 iHeartRadio 等公司取得了显著成效,他们应用的错误减小、可测试性提升,这让他们能够将更多时间放在精心打造本身的应用上。

Android 开发者社区从来彼此很是熟悉,不只您喜欢咱们推出的这些使人兴奋的组件,咱们也知道您还想要更多功能!咱们也为您推出了众多功能。html

什么是 Android Jetpack?


Android Jetpack 是一套组件、工具和指导,能够帮助您构建出色的 Android 应用。Android Jetpack 组件将现有的支持库与架构组件联系起来,并将它们分红四个类别android

Android Jetpack 组件以“未捆绑的”库形式提供,这些库不是基础 Android 平台的一部分。这就意味着,您能够根据本身的需求采用每个组件。在新的 Android Jetpack 功能发布后,您能够将其添加到本身的应用中,将您的应用部署到应用商店并向用户提供新功能,若是您的行动足够快,全部这些能够在一天内完成!未捆绑的 Android Jetpack 库已经所有转移到新的 androidx.* 命名空间中(这篇博文进行了详细介绍)。

此外,您的应用能够在各个版本的平台上运行,由于 Android Jetpack 组件能够独立于任何特定版本提供功能,从而实现向后兼容性。

并且,Android Jetpack 基于现代化设计作法构建,其中包括问题与可测试性分离,以及 Kotlin 集成等能够提升效率的功能。这让您能够更轻松地构建稳定、优质的应用,同时减小代码数量。虽然 Android Jetpack 的组件为了协同操做而构建(例如,生命周期感知和实时数据),可是您没必要使用全部组件。您能够集成可以解决您的问题的 Android Jetpack 部分,同时保留您的应用中运行出色的部分。

鉴于如下相似反馈,咱们知道这些好处对您很是重要:

“咱们以前一直考虑在代码库中尝试使用 MVVM。Android 架构组件为咱们提供了一个简单的实现模板。架构组件还帮咱们提高了代码的可测试性;对 ViewModel 进行单元测试的能力提升也毫无疑问地提高了代码的可靠性。”

-- Sumiran Pradhan,Zillow 高级工程师

若是您想要详细了解各个公司使用 Android Jetpack 组件的状况,能够阅读 Android 开发者网站上的开发者故事

最后,正如您在上面的 Android Jetpack 图表中看到的同样,咱们今天还发布了新组件。
网络

新组件


Android Jetpack 附带五个新组件:
架构

  • WorkManager alpha 版
  • 导航 alpha 版
  • 分页稳定版
  • 切片 alpha 版
  • Android KTX(Kotlin 扩展程序)alpha 版

 

WorkManager


WorkMananager 组件是一个功能强大的新库,能够为基于约束的后台做业(须要有保障的执行)提供一站式解决方案,消除了使用做业或 SyncAdapter 等框架的需求。WorkManager 提供了一个简化的现代化 API、在安装或未安装 Google Play 服务的设备上运行的功能、建立工做图的功能以及查询工做状态的功能。早期反馈很是使人鼓舞,咱们但愿确保也能覆盖您的用例。您能够了解咱们目前已经完成的工做,并提供对 WorkManager 组件 alpha 版的反馈。
app

导航


尽管 Activity 是系统提供的您的应用界面的入口点,但在相互分享数据以及转场方面,Activity 表现得不够灵活,这就让它不适合做为构建您的应用内导航的理想架构。今天,咱们宣布推出导航组件,做为构建您的应用内界面的框架,重点是让单 Activity 应用成为首选架构。利用导航组件对 Fragment 的原生支持,您能够得到架构组件的全部好处(例如生命周期和 ViewModel),同时让此组件为您处理 FragmentTransaction 的复杂性。此外,导航组件还可让您声明咱们为您处理的转场。它能够自动构建正确的“向上”和“返回”行为,包含对深层连接的完整支持,并提供了帮助程序,用于将导航关联到合适的 UI 小部件,例如抽屉式导航栏和底部导航。但这些并非所有!Android Studio 3.2 中的导航编辑器让您能够直观地查看和管理导航属性:
框架

分页


应用中呈现的数据可能很是大,这就致使加载的开销比较大,所以,避免一次下载、建立或呈现过多数据就显得很是重要。分页组件 1.0.0 版让您能够轻松加载和呈现大型数据集,同时在您的 RecyclerView 中进行快速、无限滚动。它能够从本地存储和/或网络加载分页数据,并让您可以定义内容的加载方式。此组件原生支持 Room、LiveData 和 RxJava。编辑器

切片


最后,切片组件让一组新功能在 Android Jetpack 中首次亮相。“切片”是一种以搜索结果形式在 Google 智能助理内部显示应用界面的方式:
ide

您能够访问 Android 开发者网站,详细了解切片组件,以及如何将其集成到您的应用中。工具

Android KTX


最后,Android Jetpack 利用 Kotlin 语言功能的一个目标是提升您的效率。Android KTX可让您将相似下面所示的 Kotlin 代码:单元测试

  view.viewTreeObserver.addOnPreDrawListener {
    object :ViewTreeObserver.OnPreDrawListener{
      override fun onPreDraw():Boolean {
        viewTreeObserver.removeOnPreDrawListener(this0
         actionToBeTriggered() 
          return true
    }
}):

 

转换成以下所示的更精简的 Kotlin 代码:

view.doOnPreDraw {actionToBeTriggered()}
 


这只是将 Kotlin 支持带到 Android Jetpack 组件的第一步;咱们的目标是让 Android Jetpack 造福 Kotlin 开发者(固然还有 Java 开发者)。您能够在 Android 开发者网站上详细了解 Android KTX

开始使用


您能够访问 developer.android.google.cn/jetpack 页面,开始使用 Android Jetpack。您能够在这个页面上找到 Android Jetpack 的文档与视频,查看 Android Jetpack 组件的新功能,加入社区并向咱们提供反馈。咱们还建立了一个专门介绍 Android Jetpack 的 YouTube 播放列表,您能够观看这些视频,了解 Android Jetpack、组件、工具和最佳实践的相关信息。

Android Jetpack 使用入门将介绍如何在您现有的应用中集成 Android Jetpack 组件并帮助您开始构建全新的 Android Jetpack 应用。Android Studio 3.2 为 Android Jetpack 提供了出色的工具支持。要构建新应用,请使用 Activity & Fragment+ViewData Activity,您能够在 Android Studio 的 File | New | New Project 下找到此 Activity:

将来计划


咱们将在 Android Jetpack 中充分利用支持库和架构组件的好处,并为它添加新组件、Android Studio 集成和 Kotlin 支持。尽管 Android Jetpack 为加快您的 Android 开发速度提供了新一代组件、工具和指导,咱们还有不少工做要作,而且须要您的帮助。请转到 developer.android.google.cn/jetpack,告诉咱们如何进一步提高您构建 Android 应用的体验。

相关文章
相关标签/搜索