跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Flutter 的开发体验真的是很好
未分類
14 11 月 2020

Flutter 的开发体验真的是很好

Flutter 的开发体验真的是很好

資深大佬 : opentrade 4

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

大佬有話說 (58)

  • 資深大佬 : huruwo

    其他的都行 不过 dart 他真的不可爱

  • 資深大佬 : richzhu

    我擦 react native 痛苦完全同意,但是 dart 真的可爱嘛?

  • 資深大佬 : dying4death

    dart 真的可以,比 java 好用多了。异步编程比 kotlin 协程还方便

  • 資深大佬 : zzzzzzggggggg

    +1

  • 主 資深大佬 : opentrade

    不可爱吗?

    class PureStatic {
    PureStatic ._();
    }

    class Singleton {
    …
    factory Singleton() => _instance;
    }

  • 資深大佬 : KuroNekoFan

    好奇 react native 为啥痛苦

  • 資深大佬 : janxin

    开启了 null safty 之后体验进一步上升,不过也没那么好,有一些槽点

  • 資深大佬 : debuggerx

    其实,现在的体验已经没有一开始好了……
    我是 18 年初开始玩的 Flutter,那会还是 alpha 版,开发体验爽得不行,爽主要体现在:
    1. sdk 源码很简洁,结构很清晰,虽然有些 bug,但是很容易追源码,有问题的地方可以自己改
    2. dart 语法简洁,多数场景下都有几乎唯一的写法,很少骚操作
    3. 代码提示逆天,当时的 dartlang server 代码提示效果极好,多数情况下即使是没用过的组件和 api,单靠代码提示就能写得下去

    而发展到现在,Flutter 确实修复了很多 bug, 增加了很多特性,生态和资料也多了很多,但是日常开发过程给我的体验反而是退步的,与上面逐一对比:
    1. sdk 代码量膨胀,增加了很多组件,官方文档却跟不上,有时难以找到需要的组件,有些组件代码很混乱难以使用调试
    2. dart 语法迭代,增加了不少新的语法糖,虽然确实在某些场景解决了一些问题,但也导致了一些情况下写法的不一致,增加了出错的概率和理解的难度
    3. 目前 flutter 的代码提示几乎是废的……参考这个 issue [https://github.com/dart-lang/sdk/issues/43657#issuecomment-724590463]( https://github.com/dart-lang/sdk/issues/43657#issuecomment-724590463) ,他们想实现”更好的”自动导包,所以对 dartlang 的 lsp server 进行了大改,结果破坏了原本的智能提示类型排名,现在提示出来的类型列表几乎总是无关的东西排在最上面,甚至连 String 这样的基本类型都要一个一个字母全部打完,提示都还在找各种包里所有包含 “string” 这个字符串的定义,可以说是非常难用了

  • 資深大佬 : huobazi

    Flutter 是真不错,期待更好!

  • 資深大佬 : janxin

    @debuggerx 1 、3 槽点非常同意,现在我都是跟着看 Widget of the week 看看有没有什么好用的 widget

    2 其实语法糖可以人为限制使用,其实我还需要更多语法糖 2333

  • 資深大佬 : lwlizhe

    泼点冷水

    这都多长时间了……issue 数量还是没降低……

    另外有些功能缺失确实好难受啊,比如说嵌套滑动这块……

    年初的时候就发现了问题,搞了半天也没发现完美的解决方案,目前我这只能做到最多有两个子滑动 Widget 的嵌套滑动;
    前段时间发现有人在掘金上尝试解决这个问题,结果还是那样…………问题还是一样在快速滑动的情况下……

    Flutter 要走的路感觉还蛮长的

  • 資深大佬 : HuHui

    @debuggerx 我说呢,最近重拾 flutter,我还以为是 ide 不兼容

  • 資深大佬 : debuggerx

    @janxin 是的,Widget of the week 我也看,官方出品质量保证。
    再推荐一个博客,经常能看到最新最炫的东西:
    https://flutterweekly.dev/archives/
    个人感觉, 学 flutter 最好的时间一个是 18 年底,一个就是现在,否则可以预见等到它继续发展进化下去,早晚也会变成像现在 android 生态一样的一大坨,大量的学习精力都要浪费在走弯路上

  • 資深大佬 : debuggerx

    @HuHui 不用怀疑,是 flutter/dart-lang 的锅。。。
    最近他们的开发团队真的拉跨,不知道是不是 PM 的 KPI 问题导致,新功能加了不少,基础设施和功能各种崩,先是代码提示废,然后是 as4.1 更新后 flutter 环境不识别, 还有一次语法更新 ‘@required’ 变更为 ‘required’,结果语法检查就不通过了……

  • 資深大佬 : lujie2012

    现在进行 Flutter 线上项目迁移,开发了 Flutter 入门到现在两个多月,我只想说以后开发 APP 只使用 Flutter 开发。当然 swift 我也是精通的,什么 APP 随便搞。Dart 没有 swift 灵活,比较呆呆的,和 object-c 一样的,但是好歹算是面向对象,万事万物 object 。
    我只想说,能坚持 Native 开发到现在,Flutter 解救了我。让我现在变成了两端开发,而且将来变成所有平台的开发。

    SwiftUI 的目的,就算让 iOS 开发变成手机,MAC 一体化的开发,不在割裂,本质就算 Flutter 做事情,把 GUI 变成前端化。

    所以新手入门移动端开发,SwiftUI 一定是未来,而 Flutter 是有野心的人的未来。

  • 資深大佬 : lujie2012

    关于 Flutter 学习成本,可以说现在是最小的,最好的使用,好比到了 Swift5 的阶段了。不在担心版本割裂问题,Google 的文档那是最吊的东西和教程。我的公众号记录了现在的 Flutter 学习历程,英语及 iOS 移动端编程学习笔记,老是说我打广告,我想说,没有广告,只有真实的加班和自我学习记录。麻烦看看在喷。

  • 資深大佬 : lujie2012

    dart 目前的 feature 确实跟上不 Flutter 节奏了哈哈,比如隐私声明 ?,var name ?还支持的不好,哈哈。。。。还有类转换安全问题,这个 optional 还是要和 swift 学一学

  • 資深大佬 : cxknmsl

    相比于 rn,我觉得 flutter 相当可以了,rn 简直是一坨屎

  • 資深大佬 : murmur

    rn 的特点是我已经学了 web 前端,再学一点技巧和 api 就可以开发 app
    flutter 是你学了 app 开发,等 web 前端你还得回来学 react 或者 vue ng

  • 資深大佬 : iFlicker

    @lujie2012 你是以 iOS 的角度来看的对吧,作为 Android 开发 这两年 java kotlin dart 都得会,有点冲

  • 資深大佬 : debuggerx

    @murmur 个人体验是,原生 app 开发学 react 会一脸懵逼,入门门槛很高;
    学 Flutter 门槛稍低,既可以复用一部分原生的知识和思想,也得以有机会了解前端的思想;
    已经会了 Flutter 再学现代化前端,就是看下文档熟悉几个 api 的事儿,毫无难度。

  • 資深大佬 : murmur

    @debuggerx 前端的啥东西学不是一脸懵逼,问题是 h5+native 是个很成熟而且有效的方式,非得想办法抛弃 h5 部分才离谱

  • 資深大佬 : lujie2012

    @murmur Flutter 给是 Native 开发的宝贝,是 native 开发者的转型武器。前端同学来搞 Flutter 环境配置,证书,除非你真的是素质和基础很好。前端搞 Flutter,只有在环境和项目已经成熟,之后页面和业务开发来搞那时候是没有问题的。

    另外 Flutter 写好,性能等等,目前现状,还是需要很多移动端开发的理解和经验。

  • 資深大佬 : lujie2012

    @iFlicker IOS 端不苦逼啊,Object-c 到 swift 到 swiftUI 不需要学习吗?但是有了 Flutter 我才不去学 SwiftUI 了,哈哈哈
    swift + Flutter 全平台了!!!!

  • 資深大佬 : whypool

    嵌套太傻逼了,如果缩进用 4 空格…

  • 資深大佬 : lujie2012

    @murmur Flutter 不是抛弃 H5,H5 什么平台都离不开的,Flutter 的本质需要好好学看看,颠覆了什么东西。

  • 資深大佬 : murmur

    @lujie2012 flutter 的思路是用游戏引擎的方式,解决跨平台和渲染动画的性能问题,这是再 native 开发者眼中需要的东西,但是对于前端开发者,我是因为学不会 native 才被迫用 cordova rn 这些东西,而且我需要的是一个承诺,一个你帮我解决 native plugin 的承诺,而不是你的引擎多牛逼,生态全给社区。何况,现在的手机,就算是 h5 也不会太慢,所谓的动画,也停留在 os 、ui 层面,一进 app 全员拉跨没几个认真做的。

    从这个角度来看,微信小程序做到了,虽然是 h5,但是他用微信的体量为 native plugin 背书。

  • 資深大佬 : hoyixi

    快速开发还不是不错的,尤其 UI
    不过 G 家的东东,风格都有点奇特,感觉就是:功能犀利,但是长相奇葩,耍起来总有点别扭,不飘逸不优美。

  • 資深大佬 : debuggerx

    @murmur 不是很懂你的逻辑,Flutter 又不是要替代 h5 的,我现在给公司写的 app 就是主体部分 Flutter, 动态部分 webview,h5 用的技术栈是 Next.js + ts + Material-UI 。前端技术栈里我最推崇的就是 react,但是在移动端跨平台这个场景下,rn 确实和 Flutter 没法比。
    对我个人来说,哪怕需求就是只做移动端单端(android/ios),我也更愿意用 Flutter 而不是原生,就在于它的开发体验和开发效率比原生好太多。
    我觉得应该在合适的场景用合适的技术,而不是各种场景都想着用自己熟悉的技术。比如以前 java 开发用 jsp 写页面,比如 php 开发用 php 写运维脚本,比如用 css 写桌面环境……

  • 資深大佬 : lujie2012

    @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

    @debuggerx 大公司和小公司对技术的理解不一样,大公司有足够的团队,有玩票的能力,他可以把一个程序的一个页面改一个架构,然后宣称自己多么多么样,小公司直接整个 app 一个技术栈就扎进去了

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

    也可以这么说,你对 flutter 的看法,是对 native 的补充,还是为学不会 native 的人提供的一个带有取舍的解决方案,会很大程度影响你对 flutter 的评价

  • 資深大佬 : lovecy

    @murmur 纯前端没 APP 开发经验的话,搞 RN 也难受。之前搞过,稍微偏底层机器一点的问题都焦头烂额。

  • 資深大佬 : yaphets666

    @lwlizhe 这种一套代码多端运行的东西就是小公司 凑合事用的 这种东西也不可能完美 除非是大量的时间做兼容+手机版本不更新了.

  • 資深大佬 : dikey

    只有我一个人觉得 flutter 的一些控件滑动时候页面虚无缥缈吗……

    阻尼很不舒服

  • 資深大佬 : yaphets666

    我的观点就是.类似这种的东西都是小公司凑合事用的.有追求的公司都得搞 native 原生开发.

  • 資深大佬 : WenhaoWu

    我们公司打算 web 也用 flutter 了,三端统一统一 code base 简直起飞

  • 資深大佬 : TomVista

    flutter 的布局更新机制,状态机制是真的屎,

    写了 3 个月 flutter,感觉布局更新机制,状态机制就是两个字:诡异

  • 資深大佬 : matatabi

    Flutter 强无敌

  • 資深大佬 : luwies

    android 原生开发,写过半年 RN,当时就觉得 RN 兼容性不好,UI 在不同端表现效果可能会不一样。现在用 flutter 没遇到过这种问题,应该也不会有问题。

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

    以后做 App 肯定是首选 Flutter 的了

  • 資深大佬 : shanghai1998

    正在用 flutter 写 app,比 uniapp 写的爽,目前来说写 app 最爽的技术

  • 資深大佬 : loginbygoogle

    Dart 的泛型功能还不太好用

  • 資深大佬 : PopeyeLau

    @loginbygoogle +1 想写个范型的 Response 解析 真是蛋疼……

  • 資深大佬 : IGJacklove

    @KuroNekoFan rn 很多效果都不好做,flutter 上线比 rn 高很多,custom paint 基本可以让你为所欲为。

  • 資深大佬 : IGJacklove

    @TomVista 建议看看源码,很简单的。。。flutter 的 state 和 react 的 state 是两回事,flutter 的 setstate 只是把当前 widget 标记为脏组件,下次屏幕刷新的时候就会触发更新。它修改的数据只是普通变量。

  • 資深大佬 : jtsai

    uniapp 别吵了

  • 資深大佬 : lujie2012

    @IGJacklove 你又说到一个优点,动画,交互,物理,色彩,为所欲为,想怎么搞,怎么搞。这是其他快端无法实现的。完全可以 android APP 做出 iOS 交互,IOS 做出 android 交互,无缝切换。就算多了一个虚拟机给你玩。

  • 資深大佬 : dahhd

    太年轻,一看就是没踩过坑的,现在夸,后来就要骂了。

  • 資深大佬 : Bijiabo

    再等等

  • 資深大佬 : efsg

    用户 mmp,性能太差

  • 資深大佬 : xrr2016

    哈哈哈,跟以前比 Flutter 的接受程度越来越高了?

  • 資深大佬 : BigDogWang

    感觉没有 SwiftUI 体验好

  • 資深大佬 : 20151024

    小程序出现,原生岗位数量暴跌;
    中小企业倒闭,原生岗位数量暴跌;
    RN/Flutter 出现,原生岗位数量暴跌;
    。。。
    iOSer 做错了什么?
    你可以说不学习就要被淘汰,可是岗位越来越少,总有人要被淘汰,被淘汰的人又做错了什么?
    所以你这种狂赞 Flutter 的帖子,我并不建议发,被老板 /CTO 看到了,又有人要失业了。
    年底了,失业是很痛苦的。

  • 資深大佬 : azh7138m

    @lujie2012
    > H5 有些东西,是没有办法实现的,比如音频,视频处理,比如相机,比如 AR

    音视频也都有接口,只是做复杂的处理 js 性能可能跟不上
    MediaDevices 也暴露了很多东西出来,摄像头也是可以用的
    WebXR 虽然进展缓慢,但是 chrome 上也已经可以体验相关 API

  • 資深大佬 : CBS

    dart 臭烘烘,其他同意……

  • 資深大佬 : WildCat

    给你泼个冷水,作为一个曾经的 Flutter 粉:
    宜家中国、咸鱼 都是重度使用 Flutter,你可以很容易进入奇怪的行为,并且很容易闪退。

  • 資深大佬 : lujie2012

    哈哈,对于 iOSer 失业,天花板。我也是如此经历,但是我更多觉得是自己的原因。Flutter 的出现,不是革谁的命。比较不恰当的比喻,中药可以救人几千年如此,但是青霉素,X 光机,新技术的出现不是那些旧的得利者固守城池的理由。
    今后还有更多的新人进入移动端领域,他们会学习 swift,swiftUI,flutter 这样的先进西医技术。他们学习完 flutter 之后,不会在局限与 iOS 一个方向,而会进入全平台领域,或者拿 dart 写服务端+sql 数据可以一套语言实现很多服务。
    Flutter 不是屁股来占坑的,是科学的解决方案和效率及解救时间和成本的利器。这样后面的新人视野和技术接触范围就会更广阔,不在说你 iOS 开发或者 H5,或者 android,而会说你是大前端开发,各个平台都可以发布应用。

    对于 Flutter 现在的 bug 和 issue 还有效果和基础设施,已经是 1.0 release 版本,就算稀烂,这也是正确和最后的解决方案。
    希望移动端开发者不在局限在界面开发的泥潭,局限在现有 SDK 的泥潭,我们需要更多时间去接触更多的技术和平台范围。又这样机会,又何乐不为?

  • 資深大佬 : lujie2012

    @PopeyeLau dymanic 可以拿来当成范型使用

  • 資深大佬 : KuroNekoFan

    @IGJacklove 这个我理解,但是即使是 web,要做一些精细的,定制化的 UI 效果也肯定是脱离了 react 本身在 dom 的层面上去做的啊,这个也不能用‘痛苦’来形容吧

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具