1 、在点一段时间我寻找了一段时间 APP 编写方案,找到了 Flutter 觉得它可能是未来的方向。
2 、Flutter 是否值得下赌注学习呢?
3 、今天公司一个前端同事说 Flutter 已经是过时的产品了,瞬间感觉我的方向错了。

个人觉得:值得学习,不是趋势

讲真,说到前端,还是 Web Technologies 最简单。Flutter 什么的让一边去

Flutter 是一个具体的技术,通常我们讲发展趋势的时候,更多指的是某种思路或者设计方法。楼主列了三条,但并没有说明 Flutter 的核心思路是什么,以及和之前的技术有什么不同

所以 app 要变成前端加载器吗😂

跨平台技术永远不会是趋势,技术差异化本身就是平台壁垒的一部分,跨平台技术永远只会是原生技术的补充

学个技术要啥赌注,想学就学呗

我认为会
原因一:因为卷,会导致很多人都会学习 flutter 。所以 flutter ,人力储备必然 ok 。
原因二:高手们都有发财的渴望和能力,听说 vue 作者赚了很多钱。我相信有很多高手都期望能在 flutter 上发财。
而且谷歌能凭一己之力维护浏览器,维护一个 ui 组件库应该是毛毛雨吧? flutter 生态应该没有问题。
原因三:开发需要强类型,比如 typescript 。而 dart 就是强类型。
原因四:多端共用
原因五:听说 dart 性能更高。要是谷歌的想法是想在浏览器运行 csgo 呢? Windows 卒。

反正我写的挺开心的

千言万语到最后还是那个老问题:Flutter 这么多年了你手机里有几个软件是基于这个的?
我印象里只有闲鱼和哔哩哔哩漫画,并且这两个软件用户体验方向的口碑都不太好。

flutter 已经宣传至少三年了,三年前我就不看好,结果现在国内搞 flutter 的几个大厂都开始撤回原来技术栈了。你说呢?

很多软件都有零碎界面是 flutter 写的,比如微信,百度网盘,阿里云盘,wps

我一直觉得,绝大多数的普通消费级软件都可以 Web 梭哈。现在商店 TOP100 的 App ,除了游戏外有几个性能需求浏览器满足不了的?

当初特别看好 PWA 的推广,但很可惜国内环境反而把 Web 技术越做越封闭了。

是需要成本的,我学习比较慢,所以需要慎重选择一下

你的想法很大胆,就因为谷歌推出这个没几年,我想学习一下

好吧,谢谢提供最新的大厂对 Flutter 的态度

如果不在乎用户体验,请放心大胆的使用 Flutter 。
如果在乎用户体验,请立即远离 Flutter 。

  1. flutter 在很多情况下是非常好的技术方案,从这个角度可以说它确实是“趋势”。
  2. 没有一种方案会是所有场景下的最优解,或者说那句老话,没有银弹,从这个角度说,没有任何一种技术可以称作“趋势”。
  3. 不建议拿所谓“大厂”的选择和产品来评价方案和技术,很多情况下他们的选择对我们没有任何参考意义。
  4. 新、酷、过时、流行,个人觉得这些词评价技术挺无聊的,flutter 刚出来还是 alpha 版的时候,我就看好它,因为看到这个方案的发展潜力和能够解决的痛点;相反很多新出的热门技术,虽然有些吸引人的噱头,但是本质却没有很大的进步,或者本身存在很大很难解决的短板,那我就觉得没必要投资精力去学习。

可以作为技术储备而学习,但目前没有在正式项目里实践的想法。

如果是为了跨平台,那还不如 web 呢

flutter 是趋势,大部分项目很难感受到原生和 flutter 的区别,前端没有资格评价 flutter ,因为 flutter 的目标是一统江湖,解决所有前端问题

不是,腾讯新 qq 架构还是选的 electron

但是你想过没有,已经没有赛道了,也没有新的地方可以开发 app 了,除了灰色区域,那剩下那么多程序员干嘛

kpi 可以理解,做一个模块就可以大张旗鼓吹一下,需求就那么点,不自己折腾一下等着炒鱿鱼么

任何类型的客户端都没有未来,因为客户端开发只会越来越简单。
AI, Big Data, Cloud 这三样才有前途。
讨论 Flutter 是不是未来 app 编程的趋势就像茴香豆的茴有几种写法一样。

