Flutter 的开发体验真的是很好

2020-11-20 14:43:40 +08:00
 opentrade

虽然需要一点时间适应,FFI, Provider, 完整的界面库,完整的开发环境,连 dart 语言都是那么的可爱,原来不适应嵌套,用习惯了也觉得设计很完美。想起以前搞 React Native 那个痛苦,Flutter 简直就是颠覆。

11445 次点击
所在节点    Flutter
69 条回复
debuggerx
2020-11-20 16:12:43 +08:00
@murmur 个人体验是,原生 app 开发学 react 会一脸懵逼,入门门槛很高;
学 Flutter 门槛稍低,既可以复用一部分原生的知识和思想,也得以有机会了解前端的思想;
已经会了 Flutter 再学现代化前端,就是看下文档熟悉几个 api 的事儿,毫无难度。
murmur
2020-11-20 16:15:35 +08:00
@debuggerx 前端的啥东西学不是一脸懵逼,问题是 h5+native 是个很成熟而且有效的方式,非得想办法抛弃 h5 部分才离谱
lujie2012
2020-11-20 16:16:44 +08:00
@murmur Flutter 给是 Native 开发的宝贝,是 native 开发者的转型武器。前端同学来搞 Flutter 环境配置,证书,除非你真的是素质和基础很好。前端搞 Flutter,只有在环境和项目已经成熟,之后页面和业务开发来搞那时候是没有问题的。

另外 Flutter 写好,性能等等,目前现状,还是需要很多移动端开发的理解和经验。
lujie2012
2020-11-20 16:17:55 +08:00
@iFlicker IOS 端不苦逼啊,Object-c 到 swift 到 swiftUI 不需要学习吗?但是有了 Flutter 我才不去学 SwiftUI 了,哈哈哈
swift + Flutter 全平台了!!!!
whypool
2020-11-20 16:19:38 +08:00
嵌套太傻逼了,如果缩进用 4 空格…
lujie2012
2020-11-20 16:27:50 +08:00
@murmur Flutter 不是抛弃 H5,H5 什么平台都离不开的,Flutter 的本质需要好好学看看,颠覆了什么东西。
murmur
2020-11-20 16:30:57 +08:00
@lujie2012 flutter 的思路是用游戏引擎的方式,解决跨平台和渲染动画的性能问题,这是再 native 开发者眼中需要的东西,但是对于前端开发者,我是因为学不会 native 才被迫用 cordova rn 这些东西,而且我需要的是一个承诺,一个你帮我解决 native plugin 的承诺,而不是你的引擎多牛逼,生态全给社区。何况,现在的手机,就算是 h5 也不会太慢,所谓的动画,也停留在 os 、ui 层面,一进 app 全员拉跨没几个认真做的。

从这个角度来看,微信小程序做到了,虽然是 h5,但是他用微信的体量为 native plugin 背书。
hoyixi
2020-11-20 16:36:10 +08:00
快速开发还不是不错的,尤其 UI
不过 G 家的东东,风格都有点奇特,感觉就是:功能犀利,但是长相奇葩,耍起来总有点别扭,不飘逸不优美。
debuggerx
2020-11-20 16:41:06 +08:00
@murmur 不是很懂你的逻辑,Flutter 又不是要替代 h5 的,我现在给公司写的 app 就是主体部分 Flutter, 动态部分 webview,h5 用的技术栈是 Next.js + ts + Material-UI 。前端技术栈里我最推崇的就是 react,但是在移动端跨平台这个场景下,rn 确实和 Flutter 没法比。
对我个人来说,哪怕需求就是只做移动端单端(android/ios),我也更愿意用 Flutter 而不是原生,就在于它的开发体验和开发效率比原生好太多。
我觉得应该在合适的场景用合适的技术,而不是各种场景都想着用自己熟悉的技术。比如以前 java 开发用 jsp 写页面,比如 php 开发用 php 写运维脚本,比如用 css 写桌面环境……
lujie2012
2020-11-20 16:51:51 +08:00
@murmur H5 在各自平台上面始终需要中层去帮它做事情。对于 Flutter 第一个改变是 界面开发的改革,不是是学习各种平台的 SDK 你想想看要精通每个平台的 UI SDK 到多少经历,光 IOS 都有 UIKIt,APPKit,多少年了十年了,苹果都不愿意做到两个平台 SDK 一样。现在 SwiftUI 出来就算解决这个问题。而 Flutter 就算解决全部平台的问题,以后开发 window 不需要学 C++,学.net , 后端给数据,前端一套 SDK 解决了。

