牛读一周年 重新起航

2017-05-19 11:56:11 +08:00
 liteneo

按惯例先放下载地址:牛读 v2.0.0 http://reader.liteneo.com/ 同时支持 iOS 以及 Android,欢迎品尝

之前一直想着跟着 React Native 的 Release 节奏,每一两个月发一个版本,但是这次却等了四个多月,一方面是要等某些我想要的特性被支持,一些严重的八阿哥被修复,另外一个原因就是这次更新我几乎重写了绝大部分代码逻辑

从用户的角度看,这次更新几乎没有大的更新,只有几处 UI 的更新,比如知乎日报详情页的视差效果以及集成了微信分享,但是对我来讲,这是一次脱胎换骨的更新

  1. dva, 之前的版本没有使用任何 redux、mobx 之类的状态管理工具,因为我觉得整个 App 的逻辑并不复杂,但是事实并非如此,里面各种 ref 的使用使整个流程变得异常复杂,后来经过在 redux 和 mobx 中间纠结,最后选择了抱 redux 大腿,用过 redux 的应该都知道 redux 相对繁琐的写法,所以我选择了 dva,一个封装了 redux + redux-saga 的状态管理库,然后就开始了漫长的重构之旅,dva的体验非常棒,简化了 redux 的写法,以及与 rudx-saga 的集成,现在我将绝大部分逻辑从组件里移到了model里,整个流程清晰多了

  2. react-navigation, 在重构的过程中,RN 先是移除了 NavigationExperimental,接着 depreciated 了一直以来的官方推荐的导航组件Navigator, 转而推荐使用react-navigation,牛读最开始也是用的Navigator,后来因为NavigationExperimental支持原生驱动动画,性能好太多,就切到了NavigationExperimental,这个过程基本无痛,现在为了为以后做准备,于是切换到react-navigation,这真的是件很痛苦的事,一方面是使用方式完全不一样,但最主要的原因是这个库本身问题太多,在重构的过程中,我一直都在反馈问题,提交 PR,终于把他打磨的满足我的需求了(但是对于其他一些场景,他依然还有很多问题没有解决),现在牛读里所有的转场动画都是用 react-navigation 实现的,包括设置界面的旋转

我把 dva + react-navigation 的使用提炼了一个 react-native-dva-starter,我会持续把我认为的 dva 和 react-navigation 在 React Native 中的最佳实践加进去,有兴趣的可以关注下

目前牛读的安卓版还有两个已知的问题

  1. 部分文章显示不全被截断,这个是因为 React Native 的一个问题引起的
  2. 设置界面选择关闭某些模块后会白屏,这个可以通过重启来解决

主要是我手上没有安卓手机,没办法测试,再就是精力实在有限,因为完全是利用业余时间开发,这次重写耗费了我太多时间,但是我还是花费了很多时间去适配安卓版本,就是想证明 React Native 也可以做出体验很好的安卓应用,目前除了因为阿婆的专利问题 Android 的 ScrollView 不支持 overScroll,其他的效果跟 iOS 上完全一致

2619 次点击
所在节点    分享创造
6 条回复
Elven
2017-05-19 12:53:03 +08:00
为啥把 mobx 可怜巴巴的丢在那里 0.0
smallpath
2017-05-19 13:04:07 +08:00
升到 0.43.3 发现内联 Image 的宽高神特么是反过来的, 升到 0.44 发现 facebook 直接把 Navigator 删了。。。。。。。。

升了六七次 RN,没有一次升级能让我直接跑起来的
liteneo
2017-05-19 13:05:11 +08:00
@Elven 因为 mobx 也是个很好的选择啊,而且可能是更好的选择,只是我选择了 redux 而已,mobx 的黑魔法能帮你省很多事,而且性能会更好,尤其是重复渲染的问题
mysticzt123
2017-05-19 21:19:22 +08:00
卧槽 牛神你怎么也玩 v2ex
BoiledEgg
2017-06-20 11:03:59 +08:00
最新更新的 2.1.0,小米 5,阅读知乎内容,页面会截断。
点开 https://www.v2ex.com/t/369718 这个帖子,100%闪退。
开发者头条点进去说没有找到相关内容,第三方被阻止了?
liteneo
2017-06-20 11:08:34 +08:00
@BoiledEgg 知乎页面的内容截断问题是已知的 bug,暂时没时间修复,开发者头条也有问题?这个我要看看了,因为我没有安卓机,不太好测试,感谢您的反馈

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

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

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

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

© 2021 V2EX