求指导:公司现在需要开发 app,计划使用 flutter

2023-07-01 23:17:29 +08:00
 xuxuxu123
公司现在需要开发 app ,计划使用 flutter ;客户端涉及安卓以及 IOS ;
求助各位大佬,讲一下 flutter 开发过程中需要注意的点,以及有没有好点的教程可以推荐一下;
小弟在此感谢
8890 次点击
所在节点    程序员
82 条回复
skenan
2023-07-02 11:23:27 +08:00
@RightHand 你这是造谣吧
gitopen
2023-07-02 11:27:05 +08:00
webview + react 不香吗 😃
murmur
2023-07-02 11:28:12 +08:00
@gitopen webview 有个致命问题,就是 ios 的相机太 tm 占资源了,只要一拍照 webview 直接进程干死白屏,你还得用一堆代码去做错误恢复
fox0001
2023-07-02 11:30:19 +08:00
我觉得,尽早引入 provider 或者 getx ,开发思路接近 vue 。
RightHand
2023-07-02 11:34:48 +08:00
@skenan 现在是社区维护,还有大佬站台么?
ac169
2023-07-02 11:39:17 +08:00
[ [**跨平台应用程序开发框架那家强?**]( https://www.v2ex.com/t/952470) ] 看来有不少团队有相同的困惑。个人也倾向 flutter 但是没有对比无法理性选择。
SolidZORO
2023-07-02 11:41:52 +08:00
@RightHand 本来不想说的但是你这的确是造谣啊。

官方一直在维护,rn 现在出到 0.72 了。而且 yoga css 都 2.0 在 alpha 了。expo 那边也到了 sdk49 ,一直更新中,而且越来越多 lib 都包含 for rn-web 版本了。

rn 生态也算是很好的。因为封装一个 lib 太容易了。android 和 iOS 各找一个对应功能,极少代码量就可以完成封装。

不过我现在要选肯定 rn + webview ,实在太方便了,web 真的是未来。
putaozhenhaochi
2023-07-02 12:19:31 +08:00
什么 react native ,flutter 啊。说不定还不如不折腾的原生呢
daliusu
2023-07-02 12:27:00 +08:00
如果你们全职移动端没有,最好的解决办法是 web 套壳,真别不信.... 不管移动端还是 pc ,这都是最省心省力的办法
milukun
2023-07-02 12:32:45 +08:00
1 、确定应用大方向的需求,确认是否适合 flutter 开发,以下并不适合

( 1 )完全是小组件应用,如万能小组件
( 2 )手表应用
( 3 )强文本编辑交互类,例如“纯纯写作”,应用基本完全基于用户输入、写笔记方面。因为富文本处理比较差,虽然很比较好的开源,但是 fl 对文本的支持一直都差点意思

2 、尽快确定状态管理和路由使用什么,整个团队达成共识

GetX 简单但是比较有争议,主要在于有些开发者觉得 GetX 封装了太多东西,简单的代价是社区不维护的话就有风险

3 、多逛逛 pub.dev 搜索第三方包,很多东西可以不必亲自实现,也可以借鉴
也可以用 pubdev.top 以动图的方式浏览第三方包

4 、flutter 的开发体验真的非常愉快,实际上手试试就知道了,学习的话可以跟随 google 官方课程:
https://codelabs.developers.google.com/?text=flutter

5 、推荐一个 Flutter 开源的项目,已经上架 app store 和 goole play

App store: https://apps.apple.com/cn/app/wonderous/id1612491897
git: https://github.com/gskinnerTeam/flutter-wonderous-app

另外补充,有人对 flutter 有偏见说 app store 不喜欢第三方的框架,会在上架时又困难,其实并没有这个说法。flutter 开发的 APP 一样可以上苹果编辑推荐(我只上过一次周推荐
x77
2023-07-02 12:38:13 +08:00
@CodingIran

插件的确是这样,水平参差不起。

我觉得一方面是因为(欠缺原生开发能力的)前端开发人员提供的插件较多,实现的插件 Native 代码还处于“能跑就行”的状态,性能、可靠性、兼容性、可维护等方面都较差。

另外一方面,Google Flutter 的“选用”策略似乎也没了以前 Google 生态建设的智慧,一些高 Like 的 Package 竟然各种问题,很无语。

要驾驭 Flutter 门槛还是蛮高的,前端、原生能力都要具备,虽然前端背景容易入手,但是想驾驭原生跨平台框架还是远远不够。但是 Flutter 对于有经验的开发者还是很不错的选择,毕竟框架本身做的还是很好。
owen800q
2023-07-02 13:17:47 +08:00
@SolidZORO 我司最近两年的移动端项目都是 RN + webview
原生交汇用 RN 写,UI 用 vant 写的,体验上和原生一样丝滑
tpkxywxd
2023-07-02 13:40:30 +08:00
flutter 适合应用不依赖太多原生功能,大部分内容是纯 UI ,同时你们团队想要追求更好的移动端使用体验,但又缺少移动端开发人员的场景下使用。

同意 #7 楼的看法,只看官方文档就够了,尽量使用官方提供的或者社区长期维护的库,以简单实用为主,一个 package 只做一件事,别用功能大而全,从其它开源项目那里拷贝、七拼八凑起来的库。现在选择 flutter 其实相比 2021 年以前已经没什么坑了,但是如果想要针对 web 端和桌面端开发,就还是有不少坑的。
ben123321
2023-07-02 13:47:18 +08:00
@milukun 大佬,想问下有开发过小组件吗?有个问题想请教下。
qweruiop
2023-07-02 14:13:57 +08:00
已经从 2 年的 flutter 起坑,转 rn+expo 了,心情无比好。特别是 android ,非常非常的不顺滑,再也不需要听研发说都是三方插件惹的祸了。
meteor957
2023-07-02 15:16:52 +08:00
@RightHand 纯属造谣
zerosrat
2023-07-02 15:22:19 +08:00
@murmur 不用 webview 用 rn 的话,需要客户端投入很多。后者一样有坑的,比如 crash 率涨上去需要客户端来解。团队前端比较多的话,webview 和 rn 的学习成本小于 flutter ,
roundgis
2023-07-02 15:24:22 +08:00
@owen800q vant 是用 vue 寫的那個?
owen800q
2023-07-02 15:27:54 +08:00
sunnysab
2023-07-02 15:46:30 +08:00
个人感觉比 RN 好,发请求到第三方服务器没有跨域问题。
flutter 令我头疼的一点是库依赖的版本,比如某基础库 A 3.0 -> 4.0,你想用上,同时 B 依赖了 A (3.0),那么只要 B 不升依赖,你就没法升,也算是很多语言(的包管理器)有这个问题吧。

跑个题,Rust 的 Cargo 会把两个版本的包 A ( 3.0,4.0 )都编译进进入最终程序,不会出现依赖冲突,所以我在 flutter 上遇到这个问题有点难受。

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

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

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

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

© 2021 V2EX