先放链接: https://apps.apple.com/cn/app/%E5%8D%9A%E7%89%A9%E6%97%85%E4%BA%BA/id6466980576
之前服务端和前端都做,最近 flutter 边学边写,合伙搞了个 app 出来,谈谈感受吧
就想到了这么多吧,结论就是:下次还是写原生吧,即使是小作坊。还挺想试试 jetpack 写 android
![]() | 1 AItsuki 2024-01-24 01:01:47 +08:00 jetpack 还不如 flutter ,无论从性能还是易用性上…… 不过确实值得试试。 |
![]() | 2 flyun 2024-01-24 07:45:12 +08:00 ![]() 1.因为 flutter 本身就是对标 Android 设计风格,而国内 App 大部分是 iOS 风格。 2.嵌套确实是一个问题,但是可以采取编码风格来避免。 3.flutter 在 iOS 因为硬件单一官方容易适配,Android 硬件碎片化,现在看到官方还在适配中,加上 Android 屏幕刷新普遍达到 120hz ,问题更明显。 关于 App ,如果有时间修改,建议城市包,可以提供用户试用,比如试听几分钟。一上来就付费,心里很难有底。另外可以在 iOS 模拟器多适配几个机型,在用户协议与隐私条例-同意并登录按钮文字出现折行,同意并登录时,应该改变下面协议为选中状态。 关于跨平台,可以明确自己的 App ,偏向丰富的功能还是偏向精美 UI 交互。跨平台、功能、UI ,这就像三个圆形,人力不够的情况无法同时都覆盖。 |
![]() | 3 murmur 2024-01-24 08:43:39 +08:00 ios 下就算 h5 都没多少性能问题 |
![]() | 4 oukichi 2024-01-24 08:48:46 +08:00 ![]() 我反而比较关注的是。。你自己写 app 然后注册了一个公司。。是不是现在个人开发者已经无法上架应用了? |
![]() | 6 tikazyq 2024-01-24 09:12:28 +08:00 所以还是 RN 比较合适? |
7 xj3hd 2024-01-24 09:14:33 +08:00 交互挺好的 |
![]() | 8 debuggerx 2024-01-24 09:35:38 +08:00 “5. 各种代码生成器,json 序列化、riverpod 、retrofit 、路由等等。刚开始不懂,后来懂了,原来 dart 没有反射” 其实和反射关系不大,或者说并不是你理解的那个样子 |
9 timelessg 2024-01-24 09:42:39 +08:00 via Android dart 就是一坨 |
![]() | 12 chshapple OP @flyun 感谢建议。其实有试听,每天 5 分钟,现在准备时间再加长。UI 问题后续会在多种屏幕尺寸的机型上再做下测试。 |
![]() | 14 HyperLuo 2024-01-24 11:16:56 +08:00 尝试使用 jsbridge 和 webview 了吗,感觉如何 |
![]() | 15 lwjlol 2024-01-24 11:28:32 +08:00 可以默认关闭 material design 3 然后使用苹果风格前缀为 Cupertino 的组件,组件封装可以使用一个 类似 TextStyle 的 包装类作为参数,这样传入这个包装 Style 参数就行。 |
![]() | 16 lwjlol 2024-01-24 11:32:22 +08:00 另外 swiftui 以及 jectpack compose 的成熟性都不如 flutter ,你上面提到的那些问题,对我来说都不是问题。 |
![]() | 17 lwjlol 2024-01-24 12:05:59 +08:00 @lwjlol Android 上掉帧可能是部分国产机型帧率适配原因,https://pub.dev/packages/flutter_displaymode 用这个库初始化的时候手动提高一下帧率。其他部分如果发生掉帧,就 devtool 检查下哪部分代码导致的掉帧,ios 机器性能普遍较高,有问题但是被机器的性能掩盖掉了导致你以为只是在 android 掉帧。 |
![]() | 18 hahastudio 2024-01-24 12:12:23 +08:00 样式这个我觉得是所有跨平台框架的问题,说着是一份代码到处执行,但其实可能真正能复用的只是客户端跟服务器之间的代码 让应用体验够好的话,还得是不同的平台给不同的交互逻辑 |
![]() | 19 lwjlol 2024-01-24 12:13:11 +08:00 @lwjlol lz 的 app 有点类似官方的 https://play.google.com/store/apps/details?id=com.gskinner.flutter.wonders&hl=zh&gl=US 。 可以看看这个 app 动画更多。 源码: https://github.com/gskinnerTeam/flutter-wonderous-app |
![]() | 20 lwjlol 2024-01-24 12:18:38 +08:00 ![]() @lwjlol 而且这个官方的 showcase 是包括 destop 平台的,这也是使用 flutter 的最大收益,简单的 app 仅仅只是一些 ui 的展示,完全没有必要每个端写一个原生 app ,为了所谓的原生交互体验(我说着难听直接一点就是技术能力不够,找借口是 flutter 卡) |
![]() | 21 yaocf 2024-01-24 12:23:06 +08:00 via Android dart 是有反射的,只是 flutter 没有,可能是谷歌被 java 时代的反射搞怕了,flutter 禁用 dart 之后,世界一下子就安静了。 |
![]() | 22 chshapple OP @HyperLuo 没有用到哎,早期写 cordova 项目的时候全是这种东西。webview 适合一些大型 APP 做部分临时的脏业务,灵活性会非常高,像我们这种小东西就完全用不到。 |
![]() | 23 chshapple OP @lwjlol 感谢你的建议,我确实研究过这个官方示例。高刷屏的 Android 机型在很多时候流畅度甚至超越 iOS ,只是会碰到一些小问题(例如动画方式的图片模糊会有明显卡顿),开发的时候我还是用的几年前的骁龙 888 平台的机子,可能再新一点的机型会有改善。 |
25 iOCZS 2024-01-24 13:26:50 +08:00 反射会影响 tree shaking |
![]() | 26 xieren58 2024-01-24 13:43:23 +08:00 jectpack compose 好用太多... |
![]() | 27 dazuijuren004 2024-01-24 14:44:24 +08:00 app 体验很好, |
![]() | 28 rrubick 2024-01-26 08:25:50 +08:00 via iPhone 最近研究 iOS 原生的东西,比如在 shortcuts 调用 flutter ,快 2 周了还没好,要炸了,我太菜了。。。 |