1
haha512 2023-07-01 23:22:09 +08:00
https://book.flutterchina.club/
|
2
superedlimited 2023-07-01 23:22:33 +08:00 via iPhone 4
用 react native + expo ,坑会少很多。
|
3
Bijiabo 2023-07-02 00:22:23 +08:00
如果考虑项目长期使用,建议不要选择 Flutter 方案
|
4
x77 2023-07-02 00:55:46 +08:00 4
2021 年接触 Flutter 以来从未遇到让人失望的事情,只看官方文档
|
5
estk 2023-07-02 00:57:40 +08:00
用 react native + expo ,坑会少很多。
|
6
storypanda 2023-07-02 07:00:40 +08:00
https://pub.dev/,我司技术人员几乎每天都表扬一次 flutter 生态。
|
7
debuggerx 2023-07-02 07:36:32 +08:00 via Android 2
只看官方文档即可快速入门,少看官方以外的资料避免被误导走弯路,没事别瞎封装瞎架构,原生开发的很多习惯可能会是累赘,别用 getx ,多选官方和社区维护的高质量库。
发展到现在,rn 和 flutter 已经没啥可比性了,只要不看垃圾教程或者自己瞎写走弯路,flutter 的坑实际比 rn 要少 |
8
sSsSsSs 2023-07-02 08:52:15 +08:00
如果你会写插件,Flutter 几乎没坑,大多数人遇到的坑,就是第三方插件有问题。
|
9
C603H6r18Q1mSP9N 2023-07-02 09:31:44 +08:00
能接受 产品上线后,闲养 2 个 flutter 中高级工程师 就可以用
|
10
pdog18 2023-07-02 10:02:34 +08:00
op 有移动端开发经验吗?什么背景介绍一下啊
|
11
murmur 2023-07-02 10:10:01 +08:00 2
我们也在纠结这个问题,我有点偏向 rn 了,rn 因为渲染的本身就是 native ,当和 fragment 集成的时候更有优势,有的 sdk 给的是 fragment ,直接作为页面的一部分,注意是一部分不是整个页面是可以做到的
|
12
nikenidage1 2023-07-02 10:25:20 +08:00
有 rn 和 flutter 的比较吗?
|
13
darkengine 2023-07-02 10:41:39 +08:00
@debuggerx 感觉官方文档有点到即止,看#1 提到的 https://book.flutterchina.club/ 解答了很多疑问。
|
14
CodingIran 2023-07-02 10:44:41 +08:00 1
@x77 我现在的公司从去年开始将技术栈从原生 --> Flutter ,肠子都悔青了,各种插件水平参差不齐,已经 fork 了很多插件修改源码才勉强运行(内购插件、Auth2 登录、自动更新、日志埋点...) 期间造轮子的时间和成本一言难尽...
强烈建议只把 Flutter 做一个 UI 框架引入到原生项目,如果你的 App 有大量与原生平台底层交互的场景,谨慎 All in Flutter ! |
15
darkengine 2023-07-02 10:45:09 +08:00
@murmur 不知道 Flutter 的 AndroidView 能不能解决这个问题: 用 Flutter 的 Widget 包这个 AndroidView ,在 AndroidView 初始化的时候把需要 Fragment 加上。
|
16
CodingIran 2023-07-02 10:49:13 +08:00
@CodingIran 另外补充一点,如果你的 App 对流畅度(要求动画丝滑、转场流畅)和性能(内存占用、启动速度、交互响应)要求很高的话,也要慎重考虑 Flutter 。
ps: 同一个项目,切换到 Flutter 之前,冷启动后 iOS 原生内存占用 50~80M ; Flutter iOS 版内存占用 150M +,执行动画时会飙升 200M +(很简单的动画) |
17
murmur 2023-07-02 10:52:40 +08:00
@darkengine 需求其实就是 IM SDK 集成,通讯录界面、消息列表都是对方提供,作为 app 的一个 tab 页
网上的思路都是相反的,native 做这部分,其余的业务用 flutter 做 rn 就不存在这个问题,每一部分都是原生组件,用 rn 写和套 native 没什么区别 |
18
darkengine 2023-07-02 11:04:03 +08:00
@murmur 嗯,官方给的例子也是把 Flutter Fragment 嵌入到现有的 native Android 项目。其实反过来想,还有个方案是其他 tab 嵌 Flutter ,IM 这个 tab 保持原生。不过维护起来可能会有很多坑 😂
|
19
RightHand 2023-07-02 11:17:45 +08:00 via Android
rn 官方都抛弃了
|
20
zoharSoul 2023-07-02 11:21:19 +08:00
@superedlimited #2 感觉 rn 在 Android 上的表现真的垃圾
|
22
gitopen 2023-07-02 11:27:05 +08:00
webview + react 不香吗 😃
|
23
murmur 2023-07-02 11:28:12 +08:00
@gitopen webview 有个致命问题,就是 ios 的相机太 tm 占资源了,只要一拍照 webview 直接进程干死白屏,你还得用一堆代码去做错误恢复
|
24
fox0001 2023-07-02 11:30:19 +08:00 via Android
我觉得,尽早引入 provider 或者 getx ,开发思路接近 vue 。
|
26
ac169 2023-07-02 11:39:17 +08:00
[ [**跨平台应用程序开发框架那家强?**]( https://www.v2ex.com/t/952470) ] 看来有不少团队有相同的困惑。个人也倾向 flutter 但是没有对比无法理性选择。
|
27
SolidZORO 2023-07-02 11:41:52 +08:00 via iPhone
@RightHand 本来不想说的但是你这的确是造谣啊。
官方一直在维护,rn 现在出到 0.72 了。而且 yoga css 都 2.0 在 alpha 了。expo 那边也到了 sdk49 ,一直更新中,而且越来越多 lib 都包含 for rn-web 版本了。 rn 生态也算是很好的。因为封装一个 lib 太容易了。android 和 iOS 各找一个对应功能,极少代码量就可以完成封装。 不过我现在要选肯定 rn + webview ,实在太方便了,web 真的是未来。 |
28
putaozhenhaochi 2023-07-02 12:19:31 +08:00 via iPhone
什么 react native ,flutter 啊。说不定还不如不折腾的原生呢
|
29
daliusu 2023-07-02 12:27:00 +08:00
如果你们全职移动端没有,最好的解决办法是 web 套壳,真别不信.... 不管移动端还是 pc ,这都是最省心省力的办法
|
30
milukun 2023-07-02 12:32:45 +08:00 1
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 一样可以上苹果编辑推荐(我只上过一次周推荐 |
31
x77 2023-07-02 12:38:13 +08:00
@CodingIran
插件的确是这样,水平参差不起。 我觉得一方面是因为(欠缺原生开发能力的)前端开发人员提供的插件较多,实现的插件 Native 代码还处于“能跑就行”的状态,性能、可靠性、兼容性、可维护等方面都较差。 另外一方面,Google Flutter 的“选用”策略似乎也没了以前 Google 生态建设的智慧,一些高 Like 的 Package 竟然各种问题,很无语。 要驾驭 Flutter 门槛还是蛮高的,前端、原生能力都要具备,虽然前端背景容易入手,但是想驾驭原生跨平台框架还是远远不够。但是 Flutter 对于有经验的开发者还是很不错的选择,毕竟框架本身做的还是很好。 |
32
owen800q 2023-07-02 13:17:47 +08:00
@SolidZORO 我司最近两年的移动端项目都是 RN + webview
原生交汇用 RN 写,UI 用 vant 写的,体验上和原生一样丝滑 |
33
tpkxywxd 2023-07-02 13:40:30 +08:00
flutter 适合应用不依赖太多原生功能,大部分内容是纯 UI ,同时你们团队想要追求更好的移动端使用体验,但又缺少移动端开发人员的场景下使用。
同意 #7 楼的看法,只看官方文档就够了,尽量使用官方提供的或者社区长期维护的库,以简单实用为主,一个 package 只做一件事,别用功能大而全,从其它开源项目那里拷贝、七拼八凑起来的库。现在选择 flutter 其实相比 2021 年以前已经没什么坑了,但是如果想要针对 web 端和桌面端开发,就还是有不少坑的。 |
35
qweruiop 2023-07-02 14:13:57 +08:00
已经从 2 年的 flutter 起坑,转 rn+expo 了,心情无比好。特别是 android ,非常非常的不顺滑,再也不需要听研发说都是三方插件惹的祸了。
|
37
zerosrat 2023-07-02 15:22:19 +08:00
@murmur 不用 webview 用 rn 的话,需要客户端投入很多。后者一样有坑的,比如 crash 率涨上去需要客户端来解。团队前端比较多的话,webview 和 rn 的学习成本小于 flutter ,
|
40
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 上遇到这个问题有点难受。 |
41
rsyjjsn 2023-07-02 15:54:24 +08:00
我情愿前期多花时间写 flutter ,也不愿意后期被业主指着改这个样式咋不统一的 rn
|
42
roundgis 2023-07-02 16:01:37 +08:00 via Android
@owen800q 所以你們用 rn 跑一個 web server 然後把 vant 掛在上面用?還是直接用 webview 打開?
|
43
owen800q 2023-07-02 16:39:44 +08:00
@roundgis
rn 跑一個 web server 然後把 vant 掛在上面用, webview 訪問 localhost |
44
hsfzxjy 2023-07-02 16:46:36 +08:00 via Android
话说 jetpack compose 怎么样
|
45
Hanggi 2023-07-02 16:51:43 +08:00
Flutter 没啥问题的,可以放心使用
|
52
FreshOldMan 2023-07-02 18:59:40 +08:00
@sunnysab #40 rn 本质网络走的 native ,也没跨域问题,你们到底开发过没。。。就胡说
|
53
FreshOldMan 2023-07-02 19:00:55 +08:00
@RightHand #25 什么逻辑大佬站台,Facebook 官方一直在维护,美团,携程一直在用这个,张嘴就来
|
54
FreshOldMan 2023-07-02 19:03:28 +08:00
@gitopen #22 又卡又慢你自己用不用,自己不用不要推荐别人用
|
55
jlkm2010 2023-07-02 19:13:36 +08:00
|
56
dw2693734d 2023-07-02 19:40:45 +08:00
既然要跨平台,为啥不直接用网页了呢🤔️
|
57
Samuel021 2023-07-02 20:11:04 +08:00
要不要考虑小程序的方式?比如我司的 FinClip
|
58
xuxuxu123 OP |
59
xuxuxu123 OP |
61
xuxuxu123 OP |
63
Bijiabo 2023-07-02 23:21:43 +08:00
说 RN 卡的...大多是自己水平不行。RN 遇到问题,就算菜还有希望用原生优化。
至于 Flutter 这种轮子,就好像当年移动端用 Canvas 绘制页面一样,过段时间就没了 |
64
jones2000 2023-07-03 00:00:26 +08:00
能用 h5 搞的,就做成 h5 ,剩下的难搞的就上原生。
跨平台就是为了省钱, 省钱就用 h5 套壳。 其他的什么框架都是鸡肋, 又没有 h5 这么便宜的开发成本,也没有原生的性能。 |
65
Dynesshely 2023-07-03 06:05:19 +08:00
其实是可以考虑使用 flutter 的
你们是物联网项目, 那么必然涉及到一些底层调用, 你也提到有第三方 sdk 嵌入, flutter 通过 channel 提供了平台调用 |
66
Poko 2023-07-03 08:33:41 +08:00
uni-app 一把梭
|
67
cheman 2023-07-03 09:48:24 +08:00
真的很舒服,开发起来,3 个项目,3 年 Flutter 的开发人员
|
68
jearbilove 2023-07-03 10:29:28 +08:00
flutter 作为渲染层框架,在样式一致性上比 rn 强多了。另外对接原生的一些功能,可以写 channel 去调啊,把 flutter 用在合适的地方很重要。rn 底层对接的是原生组件,如果遇到问题如果没有一点原生客户端经验的话也是不行的
|
70
ciki 2023-07-03 10:37:07 +08:00
最好的解决方案就是原生+H5+小程序框架
|
71
ShrinkLynn 2023-07-03 11:01:45 +08:00
RN 0.7.0+ 的更新真的还不错 ...
怎么说呢,Flutter 复杂的开发还是要疯狂写 native view ,那还不如用 RN 了。 要是你们项目比较简单,Flutter 也是可以的。 |
72
Bijiabo 2023-07-03 12:19:22 +08:00
楼主可以看看:国内做物联网应用的大厂,清一色采用 RN 方案,几乎看不到用 Flutter 的。
|
75
milukun 2023-07-03 14:11:30 +08:00
@ben123321 #62 可以留意一下这个项目: https://github.com/leanflutter/.github/blob/main/profile/README-ZH.md
有 flutter 群,我也在群里 |
76
ykrank 2023-07-03 15:37:58 +08:00
@x77 我是 19 年,20 年在创业公司做移动端 Leader ,选型 Flutter ,主力全职做 flutter ,还贡献了数个开源 pub 。可惜 Flutter 2.0 之前实在不给力,各种官方 bug 令人发指,新招的无经验员工要门槛也高,技术选型被屡屡质疑,最终无奈还是换技术栈为愚蠢的 uni-app ,毕竟门槛是真的低,随便拉个前端仔就可以做。当然问题也很明显,只要是原生 sdk ,要么自己封装,要么请人来开发中间件。
|
77
x77 2023-07-03 16:03:21 +08:00
@ykrank
在开发两个(练手的) App ( https://github.com/xinlake/privch-client-flutter )时我也顺便抽象了一些几个插件发布到 pub.dev ,没什么人用我就把它们都下线了,App 我也暂时把它们从 Google Play 下架了,有空整理好再上架。 现在,我的网站、新开发的应用(如 https://xinlake.dev/#/app-azure-tts )基本都上 Flutter 了,顺手,Hold 住。前不久好像看到 Google Cloud 的 Function 也支持 Flutter 。 我比较看好 Flutter 这类框架,跨平台、UI 有非常好的表现力。有一个框架把从 Native 实现,到操作系统平台的开发,再到统一跨平台的人机交互,都有效的组织起来,多棒的工具。 |
78
Cloudust 2023-07-03 16:54:13 +08:00
记住一点即可:公司项目不要用 getX
|
80
sunnysab 2023-07-03 22:14:53 +08:00 via Android
@FreshOldMan 搞过两天,因为当时没解决,弃坑了。。
|
81
GTim 2023-07-26 09:39:30 +08:00
需要 Flutter 抖音/快手插件的可以找我,我有一套简单的
|