找回密码
 立即注册
搜索
查看: 6566|回复: 52

[软件] 建个flutter踩坑交流楼

[复制链接]
头像被屏蔽
     
发表于 2021-6-26 20:59 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-6-26 21:08 | 显示全部楼层
倒不如帮你找个Flutter的开发人员给你好了,很Nice的一个小哥哥
回复

使用道具 举报

     
发表于 2021-6-26 21:10 | 显示全部楼层
砸下场子(不
有没有坛友现身说法和React Native比起来怎么样

看测试对比,性能比RN好,但是还要再学个Dart有点劝退,轮子可能也要自己重新造
样式和布局一层套一层有点看晕了,有什么低成本从前端那一套快速上手的方法吗
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-6-26 21:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-6-26 21:29 来自手机 | 显示全部楼层
码一下,虽然已经跳车了
回复

使用道具 举报

     
发表于 2021-6-26 21:43 | 显示全部楼层
本帖最后由 d2loader 于 2021-6-26 21:48 编辑
psvsd 发表于 2021-6-26 21:10
砸下场子(不
有没有坛友现身说法和React Native比起来怎么样

会ts的dart入门可能只要两天。



回复

使用道具 举报

     
发表于 2021-6-27 01:47 来自手机 | 显示全部楼层
最近正好在写 接一些国内第三方sdk很是蛋疼

—— 来自 Xiaomi M2007J3SC, Android 10上的 S1Next-鹅版 v2.4.4.1
回复

使用道具 举报

发表于 2021-6-27 01:54 | 显示全部楼层
写个页面还是要一层一层嵌套?
回复

使用道具 举报

     
发表于 2021-6-27 02:03 | 显示全部楼层
seducer0719 发表于 2021-6-27 01:54
写个页面还是要一层一层嵌套?

目前还是要, 最近2-3个月没关注,但应该没啥变化。

但其实合理的抽象view还是很容易的, 所以真的去写的时候, 嵌套view不是最不舒服的点。

对我来说最不舒服的点在于:Dart语言看着像是个更完善的JS, 但实际上他的范型之类的经常有问题,用起来反而更蛋疼。
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-6-27 02:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-6-27 09:43 | 显示全部楼层
一开始写着还挺爽
后来倒腾了一下午 dart 的 JSON (De)serialization 之后直接跳车了 真的是个大坑,谁试谁知道
回复

使用道具 举报

     
发表于 2021-6-27 10:11 来自手机 | 显示全部楼层
psvsd 发表于 2021-6-26 21:10
砸下场子(不
有没有坛友现身说法和React Native比起来怎么样

你可以问问鹅球的作者,最近用Flutter写了个2代,还在alpha阶段,流畅度差太多了
回复

使用道具 举报

     
发表于 2021-6-27 10:47 | 显示全部楼层
最近才知道这个框架,mark一下之后学。
回复

使用道具 举报

     
发表于 2021-6-27 13:31 来自手机 | 显示全部楼层
seducer0719 发表于 2021-6-27 01:54
写个页面还是要一层一层嵌套?

android原生jetpack compose都开始推这种写法了感觉view嵌套多了这样写效率高很多,毕竟测量快多了

—— 来自 vivo V1981A, Android 11上的 S1Next-鹅版 v2.4.4.1
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-6-29 21:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2021-6-30 00:52 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-6-30 09:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-6-30 09:24 | 显示全部楼层
现在手机开发主流是回归原生了吗?
回复

使用道具 举报

     
发表于 2021-6-30 10:13 | 显示全部楼层
我安卓iOS跨端都在搞,站在主流还是native加h5辅助的样子,已经经手两个项目从flutter迁回native了
回复

使用道具 举报

     
发表于 2021-6-30 13:02 | 显示全部楼层
有点追求 发表于 2021-6-30 09:24
现在手机开发主流是回归原生了吗?

可能是回归小程序吧
flutter在国内根本没几个人用
回复

使用道具 举报

     
发表于 2021-7-1 14:29 来自手机 | 显示全部楼层
和rn比哪个生态更差呢 之前写rn找合适的轮子太痛苦了

—— 来自 OnePlus KB2000, Android 11上的 S1Next-鹅版 v2.4.4.1
回复

使用道具 举报

     
发表于 2021-7-1 15:25 | 显示全部楼层
土路生優里 发表于 2021-7-1 14:29
和rn比哪个生态更差呢 之前写rn找合适的轮子太痛苦了

—— 来自 OnePlus KB2000, Android 11上的 S ...

之前试的时候, flutter的生态更差些。
RN是有轮子,质量不一定高, Flutter也许可以找到几个高质量的,但是量太少了。
回复

使用道具 举报

     
发表于 2021-7-1 23:33 来自手机 | 显示全部楼层
最近搞新项目还准备上个flutter试试看来着,看人员也不好找
回复

使用道具 举报

     
发表于 2021-7-1 23:34 来自手机 | 显示全部楼层
如果这方面生态做的不好真倒是要仔细考虑下了
回复

使用道具 举报

     
发表于 2021-7-2 00:40 | 显示全部楼层
土路生優里 发表于 2021-7-1 14:29
和rn比哪个生态更差呢 之前写rn找合适的轮子太痛苦了

—— 来自 OnePlus KB2000, Android 11上的 S ...

rn好歹有npm提携,flutter老实讲我有点怕
回复

使用道具 举报

     
发表于 2021-7-2 20:49 来自手机 | 显示全部楼层
psvsd 发表于 2021-6-26 21:10
砸下场子(不
有没有坛友现身说法和React Native比起来怎么样

公司目前主要推rn,优点在于不用发版,学习成本低,前端仔可以光速上手。
flutter也蛮好,我很喜欢它的动画效果。但是因为和native一样需要发版,所以在公司里的应用范围比较有限。

—— 来自 realme RMX2173, Android 11上的 S1Next-鹅版 v2.4.4.1
回复

使用道具 举报

     
发表于 2021-7-7 15:57 来自手机 | 显示全部楼层
想给自己的discuz论坛用flutter写一个客户端,但是不太能理解怎么保持登录状态,服务器怎么识别是本用户发表了评论
一些基本的界面都写了,就是获取网站数据和向网站发送数据不太能理解
不知道有没有大佬指导一下
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-7-7 16:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-7-8 23:56 来自手机 | 显示全部楼层
kll85757 发表于 2021-7-7 16:37
持久化存储吧,官方推荐的SQLite,token半年或者一年一过期这种,一般不都是这么干的么 ...

最近大概搞懂了登录,回复,保存token的机制。现在用dio拿到论坛的数据,目前卡在一个问题上。
我用异步的函数去获取了论坛返回的数据,但是我的页面是有状态的页面,我想用listview把数据显示出来,但是因为函数返回的是future类型,不太明白怎么展示。
大佬能教一下吗
回复

使用道具 举报

     
发表于 2021-7-9 09:24 | 显示全部楼层
FutureBuilder(
  future: your_future,
  builder: (BuildContext context, AsyncSnapshot snapshot) {
    return build_your_view
}),

非大佬。 给你点关键字,自己搜下应该一看就懂。
回复

使用道具 举报

     
发表于 2021-7-9 10:25 | 显示全部楼层
  我想问下 为什么要搞这些啊,还有RN,国产小作坊的起码一键生成h5,小程序。

非杠,我目前外包用原生webview加载h5,安卓ios共用一套网页,listview类和tabs的用原生,想听听好处在哪
回复

使用道具 举报

     
发表于 2021-7-9 11:21 | 显示全部楼层
utada 发表于 2021-7-9 10:25
我想问下 为什么要搞这些啊,还有RN,国产小作坊的起码一键生成h5,小程序。

非杠,我目前外包用原生we ...

webview你不做啥优化之类的, 一是慢: 你的页面,得先load一个网页出来,网页这边再跑些js啊之类的,取到数据啊之类的。
可以做些优化,比如预加载啊,比如一些资源直线先放在包里啊,但是始终和RN和Fluter之类的能感觉到明显的区别。

二是你始终做不到类似Native的体验,动画拉,媒体播放拉之类的。

H5确实也能公用,但是真到上生产,一样是有一堆的API问题,两端不一样得想办法去解决的,比如某些媒体播放API只在某一端、某些场景下有问题(不熟,看同事搞过类似的问题)
回复

使用道具 举报

     
发表于 2021-7-9 17:12 | 显示全部楼层
本帖最后由 utada 于 2021-7-9 17:54 编辑
13号 发表于 2021-7-9 11:21
webview你不做啥优化之类的, 一是慢: 你的页面,得先load一个网页出来,网页这边再跑些js啊之类的,取 ...

大部分页面不慢哈(一般单页面应用,就第一个画面是空白的,如果够简单可以ionic Capacitor那套搞不定的用原生,不过一般老板都喜欢首页十几个页面横在那得用原生),你说的动画css也是挺好的(甚至安卓由于ui都是按照iOS的,navbar比画个view更好看了),不过媒体播放搜了一下有ffmpeg确实能简化两端的工作,不知flutter能不能编译成网页,之前了解好像不行但说将来会
回复

使用道具 举报

     
发表于 2021-7-9 17:17 | 显示全部楼层
utada 发表于 2021-7-9 17:12
大部分页面不慢哈,你说的动画css也是挺好的(甚至安卓由于ui都是按照iOS的,navbar比画个view更好看了) ...

我理解你说的不慢。

如果你啥都不操作,打开一个页面,在这个页面里才会发起请求,域名解析+获取到h5页面,然后h5页面再加载具体的内容。
首次请求即使不慢,100ms应该也是要的,而100ms是完全可以体验得到的。而native、RN、flutter这一步是直接没有的。
另外native,Flutter之类的渲染的效率也会更高。
回复

使用道具 举报

     
发表于 2021-7-9 21:52 | 显示全部楼层
utada 发表于 2021-7-9 10:25
我想问下 为什么要搞这些啊,还有RN,国产小作坊的起码一键生成h5,小程序。

非杠,我目前外包用原生we ...

native flutter/rn web选型实际上都是性能和产出的取舍
迭代速度快>>>>>
<<<<<<性能好

规模不算太大自然能web一揽子搞定
而我之前看公司内部文档,一个供内部员工用的app,从web切换到rn之后首屏加载速度有数倍的差距
回复

使用道具 举报

     
发表于 2021-7-9 23:04 | 显示全部楼层
我挺喜欢flutter的,主要写起来太快了,而且画面跟原生几乎差不多,社区活跃,官方的【widget of the week】系列里介绍了很多控件,里面有不少确实可以便利的解决原生开发中遇到的痛点,可能只用一行代码
现在Jetpack Compose和swiftUI的写法感觉跟flutter的写法也很接近。
如果原生转过来不习惯嵌套写法
推荐flutterSpeedCode的一系列视频。我从原生转过来刚开始就感觉很卡手,看了几个视频简直醍醐灌顶。

回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2021-7-10 00:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-7-10 01:01 来自手机 | 显示全部楼层
kll85757 发表于 2021-7-10 00:18
@EKVIN 前面有人说了用futureBuilder,另外你可以看看这个视频和楼上提到的那个频道的视频,确实是醍醐灌顶 ...

今天已经把这个问题解决了,现在在解决如何在navigator.pop以后刷新页面的问题。我搜索发现网上基本都是用pop的传参和上一个页面的.then来实现的,但是刷新整个页面的函数我好像并没有找到
回复

使用道具 举报

     
发表于 2021-7-10 01:04 | 显示全部楼层
本帖最后由 ryanz 于 2021-7-10 01:14 编辑

flutter一开始看宣传以为各个端全都有,然后发现只支持 iOS / Android ,pc端没人权,qt实在写腻了,qt6 的 qml 没落地又不敢用

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

翻了下官网,我去,啥时候添加的pc支持,完全没注意到,不过在 beta 频道。
回复

使用道具 举报

     
发表于 2021-7-10 21:51 | 显示全部楼层
EKVIN 发表于 2021-7-10 01:01
今天已经把这个问题解决了,现在在解决如何在navigator.pop以后刷新页面的问题。我搜索发现网上基本都是 ...

Flutter的Nativagor.push函数也是返回一个future的。

如果你每次pop之后都需要刷新,那么在push的那个页面直接这么写:

await Navigator.push(...)
doReload()

就可以了。理解了之后还是很直观的。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-9-24 01:24 , Processed in 0.170082 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表