项目地址: https://github.com/onlynight/v2ex_flutter_demo
该 Demo 旨在学习 flutter,以及研究 flutter 的实用性。
从学习 flutter 到编写完该 demo 总计耗时 3 天,易上手。
设计理念优秀,UI 组建全部以 widget 形式呈现,非 UI 组建也可以是 widget,API 设计规范统一,优秀。
下载最新的 release https://github.com/onlynight/v2ex_flutter_demo/releases
使用 V2EX 接口项目地址: https://github.com/djyde/V2EX-API
之前写的一个 MVVM 模式的 V2EX android demo 项目地址: https://github.com/onlynight/V2EX
这是一个用 flutter
写的 V2EX 客户端 app。旨在学习 flutter,以及研究 flutter 的实用性。对比了 React Native,Weex 和 Flutter,Flutter 优势很明显,具体有以下几点:
很多小伙伴说图没了,之前用的csdn的图,现在换成github的希望能好点。
1
chenjian026 2018-07-26 18:03:36 +08:00
图好像挂了
|
2
wyndamlion OP @chenjian026 github 嘛,还是这个帖子?
|
3
ss098 2018-07-26 18:05:47 +08:00 2
厉害,Flutter 确实非常值得学习。
“组件”,“高效”错别字。 |
4
wyndamlion OP @ss098 哈哈,看的很仔细,优秀。
|
5
CloudnuY 2018-07-26 18:10:45 +08:00
|
6
kera0a 2018-07-26 18:16:56 +08:00 via iPhone
|
7
fish267 2018-07-26 18:18:30 +08:00 via Android
这错别字简直了!
|
8
jiangnanyanyu 2018-07-26 18:37:27 +08:00 via Android 1
我觉得嵌套一点都不优雅
|
9
wyndamlion OP @kera0a 写起来真的很爽,我刚开始看的时候也很头疼,写起来真的开心。
|
10
my101du 2018-07-26 21:38:45 +08:00
操作流畅得飞起!
比之前用过的 Ionic 什么的完全不是一个感觉。 甚至有切换 tab 的触摸动画还没结束,数据就已经加载完毕并且转场进入了下一个界面的错觉。 |
11
wyndamlion OP @my101du 是的,我也觉得性能很优秀,同样是虚拟机,dart 的比 js 的性能要好不少。
|
12
jerrry 2018-07-26 23:02:26 +08:00 via Android
教程文檔全中文?我看的是假的文檔
|
14
Natumsol 2018-07-26 23:32:50 +08:00 via Android
楼主错别字好多。。
|
15
chenglu 2018-07-26 23:45:48 +08:00 via Android
赞!
|
16
azhangbing 2018-07-27 00:36:20 +08:00 via iPhone
可以 最近也在学 flutter
|
17
chmlai 2018-07-27 01:48:48 +08:00
这种级别的 demo 怎么看能看出优不优秀
|
18
kingcos 2018-07-27 01:54:37 +08:00 via iPhone
Mark 一下,准备看看
|
19
swkl86 2018-07-27 03:21:47 +08:00 via Android
求中文文档链接
|
20
chengluyu 2018-07-27 05:25:51 +08:00
楼主的 GitHub 头像怎么看着那么眼熟呢……我总觉得在其它的论坛上见过。
|
21
falcon05 2018-07-27 08:10:30 +08:00 via iPhone
楼主用 Android studio 还是 vscode?
|
22
chenglu 2018-07-27 08:22:54 +08:00 via Android
@swkl86 可以看一下这里 https://flutter-io.cn/
|
23
learnshare 2018-07-27 08:54:32 +08:00
就是写起 UI 比较麻烦
|
24
wyndamlion OP @chengluyu 偷的别人的头像哇,哈哈哈哈哈
|
25
wyndamlion OP @jerrry 有官方中文文档啦,还专门针对国内有专有的包管理服务器 https://flutterchina.club/
|
26
PopeyeLau 2018-07-27 09:12:59 +08:00 via iPhone
最近也在学。「 Hot reload 」太爽了。
|
27
chinagxwei 2018-07-27 09:15:47 +08:00
有不少可以优化提高可读性的地方
|
28
wyndamlion OP @falcon05 AS 和 VSCode 我都用了下,VScode 的 hot reload 感觉老是出问题,其他都差不多,最后换 AS 了。
|
29
wyndamlion OP @chinagxwei 初学,也是看了别人写的 demo,稍微优化了下,写得不好,献丑了。
|
31
nicevar 2018-07-27 09:35:29 +08:00
写了个 helloworld,哇 RN 真的很优秀,我们采用 RN 开发吧!
过了段时间,哎呀,怎么这么多坑啊! 不行,这个问题解决不了,要等官方修复! 来不及了,还是用原生开发吧。。。 |
32
wyndamlion OP @nicevar 坑肯定是有的,就我写这个简单的 demo 都遇到不少坑,但是不影响它优秀的设计,和优秀的体验。api 设计的拓展性都比较好,遇到坑可以曲线救国。
|
33
lizhenda 2018-07-27 09:42:30 +08:00
其它都蛮好,但是目前还未找到直接封装原生组件结合开发的途径,这样直接断送了比如接入视频播放、地图等其它第三方组件的路。这一点是比不上 RN 的
|
34
erDaren 2018-07-27 09:42:54 +08:00
赞!
不过错别字多的有点不能忍了 |
35
artandlol 2018-07-27 09:48:24 +08:00
前段时间就看到咸鱼的 leader 在掘金分享这框架
|
36
rocbomb 2018-07-27 09:57:40 +08:00
高校 UI 编写
哈哈哈,学院派 UI 编写 |
37
chinagxwei 2018-07-27 10:01:38 +08:00
@wyndamlion 没有没有我也在学习当中,加油
|
38
JRay 2018-07-27 10:38:03 +08:00
感觉 UI 那块看得头大
|
39
misaka20 2018-07-27 10:39:49 +08:00
最起码 2 年之内,没有学习的必要。
|
40
CommandZi 2018-07-27 14:25:17 +08:00
虽然我还没了解过,但从闲鱼 iOS 的那个详情页来看,滑动的细节跟原生的不太一样,有点不爽
|
41
lynan 2018-07-27 14:47:10 +08:00
前端狗,这两天才了解到 flutter,跟着教程敲完 demo,嵌套真的晕了。
|
42
wyndamlion OP @lynan 嵌套粒度稍微拆分一下,按照模块分,然后独立一个 widget 这样看着会好很多。
|
43
Totato5749 2018-07-27 16:30:49 +08:00
我觉得 po 吹的过头了。。。。。
|
44
cc128 2018-07-27 20:21:36 +08:00 via Android
最近也在学习。flutter 是直接使用 skia 渲染。所以性能上相当 rn 还要好一些。不过确实不管是 rn 还是 flutter。这种响应式编程还是看着不舒服。
目前也是刚开始看,还不太清楚到底有多少坑。不过看有朋友说 2 年内没必要学,这个不能赞同。国内一些互联网公司已经开始小范围学习和实验了。 而去是 google 搞了个新的系统 fuchsia,并且 android art 虚拟机里已经增加了对他的支持。所以后续 2 各系统定位怎么样先不管。先了解学习下 dart 和 flutter 应该是很好的时机。 |
45
WildCat 2018-07-27 20:23:04 +08:00 via iPhone
生态有点差,轮子是不少了,就是功能都太简陋。
react native 还有个巨大的好处就是可以热更新。 |
46
xiuscong 2018-07-27 20:35:24 +08:00 via Android
性能一点都不优异。列表滑动掉帧卡顿,之前 flutter 官方的 demo 也是各种掉帧
|
47
hyyou2010 2018-07-27 20:40:10 +08:00
|
48
lneoi 2018-07-27 21:33:40 +08:00
三天时间,楼主之前是做什么的?也是 app 开发吗
|
49
luvxy 2018-07-28 16:19:06 +08:00 via iPhone
这个是什么能解释下吗,我第一次听说以为是原生的写安卓的东西,现在看你说好像安卓 ios 都能?
|
50
wyndamlion OP @cc128 赞同
|
51
wyndamlion OP @lneoi 厚着脸皮,四年 Android 开发
|
52
wyndamlion OP @luvxy 你懂 React Native 嘛,还有 Weex,这两个都是通过写 JavaScript 然后通过虚拟机解释脚本调用原生( android/ios/web )的大前端框架。Flutter 的不同就是它不是使用 JavaScript 而是使用 google 自己的 dart 语言,可以实现一套代码三端复用,就是说可以开发 android、ios 和 h5。
|
53
wyndamlion OP @xiuscong debug 的版本性能确实差,有很多 debug 的库没有移除,还有就是我猜 debug 时代码没有优化,release 后性能提升很多,和原生差不远了。有些地方需要优化一下,比如我写的 demo 中 tab 切换就要优化,不然每次切换页面都会卡顿,优化过后和原生体验差不太多。大前端时代要来了,我以前也很抵触这些东西,flutter 改变了我的想法,该学了兄弟。
|
54
deathscythe 2018-08-01 17:40:34 +08:00
跑了一个简单的列表 20 条数据,好卡,滑动一点都不顺畅
|
55
tongyang 2018-08-08 14:24:11 +08:00
你有米有遇到过 new text 出来的字体是红色的还有两条黄线?。。
|
56
39499740 2018-08-13 12:30:32 +08:00
@tongyang
我猜 你用的是 CupertinoPageScaffold Text 默认就是带红色字体带两个黄线,你必须自己改 比如 style: TextStyle( color: Color(0xff333333), fontSize: 15.0, decoration: TextDecoration.none, fontWeight: FontWeight.normal) 另外,如果你使用的是 MD,就不会出这个问题,因为 MD 默认有字体的 style,覆盖了原来的默认 style |
57
39499740 2018-08-13 12:33:25 +08:00
@wyndamlion 不是 debug 没优化的问题,主要是为了 JIT 模式,所以 DEBUG 会卡,release 只有 AOT 模式了,删除了 JIT 模式,效率就上去了
|
60
39499740 2018-08-13 14:08:18 +08:00
@tongyang Text 支持富文本,只不过用起来貌似麻烦点,你可以看看这个 https://www.aliyun.com/jiaocheng/20152.html?spm=5176.100033.2.11.hWOSsB
|
61
tongyang 2018-08-13 14:19:08 +08:00
@39499740 ==我的意思是类似那种像 Android 的 textview 可以直接解析 HTML 或者 markdown 网页的控件。。这种的即使显示了对内部的链接之类的也无法控制。。
|
62
39499740 2018-08-13 14:23:23 +08:00
@tongyang 因为现在没有相关方面的需求,所以没去了解。
你可以去 https://github.com/memspace/zefyr 了解一下。这是个富文本编辑器,但是编辑器里面好像有个页面是展示的,你可以翻翻 demo |
64
pythonee 2018-09-10 10:33:34 +08:00
不错,准备开始学习
|
65
bbinchina 2019-10-23 23:02:22 +08:00 via Android
楼主对 flutter 的工作感兴趣吗?我司正在招人,地点成都上海可选✧◝(⁰▿⁰)◜✧
|
66
jemygraw 2020-01-03 14:06:09 +08:00
不错,不错,稍微修修就能跑。
|
67
cooaer 2023-05-22 19:49:52 +08:00 via Android
@hyyou2010 #47 官方明确说了,不会有热更新功能,理由是苹果应用商店不允许二进制代码更新!
|
68
cooaer 2023-05-22 19:53:45 +08:00 via Android
@deathscythe #54 你试试 release 模式! debug 和 release 包的代码运行模式不一样,debug 用的是 jit 模式,release 是 aot ,性能有很大提升!
|