用 Flutter 写了个 V2EX 的小 demo, Flutter 真的很优秀。

2018-07-26 17:58:31 +08:00
 wyndamlion

V2EX Flutter Demo

项目地址: https://github.com/onlynight/v2ex_flutter_demo

关于 Demo

该 Demo 旨在学习 flutter,以及研究 flutter 的实用性。

从学习 flutter 到编写完该 demo 总计耗时 3 天,易上手。

设计理念优秀,UI 组建全部以 widget 形式呈现,非 UI 组建也可以是 widget,API 设计规范统一,优秀。

app 预览

app 下载

下载最新的 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

这是一个用 flutter 写的 V2EX 客户端 app。旨在学习 flutter,以及研究 flutter 的实用性。对比了 React Native,Weex 和 Flutter,Flutter 优势很明显,具体有以下几点:

  1. 性能表现优异(目前只测试 android 端,ios 暂时没有测试,估计性能会比 android 更优秀)
  2. 教程文档全中文
  3. 社区友好,文档齐全
  4. 大厂 google 负责开发维护
  5. 高校 UI 编写(虽然没有从开发框架层面做 MVC,直接使用代码编写界面,但是设计理念优秀,特别适合 app 开发人员学习,深入)
  6. 综上,非常优秀的大前端框架,优秀。
13297 次点击
所在节点    问与答
68 条回复
lynan
2018-07-27 14:47:10 +08:00
前端狗,这两天才了解到 flutter,跟着教程敲完 demo,嵌套真的晕了。
wyndamlion
2018-07-27 14:52:23 +08:00
@lynan 嵌套粒度稍微拆分一下,按照模块分,然后独立一个 widget 这样看着会好很多。
Totato5749
2018-07-27 16:30:49 +08:00
我觉得 po 吹的过头了。。。。。
cc128
2018-07-27 20:21:36 +08:00
最近也在学习。flutter 是直接使用 skia 渲染。所以性能上相当 rn 还要好一些。不过确实不管是 rn 还是 flutter。这种响应式编程还是看着不舒服。

目前也是刚开始看,还不太清楚到底有多少坑。不过看有朋友说 2 年内没必要学,这个不能赞同。国内一些互联网公司已经开始小范围学习和实验了。

而去是 google 搞了个新的系统 fuchsia,并且 android art 虚拟机里已经增加了对他的支持。所以后续 2 各系统定位怎么样先不管。先了解学习下 dart 和 flutter 应该是很好的时机。
WildCat
2018-07-27 20:23:04 +08:00
生态有点差,轮子是不少了,就是功能都太简陋。

react native 还有个巨大的好处就是可以热更新。
xiuscong
2018-07-27 20:35:24 +08:00
性能一点都不优异。列表滑动掉帧卡顿,之前 flutter 官方的 demo 也是各种掉帧
hyyou2010
2018-07-27 20:40:10 +08:00
https://github.com/flutter/flutter/issues/14330

我估计 flutter 后续会增加热更新功能,这的确是个吸引人的能力
lneoi
2018-07-27 21:33:40 +08:00
三天时间,楼主之前是做什么的?也是 app 开发吗
luvxy
2018-07-28 16:19:06 +08:00
这个是什么能解释下吗,我第一次听说以为是原生的写安卓的东西,现在看你说好像安卓 ios 都能?
wyndamlion
2018-07-28 22:37:17 +08:00
@cc128 赞同
wyndamlion
2018-07-28 22:39:39 +08:00
@lneoi 厚着脸皮,四年 Android 开发
wyndamlion
2018-07-28 22:43:05 +08:00
@luvxy 你懂 React Native 嘛,还有 Weex,这两个都是通过写 JavaScript 然后通过虚拟机解释脚本调用原生( android/ios/web )的大前端框架。Flutter 的不同就是它不是使用 JavaScript 而是使用 google 自己的 dart 语言,可以实现一套代码三端复用,就是说可以开发 android、ios 和 h5。
wyndamlion
2018-07-28 22:46:19 +08:00
@xiuscong debug 的版本性能确实差,有很多 debug 的库没有移除,还有就是我猜 debug 时代码没有优化,release 后性能提升很多,和原生差不远了。有些地方需要优化一下,比如我写的 demo 中 tab 切换就要优化,不然每次切换页面都会卡顿,优化过后和原生体验差不太多。大前端时代要来了,我以前也很抵触这些东西,flutter 改变了我的想法,该学了兄弟。
deathscythe
2018-08-01 17:40:34 +08:00
跑了一个简单的列表 20 条数据,好卡,滑动一点都不顺畅
tongyang
2018-08-08 14:24:11 +08:00
你有米有遇到过 new text 出来的字体是红色的还有两条黄线?。。
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
39499740
2018-08-13 12:33:25 +08:00
@wyndamlion 不是 debug 没优化的问题,主要是为了 JIT 模式,所以 DEBUG 会卡,release 只有 AOT 模式了,删除了 JIT 模式,效率就上去了
tongyang
2018-08-13 12:53:27 +08:00
@39499740 谢谢啦,弄明白了。。就是这个问题。。好坑啊。。
tongyang
2018-08-13 13:13:46 +08:00
@39499740 你知道 flutter 对于富文本该用什么控件么?
39499740
2018-08-13 14:08:18 +08:00
@tongyang Text 支持富文本,只不过用起来貌似麻烦点,你可以看看这个 https://www.aliyun.com/jiaocheng/20152.html?spm=5176.100033.2.11.hWOSsB

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

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

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

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

© 2021 V2EX