因工作需要, 要新开项目就想 kotlin + compose 不知道是否可行? 我本身不是做安卓的, 所以想请教下这么做有没有坑? 比如第三方或者有无兼容问题 再或者使用 kotlin + 老的 xml 布局 -- 因为看了 compose 构建 listView, 就实在不想再看之前 adapter 那一套了
请看到的大佬们给点意见🙏🙏, 感谢
1
yuyu2140 2022-03-18 17:21:45 +08:00
去年下半年陆续写过两个小 app ,体验还是很不错的,大概遇到了两个问题,也可能是自己学艺不精,很多东西还没时间深入研究:
1. LazyVerticalGrid 结合 coil 加载大约 1000 张照片流时,滚动的时候卡卡的,没有 RV 流畅 2. 用 AndroidView 包裹 Webview 加载地图类网页时,地图无法加载,显示空白,文字图片正常,貌似 webgl 兼容性问题? |
2
yanheR 2022-03-18 17:23:17 +08:00
可以和原来那套 View 的东西混着写,还行,坑肯定是有的,毕竟这才发了稳定版没多久
|
3
crayygy 2022-03-19 21:07:59 +08:00
@yuyu2140 第一个问题我们也遇到了,官方表示是有性能问题的,目前还在解决,所以我们遇到列表的都不用 Compose
我个人觉得这个更像是在 Android View 层级包了一层类似 Flutter 的 Surface 渲染机制,只不过原本的 Flutter 是只能在 Activity 级别套用,而这个新的机制是在 View 级别的,并且语言是 Kotlin |
4
crayygy 2022-03-19 21:10:11 +08:00 1
工作需要我强烈建议不要用,尤其是对 Android 本身机制了解不够充足的情况下,遇到了问题都不知道是自己写的不对还是 Compose 自身的问题,用更成熟的方式至少遇到问题了能找到解决方案。
个人学习是可以学的,以后趋势还是会从命令式布局往响应式布局方案上转移的。 |
5
yilindoudou OP @crayygy 已经吃瘪了... 我能搞明白 mvc 那一套就行了... 分开基本上都明白, 但是不明白特性就很尴尬... 不知道是干嘛,
昨晚上试了下给按钮设置颜色(分状态) 就给搞了半天 |
6
yilindoudou OP @yuyu2140 不敢用... 太菜 kotlin 就行了, 不敢奢望 compose
|
7
fromzero 2022-04-18 19:08:11 +08:00
其实很简单 compose 官方文档看一遍
|
8
fromzero 2022-04-18 19:09:17 +08:00
@fromzero 再去 android 的 compose sample 运行多看看。关键是搞懂状态机,单向数据流,数据驱动 ui 这些概念,其他都很简单
|
9
yilindoudou OP @fromzero 就准备用 compose 这一套, 就是很多概念不太清楚, 只能慢慢的学了
|
10
yilindoudou OP compsoe 生成 UI 太方便, 实在不想再用 adapter 那一套, 老的一套也不怎么明白.... 然后就是兼容性问题, 低版本上效果并不是太好, 比如 Navigation
|
11
fromzero 2022-04-19 16:10:59 +08:00
@yilindoudou 是的 声明示 ui 已经是未来,前端都玩烂了
|