React-Native 的「ONE·一个」 ReactNativeOne

码农软件 · 软件分类 · React 开源项目 · 2019-04-28 07:41:40

软件介绍

「ONE·一个」是由韩寒监制,原《独唱团》主创成员共同制作的一款文艺生活APP

支持设备: Android 4.1+ and iOS 8.0+

声明

该APP所用到的API均由 「ONE · 一个」提供,本人采取非正常手段获取。获取跟共享的行为或许有侵犯权益的嫌疑。请您了解相关情况,并保证不侵犯「ONE · 一个」的利益,并遵守开源协议

项目描述

  1. 基于React-Native框架开发,能同时运行在Android、iOS环境下,实现80%的代码复用,GitHub地址:https://github.com/lipeiwei-szu/ReactNativeOne

  2. 到目前为止,该项目均由本人独立完成,希望能有更多的小伙伴来一起完善这个项目。实现了「ONE·一个」绝大部分的功能点,涵盖了图文、阅读、音乐、电影四大版块,以下是功能列表

  • 使用ViewPager跟ListView展示图文列表、查看往期历史图文信息、点击查看大图

  • 三种系列(短篇、连载、问答)的文章阅读以及文章音频播放,查看往期文章列表

  • 音乐故事展示、音乐播放、查看历史音乐列表

  • 最近电影信息列表、查看电影详情页面、电影预告片播放、查看剧照列表

  • 查看文章、音乐、电影的评论列表,自定义扩展ListView,实现上拉加载更多数据

  • 微信好友分享、微信朋友圈分享

  • 缓存api接口数据,充分节省流量,增强用户体验

接口文档

请到ONE-API查看

APP截图

picture_detail picture_list reading_container  article_list1     music_list movie_list     

整体思路

  1. 分析「ONE·一个」App的业务逻辑结构,将整体业务按重要程度进行划分,安排整体开发流程

  2. 在Mac环境下使用Charles软件抓包,抓取「ONE·一个」的网络接口数据,并整理接口文档,文档地址是https://github.com/lipeiwei-szu/ONE-API

  3. 使用官方的Navigator管理全局路由,可自由配置Scene的出场动画,处理Android端的后退键事件

  4. 使用FlexBox和jsx语法进行布局,并封装了一系列通用的组件,比如GridView、带上下拉功能的ListView、ImageViewer等,便于全局复用

  5. 在Android原生端实现音频播放功能,并导出Native Api给React Native使用

  6. 导入Video Native Api,自定义界面并实现电影预告片的加载播放

  7. 导入GitHub第三方库react-native-wechat实现图文、阅读、音乐、电影的微信分享

  8. 处理了App加载网络数据时的各种状态,比如加载中、加载成功、加载失败、点击屏幕重新进行加载等

  9. 使用InteractionManager,保证每个页面都在转场动画结束时才进行耗时操作,使得切换页面时不卡顿,尽量减少View的层级,优化渲染性能

  10. 在深刻理解的前提下引入redux相关功能,包括redux/react-redux/redux-thunk/redux-logger,设计与音频相关的全局state结构,使用redux管理与音频state相关的组件

本文地址:https://codercto.com/soft/d/4547.html

Designing for Emotion

Designing for Emotion

Aarron Walter / Happy Cog / 2011-10-18 / USD 18.00

Make your users fall in love with your site via the precepts packed into this brief, charming book by MailChimp user experience design lead Aarron Walter. From classic psychology to case studies, high......一起来看看 《Designing for Emotion》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具