2 个月时间写了个小项目,谈谈写 flutter 的一点感受吧

299 天前
 chshapple

先放链接: https://apps.apple.com/cn/app/%E5%8D%9A%E7%89%A9%E6%97%85%E4%BA%BA/id6466980576

之前服务端和前端都做,最近 flutter 边学边写,合伙搞了个 app 出来,谈谈感受吧

  1. 出厂自带的 md3 对国内的设计习惯非常不友好,有大量时间在做样式覆盖。可能以前中台 web 做习惯了,antd 一把梭,从来都不考虑样式。
  2. 并没有遇到严重的地狱嵌套问题,提高代码可读性的方法有很多,包括但不限于组件的分离、使用 mixin 、使用 extension ,以及合理使用逗号。
  3. 在 iOS 上基本没有遇到性能问题。Android 上掉帧就比较多了,一些动画根本不敢用,打开 impeller 开关后更是一堆 bug 。
  4. 组件封装的书写挺难受的。一些轮子组件,动辄 2 、30 个 named parameter 。封装自定义组件的时候,这些参数我又得再写一遍,然后传给轮子。幸好有 copilot ,不然得疯。
  5. 各种代码生成器,json 序列化、riverpod 、retrofit 、路由等等。刚开始不懂,后来懂了,原来 dart 没有反射

就想到了这么多吧,结论就是:下次还是写原生吧,即使是小作坊。还挺想试试 jetpack 写 android

4762 次点击
所在节点    程序员
28 条回复
yaocf
299 天前
dart 是有反射的,只是 flutter 没有,可能是谷歌被 java 时代的反射搞怕了,flutter 禁用 dart 之后,世界一下子就安静了。
chshapple
299 天前
@HyperLuo 没有用到哎,早期写 cordova 项目的时候全是这种东西。webview 适合一些大型 APP 做部分临时的脏业务,灵活性会非常高,像我们这种小东西就完全用不到。
chshapple
299 天前
@lwjlol 感谢你的建议,我确实研究过这个官方示例。高刷屏的 Android 机型在很多时候流畅度甚至超越 iOS ,只是会碰到一些小问题(例如动画方式的图片模糊会有明显卡顿),开发的时候我还是用的几年前的骁龙 888 平台的机子,可能再新一点的机型会有改善。
lwjlol
299 天前
@chshapple 等待 android 的 impeller 正式版,可能会有改善,估计就最近几个版本。
iOCZS
299 天前
反射会影响 tree shaking
xieren58
299 天前
jectpack compose 好用太多...
dazuijuren004
298 天前
app 体验很好,👍
magic3584
297 天前
最近研究 iOS 原生的东西,比如在 shortcuts 调用 flutter ,快 2 周了还没好,要炸了,我太菜了。。。

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

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

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

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

© 2021 V2EX