什么是 Jetpack
Jetpack 是一个丰盛的组件库,它的组件库按类别分为 4 类,别离是架构(Architecture)、界面(UI)、行为(behavior)和根底(foundation)。每个组件都能够独自应用,也能够配合在一起应用。每个组件都给用户提供了一个规范,可能帮忙开发者遵循最佳做法,缩小样板代码并编写可在各种 Android 版本和设施中统一运行的代码,让开发者可能集中精力编写重要的业务代码。
Jetpack 的劣势
解决了 Android 架构问题
因为之前 Google 并没有推出对于 Android 应用程序架构设计的规范,因而,很多工程师只能本人发明各种解决方案,但这些计划都普遍存在两个问题:
- 非 Google 官网解决方案
个别有教训的工程师,都会从本人做过的我的项目中,总结出一套本人的架构设计,并且将其利用到生产环境中,不过或多或少的都会存在肯定的问题,因而须要有人始终保护和继续优化我的项目的架构。并且随着我的项目需要复杂度的减少,也面临从新设计架构的工作。 - 无奈分别最佳的解决方案
因为每个工程师的设计思路都不雷同,因而,也无奈确认到底谁的架构是最佳计划,最终也导致了开发进去的利用参差不齐。
Google 也意识到了这些问题,因而推出了 Jetpack,让开发者可能应用规范的架构组件,而不必去纠结架构的方案设计,能够将更多的精力放在本人的业务代码上。
晋升了代码品质
Jetpack 领有基于生命周期感知的能力,能够缩小 NPE 解体、内存透露。为咱们开发出强壮且晦涩的程序提供强力保障;
晋升了开发效率
Jetpack 能够缩小样板代码,有助于晋升 Android 开发的效率。这些组件能够独自应用,也能够组合应用,并且在不同 Android 版本中运行统一。
为什么咱们须要一个新的 UI 工具?
在 Android 中,UI 工具包的历史可追溯到至多 10 年前。自那时以来,状况产生了很大变动,例如咱们应用的设施,用户的冀望,以及开发人员对他们所应用的开发工具和语言的冀望。
以上只是咱们须要新 UI 工具的一个起因,另外一个重要的起因是 View.java 这个类切实是太大了,有太多的代码,它大到你甚至无奈在 Githubs 上查看该文件,因为它实际上蕴含了 30000 行代码,这很疯狂,而咱们所应用的简直每一个 Android UI 组件都须要继承于 View。
GogleAndroid 团队的 Anna-Chiara 示意,他们对曾经实现的一些 API 感到遗憾,因为他们也无奈在不毁坏性能的状况下发出、修复或扩大这些 API,因而当初是一个簇新终点的好时机。
这就是为什么 Jetpack Compose 让咱们看到了曙光。
Jetpack Compose 的着重点
包含一下几个方面:
- 减速开发
- 弱小的 UI 工具
- 直观的 Kotlin API
如何学习?
我这里有一份阿里架构师亲手整顿的《Jetpack Compose 开发利用指南》, 分享给你们。
Android Jetpack Compose 开发利用指南
第一章 初识 Jetpack
- JetPack 是什么
- JetPack 和 AndroidX
-
AndroidX 的迁徙
第二章 Compose 的设计原理和基本概念
- JetPack Compose 环境搭建
- JetPack Compose 新个性和组件依赖
-
JetPack Compose 编程思维总结
第三章 Compose 入门
- JetPack Compose 入门的根底案列
-
JetPack Compose 入门的根底案列
第四章 Compose 布局
- Compose State
- Compose 款式(Theme)
- Compose 布局外围控件
- 自定义布局
-
Compose 中的 ConstraintLayout
第五章 Compose 动画
- Compose SideEffect
- Compose 动画概述
- Compose Crossfade
- Compose animateContentSize
- Animatable
-
Compose 自定义动画
第六章 Compose 图形
- Compose Canvas
- Compose 绘制 API 的剖析
-
Compose 自定义绘制
第七章 Compose 外围控件总结
- Scaffold
- LazyColumn
最初
Jetpack Compose 开发技术对于一个进阶 Android 高级工程师的必备技能之一。一个好的工程师,他不仅要懂得原理,还得去学习把技术使用到实际中去,这是一个优良的程序员所必须具备的。如果我的这篇文章能帮忙到你的话,那就多多反对一下我。
因为篇幅无限,材料内容过多,须要完整版《Jetpack Compose 开发利用指南 》的敌人能够 点击这里 支付哦!