很高兴见到你!
上周我在 各大技术社区 发表了一篇 《 Jetpack MVVM 精讲》,原以为在 知识网红 唱衰安卓 的 2019 会无人问津,没想到文章一经发布,从 国内知名公司 的架构师、技术经理,到 世界级公司 的 Android 开发 都在看。😉
并且从读者的反馈来看,近期大部分安卓开发 已跳出舒适圈,开始尝试认识和应用 Jetpack MVVM 到实际的项目开发中。
只可惜,关于 Jetpack MVVM,网上多是 东拼西凑、人云亦云、通篇贴代码 的文章,这不仅不能提供完整的视角 来帮助读者 首先明确背景状况,更是给还没入门 Jetpack 的读者 徒添困扰、起到 劝退 的作用。
好消息是,这一期,我们带着 精心打磨的 Jetpack MVVM 最佳实践案例 来了!
| PureMusic | LiveData Dispatch | PlayMode Switch | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | | | | ![playmode.gif]() |
本人拥有 3 年的 移动端架构 践行和设计经验,领导团队重构的 中大型项目 多达十数个,对 Jetpack MVVM 架构在 确立规范化、标准化 开发模式 以 减少不可预期的错误 所作的努力,有着深入的理解。
在这个案例中,我将为你展示,Jetpack MVVM 是如何 蕴繁于简 地 将原本十分容易出错、一出错就会耽搁半天时间的开发工作,通过 寥寥的几行代码 轻而易举地完成。😉
1
laibin2 2019-11-05 10:59:11 +08:00
看过,影响深刻
|
2
kile 2019-11-05 11:08:17 +08:00
绝不使用 dagger 挺有意思的...
有这个说明是以前是很久前就喜欢尝新的老江湖了... |
4
shiguiyou 2019-11-05 11:41:04 +08:00
感谢分享,最近也在啃官网的 jetpack 相关架构组件
|
5
aabbcc112233 2019-11-05 12:48:57 +08:00 via Android
感谢,这几天正好在看这个
|
6
starerlloll 2019-11-05 13:08:20 +08:00
jetpack 最大的问题个人感觉不是用法,而是只适合符合 material design 的 app. 一旦设计师发散下思维就很蛋疼了。。
|
7
charlieputon 2019-11-05 13:11:30 +08:00 via Android
@starerlloll 感觉你并没有理解 jetpack,建议多看看官方文档
|
8
hhhsuan 2019-11-05 13:14:07 +08:00
写的有点难懂啊,比如“状态托管 和 状态管理的分治” ,这都啥意思啊。
|
9
starerlloll 2019-11-05 13:25:34 +08:00
@charlieputon 大佬,说说你的理解?
|
10
Kmmoonlight 2019-11-05 13:32:08 +08:00
所以我该怎么看关于这个项目的文档介绍,而不是让我看源码呢
|
11
starerlloll 2019-11-05 13:46:00 +08:00 1
@Kmmoonlight 这时候就要你花 99 你去订阅他的专栏了
|
12
closedevice 2019-11-05 14:15:12 +08:00
@starerlloll 哈哈哈......你懂得太多了
|
13
charlieputon 2019-11-05 15:21:43 +08:00 via Android
@starerlloll jetpack 是为了规范和方便安卓开发而提供的一些组件,md 是 ui 设计的规范,完全是两码事鸭
|
14
ilotuo 2019-11-05 15:46:24 +08:00
呃虽然你说 "将 标准化开发模式的 深度思考知识 和 实战反思经验 无保留地分享" 我还是看得檬茶茶.
我觉得看 Google 那个 Todo MVVM 版示例源码就挺好. 主要就 ObservableField 的应用嘛. |
15
Kmmoonlight 2019-11-05 16:34:43 +08:00
@starerlloll 哦 这样的嘛 但是我看他的专栏 好像试看部分也没讲这个项目
|
16
bydgg 2019-11-05 16:44:21 +08:00
不用 kotlin 是为了接地气吗
|
17
KunMinX OP @Kmmoonlight
你好,本专栏 专为 两年以上工作经验、已熟练掌握 深度思考能力、乃至于适合 通过订阅来换时间的读者。 专栏目前已经为 130 位读者过了一遍 视图控制器 和 标准化开发模式 的知识点。 标准化开发模式 是在软件工程的背景下,为解决 视图控制器 在 数据交互过程中存在各种一致性问题而存在的。 因此,在了解 标准化开发模式 之前,需要彻底了解 视图控制器 的 生命周期、重建机制、状态管理、路由导航、页面通信 等知识点,这样才有机会理解 为什么会存在 Lifecyler、LiveData、ViewModel、DataBinding、Navigation,这些 架构组件、它们的存在究竟是为了解决什么问题,它们各自的职责边界分别是哪里到哪里。 此外,我的专栏不止于技术,每一篇都经过深度思考,确保能够讲明白状况,并且必要的时候(像讲视图这一块),还会以 难得一见的方式 结合 交互设计知识 来讲解。 以下是来自 近期热心读者的评价: https://i.loli.net/2019/11/05/6ZfKnjtSOaCu8lP.png https://i.loli.net/2019/11/05/YkomxlVKUQfSqWA.png https://i.loli.net/2019/11/05/PyD8EM3RBzwiTdq.png https://i.loli.net/2019/11/05/7wKbjBqyDSLopGa.png |
18
KunMinX OP @bydgg 是的。一方面,Java 作为一门标准化语言,为大众所熟知,另一方面,Java 在软件工程中存在诸多 诸如 一致性问题 的安全性隐患,因而,以 Java 为标准来讲解,能够降低人们明白状况的成本。
与此同时,kotlin 是一门支持良好封装的语言,在后续,我们会介绍这门语言,以及基于这门语言而存在的实用技术。 |
19
KunMinX OP |
20
locoz 2019-11-06 15:38:03 +08:00
事实证明,不标题党、不涉及贩卖焦虑并没有利用前两者赚钱的文章更受技术人员喜爱...
我还记得上次楼主发的一篇文章,就因为标题看起来比较营销、简介列了个工资占比,底下评论就出现了一堆喷子 |
21
KunMinX OP |
22
KunMinX OP 上次的那帮喷子,没有一个是 Android 本专业。
一群非专业人士,放下手中的活,忙着来指导 Android 开发者怎么写 Android 文章,真是够了。 喷子为了散发戾气,可以找任何借口、随便逮着任何人就开喷。 以下是近期 真正的读者 在私底下 对本专栏以及本人 的评价和感谢 https://i.loli.net/2019/11/06/nWS4PgqDtoXjmKE.png https://i.loli.net/2019/11/06/PLzSDhJWZQ2fFpv.png |
23
ihgoo 2019-11-14 20:42:22 +08:00
“从 国内知名公司 的架构师、技术经理,到 世界级公司 的 Android 开发 都在看。”
不得不喷你了,那么以上身份的都有谁在看呢?请举例? |
24
KunMinX OP 当你抬起头,看见天上有驾飞机飞过时,飞机上的人并没有在看你。
既然你这么想看,我也不介意满足好奇心。而我在文章开头提到的这些读者,也不过是千千万万优秀读者中的一个缩影。 https://i.loli.net/2019/11/14/A9GH6BgKLmJN7pn.png https://i.loli.net/2019/11/14/cJzeXkTqsd1U7P9.png https://i.loli.net/2019/11/14/LQSijRUk7gKYcbX.png https://i.loli.net/2019/11/14/cnqkDF4t3XBQsNi.png https://i.loli.net/2019/11/14/yZDHWCKUzM1YuF2.png |
25
gaifanking 2019-11-18 10:47:41 +08:00
java 的还是 kotlin 的?
|