这就算 QT 做的事情,但是 QT 没有实现移动端的发展,但是 google 是 android 爸爸,flutter 至少在 android 端没有问题。就算 apple 将来封杀 Flutter 那也是不少因为技术的原因,而是因为阻碍技术的原因,抵抗自然规律。

Flutter 更靠近底层,有直接和平台交互的能力,和 Java 一样,一套代码只有有 Java SDK 就没有问题。

H5 有些东西,是没有办法实现的,比如音频,视频处理,比如相机,比如 AR,这些 Flutter 更容易活动平台的能力,本来就算在 Xcode 上面编译,Xcode 有的它都能用,android 有的也能用。 离不开他们,所以还是要学习 android 和 IOS 开发。
你看看 Flutter 关于 page storage,crash 崩溃,还不是依赖本书 android 自身的 API 和能力。H5 没有这样的解决方案,没有性能更好的潜力了。也就是 H5 的性能和解决方案潜力已经到此为止,而 flutter 是目前的潜力就这样,未来更可期待。

另外 dart 还可以开发后端,那就更丰富了开发者的能力,无法弄一个 tomact 一样的容器,实现 severlet 容器。和 nodejs 一样,全栈也可以期待。


因此,Flutter 的收益,你溢出的。。。。而前端,你看看 Nodejs 的发展情况。。。。
murmur
2020-11-20 17:04:08 +08:00
@debuggerx 大公司和小公司对技术的理解不一样,大公司有足够的团队,有玩票的能力,他可以把一个程序的一个页面改一个架构,然后宣称自己多么多么样,小公司直接整个 app 一个技术栈就扎进去了

所以对于小公司来说,h5 (小程序)、rn 、flutter 就是三选一,说替代没什么问题

也可以这么说,你对 flutter 的看法,是对 native 的补充,还是为学不会 native 的人提供的一个带有取舍的解决方案,会很大程度影响你对 flutter 的评价
lovecy
2020-11-20 17:19:59 +08:00
@murmur 纯前端没 APP 开发经验的话,搞 RN 也难受。之前搞过,稍微偏底层机器一点的问题都焦头烂额。
yaphets666
2020-11-20 17:35:08 +08:00
@lwlizhe 这种一套代码多端运行的东西就是小公司 凑合事用的 这种东西也不可能完美 除非是大量的时间做兼容+手机版本不更新了.
dikey
2020-11-20 17:35:28 +08:00
只有我一个人觉得 flutter 的一些控件滑动时候页面虚无缥缈吗……

阻尼很不舒服
yaphets666
2020-11-20 17:36:28 +08:00
我的观点就是.类似这种的东西都是小公司凑合事用的.有追求的公司都得搞 native 原生开发.
WenhaoWu
2020-11-20 18:09:37 +08:00
我们公司打算 web 也用 flutter 了,三端统一统一 code base 简直起飞
TomVista
2020-11-20 18:35:13 +08:00
flutter 的布局更新机制,状态机制是真的屎,

写了 3 个月 flutter,感觉布局更新机制,状态机制就是两个字:诡异
matatabi
2020-11-20 19:08:41 +08:00
Flutter 强无敌
luwies
2020-11-20 19:13:17 +08:00
android 原生开发,写过半年 RN,当时就觉得 RN 兼容性不好,UI 在不同端表现效果可能会不一样。现在用 flutter 没遇到过这种问题,应该也不会有问题。

现在回过头看 RN,5 年过去了,1.0 版本都还没出来。。。。感觉再过 5 年也不一定能出来,对 RN 已经失去了信心。

以后做 App 肯定是首选 Flutter 的了
shanghai1998
2020-11-20 19:34:03 +08:00
正在用 flutter 写 app,比 uniapp 写的爽,目前来说写 app 最爽的技术

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

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

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

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

© 2021 V2EX