谁说的大厂都不用了?字节跳动马上( 1 月 14 日)要开技术沙龙,《深度解析 Flutter 技术探索与实践》主题分享 mp.weixin.qq.com/s/s_91C-nSe3grUxOfKCvOJg 大厂不仅没有撤,而是使用更深度了。

要我说嘛,你如果有做独立开发的心思,就学,不要管别人说什么。
flutter 开发体验非常好,而且效果也好
体验 APP:「 Wonderous 」(里面动画效果很多,app store 可下,开源: github.com/gskinnerTeam/flutter-wonderous-app )
如果你是给公司打工,单做安卓之类的,那你就自己做好自己的,业余可以玩玩。

flutter 写的 app 都不想用,卡成翔

“很多软件都有零碎界面是 flutter 写的,比如微信,百度网盘,阿里云盘,wps”

第一次听到 “微信,百度网盘,阿里云盘,wps”是用 flutter 写的

「钱迹」 iOS 纯 flutter ,你可以试试,我已经用了 3 年了
而且你说卡是因为之前是 skia 渲染,存在首次动画卡顿问题,但是这个可以通过开发者优化来一定程度解决
google 团队发布了新的渲染引擎 Impeller ,解决了这个问题
可以体验 Wonderous 这个第三方 APP 看下 Impeller 引擎的效果再来说话

因为 flutter 门槛比较低,所以很多基本功不怎么样的开发者都可以转来做 app 了,当然会产出一堆垃圾 APP 。直观的感觉就是卡。在社区的感觉就是抱怨 flutter 嵌套地狱,自己不会写还要说人拉

趋势不知道,但是那些黄赌 app 和伪装上架 app 一般都是 flutter ,因为逆向太难了

确实是哦,微信团队自己在 google 开发者大会上分享过,去年的时候。那时候分享的具体使用场景是手机微信发 pyq 的视频编辑界面,还有企业微信大部分场景

「如何看待微信团队开始使用 Flutter 进行开发?」「腾讯技术总监回复」 www.zhihu.com/question/460665879/answer/1898489401

我觉得技术就是工具,是帮助人达到目标的工具而已,如果你觉得使用原生更符合你,那就用;你觉得 uniapp 更适合,那就用。自己用着顺手就最好

任何技术都有人吹有人黑, 作者只需要关注这项技术在现实中能不能解决你的问题,比如我司基本全是安卓开发,iOS 开发很少,但是时不时也需要做一些 iOS 端的 APP,那我们就会用 flutter 写,因为他快,体验也不错

五年前我以为是方向,还写了几个 app 。现在看 flutter 还是不温不火

当然主业是嵌入狗,搞 app 只是业余爱好。现在的业余爱好是 web ,更看好 web 的未来,海量的长尾应用的几乎唯一方案。

比你想象得多

反正都是 google 的菜

Android App 开发者,已经转成全职 Flutter App 开发者 3 年了,个人觉得算是比较早一批。
先学的 React Native ,个人觉得应该没有主观情绪。

个人觉得,就是钱的问题。
为什么 198x 年,中国满是自行车?难道 198x 年,劳斯莱斯不如自行车?老百姓为什么不开汽车?
答,没钱啊。。。。

把 App 打残的是小程序和大环境,开发一个 App ,以往需要 Android 、iOS 各一人,App 的薪资又不低。
不如说,Flutter 给了 App 开发一条活路。
顺便自己一直在尝试学习 web 开发,感觉.....
如果没能力深入,就要学的广一些。
许多人,只是不想学习。

可以但是没必要. 有鼓捣另一套东西的时间, 为什么不原生 app 搭个 webview + js bridge, 里面直接跑 html 页面呢

追求完美就用原生,追求效率就用 flutter

flutter 和 rn 都在写,有需求都是去找第三方库。但是有些平台特有的还得写原生代码,比如 CoreData 和 action 这些

flutter 性能不行,写一个复杂一点的页面,用上分帧上屏,都控制在 16ms 了,你都还会觉得不流畅。不管怎么宣传,始终离原生差很远

这个帖子大佬 moosoul 说 flutter 和 rn 差不多:

