Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap without any promises #2

Open
8 tasks
yuche opened this issue Jun 8, 2017 · 0 comments
Open
8 tasks

Roadmap without any promises #2

yuche opened this issue Jun 8, 2017 · 0 comments

Comments

@yuche
Copy link
Owner

yuche commented Jun 8, 2017

  • View 层的分离和测试。这个是一定会做的,这个项目就是跑测试送 App,没有测试就没意思了。虽然之前写 View 都是怎么快怎么来,但大部分 container 的子组件还是都提前写成了 functional 的样子,所以改起来应该不算麻烦。这里包括两步:
    • 用 Reselect 重写 connect ,之前写 View 层基本就是怎么快怎么来,虽然 chrome profile 和 Xcode 调试显示还没有性能问题,这个我倒是想提前优化一下;
    • 用 Recompose 分离组件,这里尽量就不用 class 来写 component 了(不过这里还有一个 React Native animation 的问题),保证每个组件都是 functional component,这样即便不用 Jest 的 snapshot 测试起来也很方便
  • 用 normalizr 重写数据结构。当时写枸杞的时候 Twitter 还没有发他们新的 mobile 版本,在 Redux devtools 看了一下他们的数据结构发现原来这么搞才更科学。
  • 接入别的音乐 API。这里依赖于前一个 todo。原理就是给每一个音乐源的 API 都写一个 normalizr,因为 saga 测试 AJAX 的 I/O 都做了提前的处理,所以 saga 的测试不用重写。
  • 支持 Android。由于我没有真机也没法做调试,另外听说现在 Android 有了很大进步,现在 2k 到 3k 阶段有什么可以推荐吗?希望对开发者友好。
  • 适配更多机器。目前应该 iPhone 5(s/SE) 和 6(s/7) 两种都没问题,但播放器写死了图片的大小,
  • 音乐的 cached。现在播放音乐使用的是 react-native-video ,在 iOS 上AVFoundation 的简单实现,每次加载音乐都要把整首歌全都下载过来才能播放。另外一个选择是 react-native-sound ,这个也写好了但效果并不比 react-native-video 好。一些支持 cache 的音乐播放实现实际上用的是 StreamKitDOUAudioStreamer ,但他们的 API 还不满足现在枸杞的需求。如果纯用 JavaScript 的话倒是有一个思路:把音乐先 fetch 成 blob,然后用 react-native-fetch-blob 转换成 stream 给 react-native-video 播放,下载完成之后缓存在本地第二次播放的时候就直接播放本地文件。不过具体到底能不能 work 还不清楚。最好还是有原生语言开发者能做这类事。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant