最近1个月完成了一个RN的项目,这里记录一下,以备后面的总结
项目内容
- 登录
- 根据剪贴板的内容查找数据
- 显示查找后的数据,并对这个数据进行一些处理
平台支持
iOS和Android
iOS已经上架2版
开发方式和架构内容
- 使用Git作为版本管理
- 使用Atom作为开发工具,XCode辅助,没有用Android Studio
- 使用CodePush作为js package的升级工具
- 使用Redux作为React的数据框架
- 使用Stackoverflow和React的issue list作为主要的知识查找
- 开发了一些自己使用的Android的插件,因为Android不支持Onresume事件,所以自己写了插件,后面会open出来
- 主要使用ios做开发,然后Android适配
- 使用了自定义字体作为图标,进入了ttf文件
- 使用eslint做js的静态检查
总结
- ios还是比较稳定并且功能也比较全
- Android的坑是有不少,比如:不支持Shadow,还有对absolute的布局支持的也不够好
- Android的事件支持的不好,很多事件还没有支持
- Android的性能好像也不是很好,但是,也能凑合用
- Android的原生控件封装的不好
- 如果希望代码复用高,最好让iOS和Android尽量保持样式的一致
- 这篇文章对我在Mac上调试Android有很大帮助
使用到的第三方库
- Redux
- Redux-react
- ImmutableJS
- moment
- React-native 0.14.1
- react-native-android-statusbar
- react-native-clipboard ,因为owner很久不维护,我做了一些修改,后面会open出来
- react-native-code-push
- react-native-device
- react-native-icons
- react-native-keyboard-spacer
- react-native-navbar"
- react-native-simpledialog-android
- redux-thunk