由于floor不支持 Web 平台,所以就需要寻找在Web
平台上的数据库替代方案。然后发现了 Hive,它是一个开源的 Flutter 数据库框架,它支持在全平台上运行且性能很好。虽然不是关系型数据库,只是轻量级的键值对数据库,也能满足一些常用的功能。
Firebase Remote Config的工程化案例
Config 工程化的灵感是来自于澳洲体育视频项目,他们的 Remote Config 工程化做的非常好,它分为两大类 Config 和 Storage,然后用 CircleCI 来自动化处理 Config 的更新和 Storage 的文件上传,是由运维人员来实现的,具体实现细节不是很清楚,所以这里我们来实现一个基于 Python 的 Config 工程化的案例。
Flutter本地存储之Floor
单元测试覆盖率 Jacoco 集成过程
jacoco 是一款面向 java 的代码覆盖率分析工具,通过 ASM 字节码插桩技术,计算被测试代码覆盖的代码块,最后生成代码覆盖率报告。插桩方式分为在线(on the fly)和离线(offline)两种模式。其中在线模式在使用中更方便。
Flutter本地存储之SharedPreferences
Flutter 的 shared_preferences 库的作用是将数据以键值对的形式异步持久化到磁盘支持的数据类型有 int、double、bool、string、stringList,对于非 Web 平台删除 App 后数据会被清除,对于 Web 平台清除浏览器缓存后数据会被清除。
Flutter中数据存储
在 Flutter 的项目实践中数据存储的选型上主要考虑易用性和跨平台。这里罗列出了 Flutter 中常用的本地数据存储方案。
记一次 Android 代码混淆的全过程
这个文档的目的主要是为了记录为两个 Application 的 module 添加混淆支持的过程,同时也会添加混淆支持后遇到的 Crash 和解决方案,以便后续接手人员查缺补漏。
使用JUnit4进行单元测试
我们写单元测试,一般都会用到一个或多个单元测试框架,在这里,我们介绍一下 JUnit4 这个测试框架。其他的很多框架,包括我们后面会看到的 Robolectric,都是基于或兼容 JUnit4 的。
为什么需要单元测试?如何开始
从现实来看,周边的很多人几乎都没有写单元测试的习惯,就算是计算机专业出身的人,如果公司不要求做单元测试,可能对单元测试的概念都不是很清楚。所幸本人接触到的海外项目中公司都非常重视代码质量,对测试覆盖率也有一定的要求。
Singapore知名保险App项目重构路线
该项目大概是从 2015 年开始迭代到现在的 v2.11.1,其中主要的三个大的模块ia
(incomeapp)ot
(orangetravel)和oh
(orangehealth)分别有三个团队维护,我司在 2021 年开始负责并重构了ia
模块也就是现在的nia
,2022 年 10 月份开始由我司开始重构整个 app,把目前的 MVC 的开发模式重构为基于 Kotlin 的 MVVM 模式