最近开发安卓原生,用的是 Jetpack compose+kotlin ,最大的问题就是没有 hot reload ,改的东西不能实时预览,好难受啊
1
w568w 9 天前 ![]() Jetpack compose 有实时预览( Live Preview )和热重载( Hot reload )啊。你确定你不是看漏了?或者你说的「热重载」是特指「写完代码后一瞬间更新界面」?
|
![]() |
2
DeweyReed 9 天前 ![]() 完全正确。Live Edit 是个残废,另外 ADB Wifi 也是。
KMP 的桌面端刚整了个 Compose 的 Hot Reload 。 |
![]() |
3
XTTX 9 天前 ![]() 体验了一个月的 react-native expo, 已经吐了。各种 style 在压成 apk 后不生效。web 大部分情况下所见即所得。
|
4
Lockroach 9 天前 ![]() 现在有 preview 的话的话稍微好点,不过开发体验上确实没有 web 好
|
5
Donahue 9 天前 ![]() 确实,之前尝试简单入门过 android 开发/react-native-expo 也玩了一下,都不太行,跟 web 开发的体验比起来有很大差距。
|
![]() |
6
magicls 9 天前 via Android ![]() 10 年 android 开发表示:调 UI 只是最后一步。逻辑写完之前,所有 View 都先随便摆
|
![]() |
7
Helsing 9 天前 via iPhone ![]() 这个确实不好,历史包袱太多,Google 都搞不好
|
8
realkaiway 9 天前 ![]() @XTTX 老哥情况属实吗,我刚开始搞
![]() |
![]() |
9
narmgalaxy 9 天前 ![]() flutter 热重载还可以
|
![]() |
10
lisongeee 9 天前 ![]() web 前端的热重载叫 hmr (Hot Module Replacement),运行机制基于 js 的 dynamic import
《改的东西能实时预览》 这个是基于模块边界的局部刷新(无需刷新整体页面或重启进程) 此外 hmr 要搭配 react/vue 这类 ui 框架才是体验最优,它们会定义一个模块边界(.tsx/.vue) 来实现组件级别的局部刷新,如果是搭配 jquery/原生 js 就是整体刷新页面,体验其实不咋地 目前最流行的前端构建工具 vite 也能很方便去自定义单个文件 hmr 逻辑 https://cn.vite.dev/guide/api-hmr 前端的 hmr 体验这块确实是天花板级别 |
11
cybort 9 天前 via Android ![]() 是这样的。堪比手写 css 然后导入进去的感觉
|
![]() |
12
WngShhng 9 天前 ![]() 体验越好,门槛越低
|
13
sofukwird 9 天前 via Android ![]() 那你用 flutter 呀,flutter 有 hot reload ,虽然在我机器上要 0.7s 比 web 的 0.2s 长但毕竟是有
|
14
aresyang 9 天前 ![]() 手动推 so 才是重工业
|
15
apkapb 9 天前 ![]() jetpack compose 其实我觉得是已经算好的了;
最起码我 web 全栈 开发安卓也算容易入门且能做一个算好看、好用的安卓了。 至于这个刷新问题,只能说,你先多写一点,再预览 |
![]() |
16
XTTX 9 天前 ![]() @realkaiway expo 53, react 19, react native xxx 版本,各种各样的坑。 除非你写的是个玩具, 不然会有各式各样的坑。 但是就像上面老哥说的, 门槛越低,AI 会全面替代。
|
17
realkaiway 9 天前 via iPhone ![]() @XTTX 东西倒不复杂,prebuild 也暂时正常,真遇到了这问题再慢慢排查吧,只能忍了,原生我也不会
|
![]() |
18
XTTX 9 天前 ![]() @realkaiway emulator 到 手机 Expo development 到 eas 压成 apk, 三个环境 正常情况下都是一致的。上点复杂点的拖拽就各种抽风。
|
![]() |
19
kldd529 9 天前 ![]() 确实,就算 preview 也是慢半拍,还时不时报错预览不出来,vue vite 就很丝滑
|
![]() |
21
xiaoshan5733 9 天前 ![]() 我用 expo 开发多端经验是先在 iOS 上开发,全部功能开发完成后再 Android 适配( Android 开发体验很差,模拟器真不想开),目前 iOS 、iPad 、Android 、tvOS 都有开发上线的 app 。
如果真说有什么卡点,微信支付、支付宝支付这种需要原生 SDK 接入的情况吧,理论上用 expo module 也可以实现,可能要花点时间。 |
22
jamel 9 天前 ![]() idea eap 没有 kmp 插件,气死了,一直在等。又不想回退。
准备 写个完整的 kmp 项目 包含 ios 、android 、web 、exe 。看看 kmp 到底咋样了 |
23
LUO12826 9 天前 ![]() 对于带 UI 的开发 难道有比 Web 前端体验更好的么
|
![]() |
25
irisdev 8 天前 ![]() 写界面的论开发体验其他的跟 web 前端都没法比
|
![]() |
26
nicefrp OP @w568w 有在用 Live Edit ,但相对前端的 HRM ,开发体验还是相差太多了
@DeweyReed Live Edit 体验还是不太行 @magicls Android 大佬,现在 Android 开发套装怎么选?例如网络请求库、热更新 Hot Fix 之类的,一些 APP 都会用到的功能,以及他们的技术选型 @narmgalaxy 前几个月搞 Flutter ,实时预览相对原生好点,但相对 web 还是太差了 @lisongeee 嗯嗯,是的,hmr 这块前端确实天花板级别 @sofukwird 不能这样的,这里讨论的是 Android 原生的开发体验,怎样提升开发速度,选 Flutter 是另一个话题了 @LUO12826 目前我发现确实没有,哈哈 |
![]() |
27
XTTX 8 天前 ![]() @yanyao233 是的. nativewind 越用越烦。inline 有时候 margin 也不生效。 最吐的还是 expo dev 手机上 和最终的打包完之间的差距。
|
![]() |
28
halzhang 8 天前 ![]() 确实,Android 开发改完编译运行,耗时都可以抽完一根烟
|
![]() |
29
yafoo 8 天前 via Android ![]() 对我这新手来说,安卓开发最大的问题就是编译失败
|
30
zzjun 8 天前 ![]() Compose 体验已经很好了
|
![]() |
31
kapaseker 8 天前 ![]() 按道理 Jetpack compose 是有热重载的,但是这个不是万能的,有资源更新和类更新就不行了,得重新 run 。
不过对我来讲,UI 我一般都是最后调整的,前期都是先把逻辑写完,UI 上有控件就行了。 我 14 年开发过一段时间的 Web ,那个时候我是直接用 firefox 的代码段和 chrome 控制台直接调试代码,确实好用。Android 没有。 |
![]() |
32
Bichat 8 天前 ![]() 想编译快你得用 flutter
|
33
Nanosk 8 天前 ![]() 之前做 framework 的 ui 开发,每次改完要重新 build img ,然后刷机,那叫一个折磨。。
|
![]() |
34
unco020511 7 天前 ![]() 那是体验没有那么好吗,是差得远好吧,android 的开发体验就从来没好过
|
![]() |
35
AoEiuV020JP 7 天前 ![]() 确实安卓的开发就给人感觉“不够现代”,明明 compose 已经是很新的技术了,但就是给人老掉牙的感觉,
|
![]() |
36
nicefrp OP @halzhang 这个暂时没到那步,目前编译速度还行,可能还没有什么功能
@yafoo 是的,感觉 android 的包管理比 npm 的包还难搞 @kapaseker 最主要的是不像 web 可以在浏览器调试界面 @Bichat 有项目上 Flutter 的,目前这个项目不上 @Nanosk 哈哈哈 @unco020511 确实 @AoEiuV020JP 确实的,开发体验太差了,过段时间搞搞原生苹果,体会一下苹果的开发体验 |
37
Venjer 2 天前
ui 部分 all in flutter 吧。除非用到直播 地图 webview 这些 surfaceceView ,某些情况下需要特殊处理。
|