一个跨平台看电视应用,提供流畅的视频观看体验!
安爸
发布于
项目简介
一个基于 React Native TVOS 和 Expo 构建的跨平台电视应用,旨在提供流畅的视频观看体验。项目包含一个用于数据服务的 Express 后端。
功能特性
- 跨平台支持: 同时支持 Apple TV 和 Android TV。
- 现代化前端: 使用 Expo、React Native TVOS 和 TypeScript 构建,性能卓越。
- Expo Router: 基于文件系统的路由,使导航逻辑清晰简单。
- 后端服务: 配套 Express 后端,用于处理数据获取、搜索和详情展示。
- TV 优化的 UI: 专为电视遥控器交互设计的用户界面。
技术栈
- 前端:
- React Native TVOS
- Expo (\~51.0)
- Expo Router
- Expo AV
- TypeScript
快速开始
环境准备
请确保您的开发环境中已安装以下软件:
- Node.js (LTS 版本)
- Yarn
- Expo CLI
- Xcode (用于 Apple TV 开发)
- Android Studio (用于 Android TV 开发)
项目启动
接下来,在项目根目录运行前端应用:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line # (如果还在 backend 目录) 返回根目录 cd .. # 安装前端依赖 yarn # [首次运行或依赖更新后] 生成原生项目文件 # 这会根据 app.json 中的配置修改原生代码以支持 TV yarn prebuild-tv # 运行在 Apple TV 模拟器或真机上 yarn ios-tv # 运行在 Android TV 模拟器或真机上 yarn android-tv
部署
- 1.2.x 以上版本需配合 MoonTV 部署使用,api 地址填部MoonTV署后的访问地址。
- 注意: 地址后面不要带
/,不要遗漏http://或者https://
- 注意: 地址后面不要带
- 如果不想依赖 MoonTV,可以使用 1.1.x 版本。
其他
- 最低版本是 android 6.0,可用,但是不推荐
- 如果使用 https 的后端接口无法访问,在确认服务没有问题的情况下,请检查 https 的 TLS 协议,Android 10 之后版本才支持 TLS1.3
主要脚本
yarn start: 在手机模式下启动 Metro Bundler。yarn start-tv: 在 TV 模式下启动 Metro Bundler。yarn ios-tv: 在 Apple TV 上构建并运行应用。yarn android-tv: 在 Android TV 上构建并运行应用。yarn prebuild-tv: 为 TV 构建生成原生项目文件。yarn lint: 检查代码风格。
应用截图

项目地址
扫码加入技术交流群,备注「开发语言-城市-昵称」
(文:GitHubStore)
扫描二维码,在手机上阅读