写点什么

Jetpack 一统江湖!一个月彻底修改你的 App 架构!(1),kotlin 协程源码分析

用户头像
Android架构
关注
发布于: 14 小时前

为了丰富大家日常开发的 UI 效果效果: Material Design 进入大家的视野,后面陆陆续续涌现出一大批 UI 组件:DrawerLayout,AppbarLayout,CoordinateLayout,ToolBar,NestedScrollView,FlexBoxLayout 等…


在 UI 组件日益完善的同时,也开始出现了 RecyclerView、ConstraintLayout、MotionLayout 等一些可以辅助大家写出更加符合性能要求的界面效果。


在 UI 控件日益满足需求的同时,系统的安全与稳定性、用户隐私也越来越被重视,所以每个版本都出现了一些大的适配工作,例如运行时权限,FileProvider 适配,限制后台服务、广播,限制反射 SDK 私有 API,引导使用 HTTPS,甚至去除 SDCard 访问权限等…


用一张图来表示大家的学习历程,就像:



在这些基础能力完善后, Google 终于开始对架构下手了。


大家都知道后端一般的项目大多数都是 MVC 架构,而且大多数后端写出来的代码很自然就遵守了这个架构。


为什么呢?并不是说后端开发人员架构思想就比我们强很多, 而是后端的框架相对成熟,由框架引导架构的落地。比如现在 Java 后端非常火的 Spring 框架,他会引导你去做 ioc,aop,分层,Controller、Service、Dao 一应俱全,你只要按照框架的指引,写出来的基本都符合 MVC 了。


但是在 Android 上,由于很多业务非常简单,简单到只需要发个请求、解析结果就完事了,这种情况下,很难让去划分业务层、控制层等等,并且 Android 也有自己的特殊的平台特性,比如组件生命周期、页面重建与恢复等等。


所以需要一系列的套件来引导大家去遵守某一架构,并针对平台特性做一些特殊支持,提供组件生命周期的感知套件,帮助大家更好的完成界面重建恢复等工作,以便于更好的管理大家的代码。


因此,Jetpack 来了!


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


[](


)Jetpack 是什么?


=======================================================================


Jetpack 是 Google 推出的一套系列组件集。


Jetpack 的出现以及 Google 标准化开发模式的确立,代表了 Android 原生开发的未来方向,意味着 Android 发展已经逐渐成熟。



[](


)为什么要学?


==================================================================


在开发世界,永远是技术至上,一门新技术的盛行总是有原因的,要么比老框架性能提升不少,要不更加易用等等。作为开发者,更是要不断学习、尝试各种新出来的技术。


遇到新技术也不主动去学习,一边感慨着程序员薪资提升慢,35 岁无路可去,一边上班摸鱼嘻嘻哈哈。对不起,程序员涨薪不是熬年龄,无处可去更不是因为年龄,而是不思上进。


网易员工能力强但因生病被辞退,全国人民都站出来为他发声;


但是,之前那位腾讯被辞退的员工,无辜缺勤旷工,每天上班时间不足八小时,真的冤吗?


Google 推出的 Jetpack 如何应用到工作中来呢?


可以极大提高工作效率还是有深坑呢?


实际上很多移动端开发者听都没听过。



从工作到现在,经历过了 MVC、MVP、MVVM、Clean 等,每个项目由于项目特点和需求的不同,都会出现一套基于开发者所设计的架构模式,分层、组件化、模块化,每一种设计都是基于项目所在场景的,很难适合所有项目场景。


APP 自身在飞速发展,版本不断迭代,新功能不断增加,业务模块数量不断增加,业务上的处理逻辑越变越复杂,同时每个模块代码也变得越来越多,这就引发一个问题,所维护的代码成本越来越高,稍微一改动可能就牵一发而动全身,改个小的功能点就需要回归整个 APP 测试,对开发和维护会带来很大的挑战。


外行看热闹,内行看门道。


我们到底该怎样优雅地开发 App 呢?

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
Jetpack一统江湖!一个月彻底修改你的App架构!(1),kotlin协程源码分析