Jetpack 和 Flutter| 青训营笔记

131 阅读3分钟

Jetpack 和 Flutter| 青训营笔记

写在前面

这是我参与「第四届青训营 」笔记创作活动的第1天

该笔记为之前断断续续的笔记片段和大项目之后的笔记的整合,复习一些基本知识和在项目中遇到的问题。如有不妥之处,还望予以指正。

知识梳理

从来没有接触过 Jetpack 和 Flutter,所以本篇只对 Jetpack 和 Flutter 做初步了解。

Jetpack

介绍

Jetpack 是一套组件库,可帮助开发人员遵循最佳实践,减少样板代码并编写可在 Android 版本和设备上一致工作的代码,以便开发人员可以专注于他们关心的代码。

Jetpack 作为一套组件库,它的组件库按类别分为 4 类,分别是 ArchitectureUIBehaviorFoundation。并且可以使用 LifeCycle 和 ViewModel ,这使得组件的使用更加灵活。

个人感想

我主要还是 LifeCycleViewModel 感兴趣。

在 Android 开发过程中,我们不难发现,Activity 的生命周期由 Android 管理以及手动管理,Activity 里面的组件与 Activity 具有强关联性。尤其是在写动态布局的时候,每声明一个组件或者布局都需要关联上下文。想要操作某个组件,也得获得其上下文,在取得组件。

LifeCycle 目前来看可以对一些特别的组件进行解耦和简化代码。这一点看来是值得我们去尝试将一些特殊的组件进行 LifeCycle 管理。

在 Android 开发过程中,也遇到过需要长时间保留的数据,在操作过后无法取得或者丢失了的情况。他人给我的建议是使用 ViewModel 在 View 和 Model 之间构建一个数据通信的桥梁。这也是大项目里面建议的 MVVM (Model、View、ViewModel)。不过,我接触 Android 开发没多久,对这个也不是很熟悉。

ViewModel 的生命周期是独立于 Activity 的生命周期,毕竟是两个不同的类,管理策略不同十分正常。这就意味着,通过 ViewModel 管理部分数据,可以不用管 Activity 是否已经销毁。这点很好。

Flutter

Flutter 3 的演进(官方)

创建 Flutter 的初衷是为了彻底改变应用开发:将「Web 应用的迭代开发模式」与「硬件加速的图形渲染」和「像素级的控制」三者结合——之前只有游戏才能这么做。自 Flutter 1.0 Beta 版发布以来的四年里,我们逐渐在这些基础上发展,增加了新的框架功能和新的 widget,与底层平台进行了更深入的整合,还加入了丰富的 package 库,此外还进行了许多性能和工具等方面的改进。

个人感想

Flutter 官网里展示的东西确实比较吸引我,但是需要去学习 Dart 语言。看了下官网文档,感觉上手不会特别难,不过感觉和 JavaScript还是有比较大的差别的。不过有一点很好,官网可以直接打开,Android 官网有些直接显示无法访问。

总结

尝试使用新的技术和框架是好的,但新的技术和框架也意味着学习成本。对于我来说,先用原有的知识尝试参与到开发中,是更加实际的做法。在之后的项目里可以考虑使用 Jetpack 和 Flutter 这样的新技术和新框架,也算是对于自身知识体系的一个补充。