前言
我们安卓开发者,经常会吐槽Android碎片化严重,设备繁多,品牌众多,版本各异,分辨率不统一,项目的库基本都是用什么Square全家桶,Glide, 各种Bus, MVP,MVVM等等,很多时候都得自己动手,丰衣足食。
Android发展了10多年,谷歌一直致力于安卓生态环境的搭建。为了方便广大安卓开发者,让App研发更简单、易于上手,谷歌在2018年推出了Jetpack。
其极大方便了开发者的日常工作,也可以解决很多开发中的问题,尤其是对代码的数据逻辑和UI界面深层解耦,实现数据驱动型的ui。
当时本以为Jetpack会很快统一江湖,想不到现在还有很多安卓开发者压根没听过Jetpack!
我们为什么要学习Jetpack呢?
Jetpack是一种新的架构方式,从工作到现在,经历过了MVC、MVP、MVVM、Clean等,每个项目由于项目特点和需求的不同,都会出现一套基于开发者所设计的架构模式,分层、组件化、模块化,每一种设计都是基于项目所在场景的,很难适合所有项目场景。
但是Jetpack,它是一套组件、工具和指导;是谷歌正式推出的一整套用来构建APP开发的组件。
对于产品,我们在开发中会遇到很多问题,比如:产品交互、用户体验、代码结构、数据获取、数据存储、网络优化、任务调度等等,很多问题还没有很好的解决和优化方案,Jetpack就是Google给出的官方处理方法。
Android Jetpack组件的优势:
1、轻松管理应用程序的生命周期;
2、构建可观察的数据对象,以便在基础数据库更改时通知视图;
3、存储在应用程序轮换中未销毁的UI相关数据,在界面重建后恢复数据;
4、轻松的实现SQLite数据库;
5、系统自动调度后台任务的执行,优化使用性能;外行看热闹,内行看门道。
据Google官方统计,使用Jetpack之后,App的bug量可以大大减少约43%,代码量差不多可以缩减到之前的一半。
有些人说Jetpack,要学的东西太多了,用起来有点麻烦!其实并不是说一筐子都要立马用起来,完全可以单独使用最适合自己项目中的那部分。
那我们到底该怎样优雅地开发App呢?模块化、层次化、控件化、组件化在实践当中,又该怎样和Jetpack结合呢?
我特邀9年项目经验,前腾讯IOT项目组资深工程师Derry老师给大家整理了《Jetpack架构组件从入门到精通》和《Android架构开发手册》,从入门到精通,教程通俗易懂,实例丰富,既有基础知识,也有进阶技能,能够帮助读者快速入门。从而解决项目中的各种问题,学习优秀的架构设计模式,熟练运用Jetpack的各个组件库,投入到业务实战中去。
朋友们如果有需要全套《Jetpack架构组件从入门到精通》和《Android架构开发手册》,点击下方二维码即可免费获取哦~
一、Jetpack架构组件从入门到精通
二、Android Jetpack实战和教程
- Android Jetpack - Navigation
- Android Jetpack - Data Binding
- Android Jetpack - ViewModel & LiveData
- Android Jetpack - Room
- Android Jetpack - Paging
- Android Jetpack - WorkManger
- Android Jetpack - Paging 3
- …
三、 MVC/MVP/MVVM
- MVC框架-导言
- MVC框架-ASP.NET窗体
- MVC框架-第一应用程序
- MVC框架-文件夹
- MVC框架-模型
- …
- …
- MVC框架-异常处理
- MVP架构设计:Google官方MVP思想解读
- 开源MVP框架
- MVC、MVP、MVVM,到底该怎么选?
四、大厂架构演进之路
1.抖音ioS工程架构演进
2016.09.26,抖音版本 1.0.0 上线,随后不断迭代优化和丰富产品,截止目前,抖音日活跃用户突破 6 亿,短短 4 年间,抖音从零爆发性增长。想要了解它的架构演化请往下看。
2. 美团外卖 Android 平台化架构演进实践
在我们探索解决两端代码复用的同时,业务的发展又对我们提出新的挑战。随着团队成员扩充了数倍,商超生鲜等垂直品类的拆分,以及异地研发团队的建立,外卖客户端的平台化被提上日程,想要解决外卖业务平台化的问题,又要解决外卖 App 和外卖频道两端代码复用的问题,下面为你解答。
3.安居客 Android 项目架构演进
几年前安居客在业务上刚完成了三网合并,这一时期安居客代码结构混乱、层次不清,各业务技术方案不统一,冗余代码充斥项目的各个角落;甚至连基本的包结构也是胡乱不堪,项目架构更是无从谈起。带你看看如何梳理了整个项目的结构。
4. 携程 Android App 插件化和动态加载实践
携程 Android App 的插件化和动态加载框架已上线半年,经历了初期的探索和持续的打磨优化,新框架和工程配置经受住了生产实践的考验。本文将详细介绍 Android 平台插件式开发和动态加载技术的原理和实现细节,回顾携程Android App 的架构演化过程,期望我们的经验能帮助到更多的 Android 工程师。
5.微信Android客户端架构演进之路
微信1.0 for Android的测试版本于2011年1月发布。这是微信Android客户端的第一个版本,软件架构采用早期标准的Android系统应用设计,接下来带你走进他的演进之路。
6.千万级用户的Android客户端是如何养成的│架构师实践日
Android 客户端的架构不论如何演变,架构设计的出发点总是离不开两点,一是提高开发效率,二是降低维护成本。5 月 29 日下午,九言科技 in Android 客户端的负责人阿刘基于这两点,在七牛云举办的「架构师实践日」沙龙上,为大家带来了题为「in Android 客户端的架构演变」的分享。以下是对他演讲内容的整理。
7.手机淘宝构架演化实践
淘宝相信都不陌生了从 2009 年开始,DAU 从 100 万增长到超过 1 亿,面临的问题、包括研发支撑所需要解决的事情各不相同。在用户量和业务复杂度的线性递增下,架构也进行了相应的演进,相信大家对它的演进也是非常感兴趣,下面就直接进入主题吧。
8. 英语流利说 Android 架构演进
今天给大家分享的是英语流利说Android端的代码架构的演进,整个演进过程,也是借鉴了业界很多大型应用在架构上的沉淀以及思想,可能有些东西还有点老生常谈,不过全都是干货手机。
文末
如果这份笔记对你有帮助,请务必点赞+收藏这篇文章,把他分享给更多的小伙伴,一起学习进步!
追梦的路上总是艰难,路漫漫其修远兮,吾将上下而求索。即便未必能够如愿抵达,未必能够得偿所愿,但能进一步是一步,每前进一步总有一步的欣喜,也多少会见到一些新的风景。
我不知道读者里有多少这样前路迷茫需要鼓舞的人,希望今天这篇文章能够给你们一点鼓励和力量,勇敢地出发,朝着自己梦想的地方前进。你也可以点赞关注我,与我一起前进。
|