Flutter 正式版 1.0 发布了,有同学投入或准备投入生产环境了吗?

2018-12-05 10:05:42 +08:00
 lookforsex

感觉是时候上手了。

个人有一个小疑问,就是 iOS 版的能上架 App Store 吗

8072 次点击
所在节点    程序员
57 条回复
garnettt
2018-12-05 15:05:46 +08:00
还没看到好的热更新方案
haaro
2018-12-05 15:12:38 +08:00
@garnettt #41 好像 flutter 的设计初衷就不是热更新吧
garnettt
2018-12-05 15:30:56 +08:00
@haaro 方向肯定不是,但同时有好的热更新机制的话,维护起来会很爽
liuxey
2018-12-05 15:33:36 +08:00
迫切需要一个现代化的设计工具,这种嵌套深度是真的烧脑。
solobat
2018-12-05 15:42:59 +08:00
像 html 那样嵌套多简洁,flutter 这个嵌套看着好别扭
ksssdh123
2018-12-05 15:52:35 +08:00
@koalli
去了解在说吧 跟 RN 区别很大,渲染引擎谷歌自己重新写了一套
所以导致引入这个架子后 包体积会相应增加不少,这个是硬伤
RN 后面是 FaceBook android 和 ios 没一个是它的
Flutter 后面好歹是谷歌,小道消息听说还是和苹果公司合作弄的,为的就是解决 android 的碎片化问题和跨平台开发

但是,我也不太看好这玩意
ios 最看重的热更新没有(肯定是苹果爸爸不同意)
android 的碎片化问题现在原生写的是痛苦,但也能忍受,其实 UI 层的碎片化问题,很多 hybrid 方案都解决了,weex,rn,还有那个 cordova,但是在硬件的调取上就常常出现问题,所以真的能把硬件调取的碎片化问题解决了,那才是真正的解决碎片化问题,那就吸引开发者了(当初在弄 WebRtc 的时候,cordova 怎么都无法调取某些机型的摄像头,最后还是用原生去写才解决 痛苦啊)

跨平台开发算是个小亮点,当初 RN 的 Write Once,Run Anywhere 还是非常吸引人(我也入坑了...),但是现在 RN 就这样,也不大火,也不彻底凉凉

所以现在来看 Flutter 最大的亮点 应该还是跨平台开发及其超越其他 Hybrid 方案的性能,代替原生不大可能,但是某些业务线可以用来写一下,同时会打败其他 Hybrid 框架,以后 RN,weex 应该会成为历史吧
yuuko
2018-12-05 16:02:39 +08:00
@ksssdh123 我记得 RN 是 Learn Once, Write Anywhere. (逃
haaro
2018-12-05 16:17:48 +08:00
Flutter 给我的最大好感是流畅度,之前写过一个小 demo,逻辑非常丑陋不合理,但 fps 依旧很优秀
hyyou2010
2018-12-05 16:27:57 +08:00
Flutter 1.0 正式版: Google 的便携 UI 工具包: https://mp.weixin.qq.com/s/hCIN42OMmmc6HkOveegwWQ

还意图拓展到 PC 端
Kei
2018-12-05 17:15:39 +08:00
@byuan04 但我看这个 iOS App 只有不到 1MB https://itunes.apple.com/app/apple-store/id954160751
winglight2016
2018-12-05 20:57:54 +08:00
@f2ck 超过 100m 就太夸张了吧,googleplay 都不支持 100m 的包,还要拆包
Cyalpaca
2018-12-06 02:07:26 +08:00
说起跨平台开发,Xamarin 的表现比起来如何呢?
bigbyto
2018-12-06 09:06:39 +08:00
心多大才会在生产环境用。
koalli
2018-12-06 12:44:57 +08:00
@ksssdh123
我关注 Flutter 有大半年以上了,现在用 React Native 在做一个小项目。
在我看来 Flutter 和 React Native 没有那么大的区别,都是非 Hybird 的方案,当年 React Native 也是打着性能的名号出来混的啊。你说的区别很大是指哪个方面?

目前看来谷歌爸爸对这个项目寄予厚望而且研发积极,相比之下 React Native 就好像是后妈养的了。而且谷歌爸爸们是真的刚,官方维护了大量的 package,帮我们省掉了大量的原生研发的成本,谷歌的研发能力还有什么好怀疑的?从技术选型来说,下一个项目我是会考虑用的。

我说的没什么区别更多的是说,从核心概念和框架来看,非 Hybird 的方案就必然躲不开跨平台开发,本质上是一样的,都是在对原生功能进行针对性的封装,这就是你说的硬件调取的碎片化问题(严格说起来不是谷歌的锅)。
一旦出现需要在不同平台编码的场景,比如获取刘海屏高度,比如获取设备信息,可能开发者就需要自己维护不同平台的代码,就变成跟 React Native 一样的局面了。这个就是之前 Airbnb 放弃 React Native 的原因之一,当然 React Native 开源社区提供的库质量参差不齐也是很重要的原因,这应该也是谷歌爸爸维护大量 package 的原因吧。

热更新最常见的场景其实就是换换界面显示的元素,这种情况 Flutter 是有解决方案的。
如果需要热更二进制,那 iOS 确实是不支持的,而 Android 是支持热更二进制 so 文件的,java 部分的话直接下载 apk 安装换掉就是了,有时 play 版的应用就会提示你要下载官方的应用。

我认为不允许热更新其实从某个角度上来说可以改善 Android 的生态环境,符合谷歌的利益。
ksssdh123
2018-12-06 20:56:12 +08:00
@koalli Flutter 是谷歌重新设计了一套渲染引擎
这跟 RN 用 Js 通 过 c++ 来调用 java 完全不在一个层次 去看看两个框架的原理 你就知道了
对于我们应用开发来说,是没区别, 甚至 Flutter 开发起来,更往 大前端 靠拢 抛弃了很多原来在 android 原生开发的设定
感觉以后 JS 才是主流 方向 0 0
koalli
2018-12-06 22:21:01 +08:00
@ksssdh123
谷歌爸爸自己写的 Skia 渲染库,加上把 Dart 预编译成原生代码,看着就觉得比 React Native 强多了。
感谢大佬指点,让我这种观望党更深入了解 Flutter。
这下 React Native 真的是陷入了一个尴尬到死的局面,感觉未来 Flutter 应该会吸收非常多 React Native 的开发者。
这玩意连我自己一个人做小项目玩都觉得蛋疼得要死,更别说真的投入生产环境了。
你比如我想抱微软爸爸的大腿用 TypeScript,结果开源社区的库要么没有支持 TypeScript 需要自己来写类型定义文件,要么类型定义文件跟版本脱节不匹配各种报错。
Flutter 也要支持 windows 等平台,感觉就是要正面刚 JavaScript 的节奏。
ksssdh123
2018-12-07 09:55:43 +08:00
@koalli
互相学习哈
Flutter 的出现 RN weex 估计都要死翘翘,虽然前期估计很痛苦 但我相信 谷歌应该会像当初对待 android studio 那样对待 Flutter,
不过也不排除谷歌弃坑 不维护了,那就尴尬了

技术选型跟投资一样,选对了 吃香饽饽 ,不选对 就是增长点知识吧

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

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

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

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

© 2021 V2EX