前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jetpack能否一统江湖?

Jetpack能否一统江湖?

作者头像
程序亦非猿
发布2020-05-06 16:47:33
9290
发布2020-05-06 16:47:33
举报
文章被收录于专栏:程序亦非猿程序亦非猿

马总:老王,前两年Google出的那个Jetpack,我们公司什么时候能全面普及?

程序员老王:马总,那个东西我研究过了,(Jetpack?那是什么东西)并不是很符合我们公司。(主要我懒,不想学新的)我们目前在用的完全可以满足业务。(虽然过时了,但还能用)

马总:但我们还是得与时俱进呀,我听隔壁张总说他们都用半年了。

程序员老王:好的,马总!我这就组织大家一起学习Jetpack!(随便看看)尽快用起来!(到时候就说新技术不稳定,产生问题难修复,啥都不用干,美滋滋!)


我们安卓开发者,经常会吐槽Android碎片化严重,设备繁多,品牌众多,版本各异,分辨率不统一,项目的库基本都是用什么Square全家桶,Glide, 各种Bus, MVP,MVVM等等,很多时候都得自己动手,丰衣足食。

Android发展了10多年,谷歌一直致力于安卓生态环境的搭建。为了方便广大安卓开发者,让App研发更简单、易于上手,谷歌在2018年推出了Jetpack。

本人2018年详细研究过Jetpack之后,深感其中组件设计之妙,极大方便了开发者的日常工作,也可以解决很多开发中的问题,尤其是对代码的数据逻辑和UI界面深层解耦,实现数据驱动型的ui。

一个基于MVVM+Jetpack组件的App案例(作者:teaOf)

当时本以为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实战体验课,带你感受Google标准化架构模式所带来的好处,解决项目中的各种问题,学习优秀的架构设计模式,熟练运用JetPack的各个组件库!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序亦非猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档