www.hesudu.com/t/832037#reply38

UniApp
这个先放弃吧,写小程序还不错,已经用 uniapp 上架了两款小程序(长期运营维护,但是编辑器还是 bug 比较多,主要是跟 HBuilderX 的一个 hot reload 有关,但是不是啥大问题,大不了重新编译一次)

Flutter 2.0
已上架两款应用。一款简单,一款复杂。都是社交类应用(三方服务采用的腾讯云的 IM ,现阶段 3.5 版本之后的 IM 的 flutter 插件还不错,以前的很坑)
然后复杂应用中有一款涉及到,IM 、富文本编辑、相机、录音、实时音视频。这个时候就能发现 flutter 的各种坑了。(如果你愿意花时间折腾那可以用)
目前坑点稍微说一下
1. Google Flutter Plugin 中的 Camera 、Video Player 的问题,前者旋转拍照的支持有问题,0.2 版本的 bug 如今 0.9 了还未修复,后者对旋转的视频的方向支持有问题,也是 0.1,0.2 版本的问题现在 2.0 以后了还未解决。
2. 富文本编辑器使用的 flutter quill,这个库还不错基于 flutter 的 skia 那套自己完全重绘,性能和效率还不错,但是功能性上面相对于成熟的富文本编辑器缺失太多,编辑器的基础的输入,换行,样式各种都有不少问题,因目前还比较基础很多 API 封装的不够彻底,经常有需要自己手动修改编辑器的 meta data 的情况
3. Flutter 自身,语言上是 Dart 这个没啥好评价的,多学一门语言而已,大多数程序员都没有压力。但是 UI 构建的方式基于 Widget 的,这个 Widget 看似很完美,当你应用内自定义的内容较多的时候,你就会发现,万物不是 Widget 了,万物都是 Container ,基本组件都是自己基于 Container 去修改。看了很多文章都说 Flutter 通过 Skia 自绘了一套 UI ,保证了 Android 和 iOS 的一致性,真希望这些作者拿 Flutter 去写一个实际项目,这个一致性真的没啥用,大多数都还是需要你自定义(这个时候我就很怀念 React Native 了,反正也可以 div 一把梭啊)
4. 三方插件上,大多数插件也是需要自定义的,我列一下我自定义的 pub 的插件
google_plugins (主要是修改上面说的两个插件的 bug )
flutter_wechat_camera_picker (如上,内部采用的以上两个插件)
sliding_up_panel (有一个容器高度的 bug )
ai_barcode (需要自定义扫描线的风格)
flutter_quill (需要解决一些编辑 bug ,以及自定义一些 Style )

React Native 0.59
已上架 2 款以上应用。
缺点还是性能问题,但是大多数基础项目,我做了这么多款项目还真没碰到性能说跟 Flutter 差距很多的地方。
再个长时间没接触 React Native 了更多的就不评价了。

以上对比下来
Flutter == ReactNative >>>>>>> UniApp(做 App 用这个你就是坑自己)

我看 RN 更新了 0.69 版本据说在原生交互方便加入了 JNI,可以直接调用原生不像以前是采用类似 json 数据通讯的方式,我准备再回归 RN 试试了。
如果内心不够强大,项目又够复杂真的不建议 Flutter ,需要原生处理的多出你的想想。
其实如果做到复杂项目上,Flutter 和 RN 真的 55 开,都需要你有不错的原生基础。

最后说一下我想回归 RN 的原因
1. JS/TS ,日常是 Nodejs 全栈,也会些一下 React 项目,语言上更熟悉。
2. Flutter 当前主版本还算比较稳定,但是三方库一言难尽,并且样式相关的很多官方自己都没有一套很好的自定义方案,那三方库更不可能支持的有多好,大多数三方库最后为了改一些样式只能拉下来自己改库了。

至于大家最终选用什么样的框架看是看需求吧,考虑性能直接原生,不考虑性能的简单项目除了 uniapp 任选,复杂项目如果本身也是 js/ts 那就 RN

前端的趋势真的不值一提 只学当下流行的

这个我认为不是 flutter 的锅,是互联网现在是减量市场,如果 flutter 早 3 年在小贷或者团购年代出来,早就起飞了

上面一群人在吹什么,我用腾讯的就一个 qq 微信,其余的你再吹逼,刚需都没了,就留着程序员自己折腾

哈哈,我真想说这个。

正想。

还不如 rn 呢

我看我手机里有用到 Flutter 的有 9 个, RN 有 7 个,不过应该也都是部分页面有用吧

卷吧,让卷的来的更厉害点!!!

卷到自己都无路可走!!!

这是什么 app 可以这么看

我说的是零碎界面啦,又不是全部

学个东西还要下这么大决心?难道不应该是兴趣驱动?

兴趣驱动学的也 rn 啊,flutter 那个一坨屎的 ui 语法咋提得起兴趣,要是有个 dart-x 就无敌了

你猜怎么着,虽然主要的几个界面编译成了原生的,但 不管你技术在玩的怎么花里胡哨

大部分常用 app 里面最后还是逃不开不开要用到 webview ,也不是说原生不行,但有时候真的无能为力

因为真便宜啊

#45 一般都是把 H5 换成了 Flutter 来实现

Dart 这种垃圾语言还能成为优势了。

#38 赞同 flutter 给了 app 一条活路

#27 下载 Wonderous 体验了下,首页并不复杂的动画却卡顿,掉帧....

#52 libchecker

我一加五跑这个都没卡过。。你是不是编译了个 debug 版本。。

#62 Googleplay 下的,865 ,安卓 13

酷安那边下载的 libChecker

#42 大佬求个 tg 好友

GooglePlay 下的,835 ,安卓 10 ,不卡

都这么说,但是现在最大的问题是优势不明显,没有换的动力,两三年了没有进展。

#28 有例子可以参考吗?

C 打脸 ISA 啪啪啪。
POSIX 打脸 C 啪啪啪啪。
然后 C++再打脸回去啪啪啪啪。
……
特定不可移植的技术永远需要依赖可移植的技术,否则自然会受到经济规律制裁。任何的对全局不可移植的容忍无非都体现在两个方面:用得不够多;用得不够久。
平台壁垒?给钱谢谢。一旦资源烧不动就没什么资格假装屎山继续动力学稳定。
(当然,不是说 Flutter 算是方向。它不够格。)

如果没有平台壁垒,webview 早就被各个平台优化的和原生一样丝滑了,pwa 早就一统江湖了,商业逻辑很简单,我有你没有,我的 app 只能跑在我的平台上,你想跑得价钱!

我很好奇大家怎么看待 .NET MAUI

挺好的 我 7 月份看了眼 flutter 后开始对着文档写 app 现在 ios 已经上架 3 月了。。
体验很好 远离 xcode

webview 挺丝滑的,他的场景就在那,你想用 webview 开发个吃鸡那是痴心妄想,但是你要开发个 xx 管理系统的配套 app 或者 xx 记账认为 webview 扛不住也是搞笑

怎么说呢, 看下来就是复杂应用别用,简单的要跨平台的推荐用。

确实

vue 作者用 Vue 发财,跟其他高手在 flutter 领域发财根本不是一个概念吧...vue 作者是自己写框架,其他人是用户啊

可国外的 PWA 照样是半死不活的啊

不会,还不如 uniapp ,原因也很简单,不符合市场需求,不匹配当前的市场开发人员,特别是初级人员的水平。特别是你弄不了小程序有啥市场……

至于语言技术性能这些……都是浮云,除了跨平台也没有能超越原生开发的地方

现在 APP 都不行了, 什么 RN, Flutter, 原生都不行了...
还是小程序靠谱

本来还想着花一两个月的时间撸一下 flutter 。。。

什么是未来, 未来看得到的就一个增长点 AR   VR

源宇宙需要新的可视化界面技术,web 不适合 flutter 也不太适合

会有新的技术出现

大胆点,musk 火箭中控台 也是 web 梭哈

aHR0cHM6Ly9wcml2bm90ZS5jb20vTEN3ZEVPeG4jeWllTWtQYU9t

我觉得要是 flutter 用的不是 Dart 而是 Typescript 那它应该会很火吧.
毕竟学一门语言可不仅仅是学个基础语法, 相关的库的用法学起来还是很费劲的. 而且你要是辛辛苦苦学了三个月, 最后还找不到相关工作那得多难受.

