现在 Android 客户端开发技术栈的最佳实践是什么?

2023-04-25 14:17:46 +08:00
 hfl1995
如题,有没有版本答案 T0 阵容?
10405 次点击
所在节点    Android
22 条回复
hui9000
2023-04-25 14:22:06 +08:00
等一个大哥
kalixi
2023-04-25 14:40:22 +08:00
act 一把梭
azhangbing
2023-04-25 14:46:43 +08:00
列一下我们的架构

组件化+模块化( ARouter +
网络请求 Kotlin+协程+Flow+Retrofit
Jetpack+MVVM 架构
ROOM
ViewBinding&DataBinding
热更 tinker
插件化 shadow
日志组件 mars 里的 xlog
sp MMKV
webview 腾讯 X5 内核
lxiian
2023-04-25 14:57:52 +08:00
@azhangbing 跟我差不多 基本就这些
alleluya
2023-04-25 14:58:27 +08:00
@azhangbing 为啥 webview 不用原生的 仅仅是因为方便 不用自己封装太多的东西么? 这种定制 webview chromium 的版本都比较低吧 感觉对前端挺不友好的 有时候还得要做兼容
liveoppo
2023-04-25 15:39:25 +08:00
Compose 应该是最大跨度的飞跃,写界面简单太多了,比如列表之类
也直接淘汰了很多老技术,什么 adaptor 、data binding 都不用了
另外引入了 React 的 prop 、state 概念,开发思路大变
fresco
2023-04-25 15:41:34 +08:00
compose mvvm 可以去 github 看看 mvmm 最佳实践项目参考一下
AprilBob
2023-04-25 15:47:13 +08:00
compose 怎么学比较好
Nuttertoo1s
2023-04-25 15:47:26 +08:00
@azhangbing 腾讯 X5 内核以前用过一段时间,你们是怎么处理的第一次安装启动默认使用系统内核的问题
azhangbing
2023-04-25 15:52:44 +08:00
@Nuttertoo1s PreInitCallback 的 onViewInitFinished 中监听 X5 初始化完成再加载
azhangbing
2023-04-25 15:55:08 +08:00
@alleluya 我们最低 SDK 还要兼容 Android 4.4 ,对于高版本的机型如果没有一定要用 X5 的需求,可以做版本判断,直接使用系统内核
v999ex
2023-04-25 16:59:03 +08:00
Flutter ,未来直接兼容 Fuchsia
alleluya
2023-04-25 17:46:34 +08:00
@azhangbing 噢噢 了解 不过现在还要兼容 4.4 么? 客户端需要这么低的版本兼容? 前两天我看不是说微信都提升兼容的最低版本号了么
whyrookie
2023-04-25 18:09:05 +08:00
@azhangbing #11 有尝试使用过 GeckoView 吗?
retrocode
2023-04-25 18:16:45 +08:00
那我就后排求个脚手架学习学习了
owen800q
2023-04-25 22:56:56 +08:00
我司 2021 开始的项目都是 react native webview + vant

体验上比原生还丝滑
tramm
2023-04-26 08:13:37 +08:00
@retrocode #15 我也蹲一个
conglovely
2023-04-26 08:51:29 +08:00
@retrocode #15 我也蹲一个
azhangbing
2023-04-26 10:01:07 +08:00
compose 的概念非常好 我也尝试过做小东西,包括项目里我也会用 DSL + 百分比布局来实现一些 view 写法和思想上是类似的,但是当前列表优化的还不是很好 渲染的时间比 recycleview 高很多

跨平台的 ios 已经 beta 版了 可以做点小东西玩一下 距离到商业 APP 还有些距离
deng81416754
2023-04-27 11:21:15 +08:00
@alleluya 因为用户手机的内核参差不齐 ,如果前端使用较新的架构,如 vue3 可能会有 js 兼容问题,如果使用 x5 只需要适配 x5 所使用的版本即可,这都是实际开发中所遇到的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/935350

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX