项目简介
一个基于 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
: 检查代码风格。
📸 应用截图
项目地址
https://github.com/zimplexing/OrionTV/blob/master/README.md
扫码加入技术交流群,备注「开发语言-城市-昵称」
(文:GitHubStore)