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