我这里提供一个新鲜的例子,做的游戏地图 github.com/qiuxiang/genshin-maps

我觉得趋势还是 原生 + 部分功能 webview

这属于没需求创造需求,技术很好但是没卵用,功能几乎是 0 ,b 站的 wiki 有完整带标记点的地图

不好意思看错了,刚才网抽风了视频没刷出来,但是我还是哪句话 b 站有 web 版功能的地图我为什么要下载 app

我司就用 flutter 开发的项目,纯 flutter 做的 andoird 、ios 、pc 三端;我感觉吧,现阶段 flutter 要想写的好用,还有一大段路要走;要想写好,还真要静下心来仔细看看源码和第三方实现什么的~~至少我用 flutter 开发两年了,遇到某些需求的时候,还是会怀念一下用 android 开发的日子~~~

说白了,生态一言难尽,别看项目不少,真正用起来不用自定义而且性能咔咔的那种还真不多……

综上,我感觉现阶段还真看不出 flutter 会不会是趋势……个人感觉也难成为趋势,毕竟是真的需要原生开发基础的……对于纯小白是真的不那么友好;

我说一下 3 个问题,我没法忍受的,针对 web 版

1 、缩放动画非常生硬,flutter 的擅长就是动画,但是地图的 zoom 效果一点过渡都没有

2 、出菜单的时候有个强制遮罩层,我没法在打开菜单的时候拖动地图,b 站 wiki 可以,不符合操作习惯

3 、画质太差了,最大时的马赛克都看瞎了,省资源是不是这么省的啊

如果需求很简单,没有和各种原生 API 打交道的需求的话,flutter 还是挺合适的,但是嘛
就比如 ios 的灵动岛,你要是要在 flutter 里用就得封装一层抽象,调用链路就会变长,如果碰到什么问题需要 debug ,你就得排查整条调用链路

我上次看到哪里说 flutter 占用内存也还是挺大的

这个 app 真的好看

这个 app 是 mobile first 的,desktop 还没打算做优化适配,flutter 现状就是对 desktop 优化不够,特别是对鼠标滚轮,地图的交互是基于 flutter 的 InteractiveViewer 做的,我对这个 widget 的手势动画也不够满意。

既然你提到了 b 站的地图,那么建议你用手机浏览器体验看看两者在流畅性上的差距。我对 web 版做了一些特殊优化,主要想看看 flutter canvaskit 在 web 能做到怎样的性能,图片只加载到 1/2 尺寸,android app 才是完整体验。

这个项目是实验性的,我无意安利 flutter ,只是想提供多一个可参考的案例。事实上我在做 web 版优化的时候就发现一个无解的性能问题,除此之外,widgets 稍微复杂也更容易掉帧。但技术不是非黑即白,无可否认的是 flutter web 极大降低了在 canvas 构建高性能 ui 的难度。

我感觉是跨平台的趋势,不跨的话就不好说了。

昨天刚看了一个 Twitter 用户吐槽 Google 在自己的下载量最高的一堆 app 里没有一个用 flutter 。

不是,但是开发软件时压低成本,使用框架的情况很可能会越来越多

我觉得 flutter 可以作为一个备用的技术方案,比如不想用 uniapp 又不想写两套原生代码的时候,可以用 flutter ,类似的技术还有 ionic

我觉得现在还是 ReactNative 的备选方案
我觉得大部分 Android 会选择 flutter,前端会选择 ReactNative
除非 Flutter 有成熟的支持小程序框架或者支持 TS,不然对前端的吸引力永远低于 ReactNative
而现在基本上是学前端大与学 Andorid 的,所以还是 ReactNative 强势
ReactNative 的社区和轮子也比 Flutter 多

而且 Dart 语言写的也太难受了,我写过所有语言的恶心程度仅次于 objective-c,我写过一次后打死都不想在写一次了

关于 flutter web 可以看看《一起漫步》 APP 是如何优化的: juejin.cn/post/7149441892994777125
我在线上的 web 是按照他的方法优化(评论区有总结 很简单),加载速度和效果都很不错。用手机的小伙伴可以找到文章最底部的链接打开体验一下,特别是 iOS 你用 safari 打开后,添加到桌面上。然后在桌面打开,完全是一个 app 的感觉了。