这是一个基于 react-native
的 Bangumi 第三方客户端
Bangumi 是一个用于管理追番进度(不限于动漫、音乐、日剧、游戏、AVG),发现和讨论番组的网站
iOS 和安卓版本都做了兼容,并尽最大努力保持一致性
目前已开发超过 100 个页面,基于移动端重新设计布局,几乎涵盖了网站的所有页面
我本人并没有原生开发经验,这个项目用于练习 react-native,希望通过这个平台学习更多
关于本项目的更多说明,可以前往 语雀 查看
AltStore 侧载 | iOS 上当前可用的方法 | Expo 主页
Google Play 版本因被恶意举报已暂停
苹果 100 美元开发者账号已过期,期间未能通过审核,因功能太多且涉及社区、版权敏感等问题,加上最近还有备案要求,不可能再提交审核了
基于 @storybook/react-native 生成的 iframe.html,在尽量少入侵原项目的基础上,开发了一个完整的单页面流程(当然这样是不考虑性能问题的,不可能与正常开发的,例如使用 Next.js 的相提并论)。
因现在 expo 在网页上面已经很成熟,若以后有空再考虑使用同一套方案补全网页端。
以下为 2024 年 5 月份,一些 UI 相对不重复的页面截屏
这个仓库已经持续开发多年,当初并没有现在这么多简单而优秀的方案和第三方库,比如 react hooks、react-native-fast-image、react-native-reanimated、expo libraries,甚至连 pressable、color scheme 的概念都没有。所以代码中会存在大量老旧的,或者与你现在了解的 react-native 很多类似的实现,这些都很难通过使用新方案来迭代了。
使用 react-native 开发一个应用,要做到流畅需要下很大功夫,但不要说 rn 不行了,被放弃了不如 Flutter,只要写法正确一样可以很流畅。其实跟开发 web 应用没多大区别,但经过几年开发,影响流畅度的关键点无非就几个:
我一直在 mac 环境下开发,iOS 使用 expo 客户端调试,安卓跑真机 usb 调试。
由于 4 年的迭代,不管是对于本项目,还是最初使用的 expo 来说,都已经大不相同。iOS 目前只能跑在 expo 上,而安卓只能跑在 metro 上。
在 iOS 上想充分利用 expo 客户端简化调试流程,所以不会引入 expo 不支持的第三方库。而安卓上面想要最高的性能,所以后期已经从 expo 上面 eject 出来了,用上了很多第三方的性能优化库替代了原来的组件。
如果你想在本地调试,不要在根目录安装包,而请先到 ./packages/[目标环境]/ 下使用 yarn 安装包,然后使用命令 yarn env [xxx] 来切换到目标开发环境,最后请参考这个时候根目录的 package.json 中的命令开发。通常预置的本地调试命令是 yarn dev。
如果遇到跑不起来,不要太过折腾,建议在运行本项目之前,就应该使用官方提供的工作流预先把所有环境需要的库都安装好。window 和 mac 的环境差异还是比较大的, 可以查阅 Expo 官方文档。
</details>不要使用淘宝源,可能会在跑环境时提示不允许代理。
npm config set registry https://registry.npmjs.org
在国内环境,首次下载包可能会异常地慢。因为使用了很多旧的依赖包,里面的包版本依赖混乱,为了避免出错请使用 yarn 安装。
</details>git clone https://github.com/czy0729/Bangumi cd ./Bangumi yarn
如果无法安装,请尝试在命令前添加 sudo。
安卓系统请打开开发者调试模式,需要至少进行一次打开 Android Studio 的同时连接 usb 允许添加调试。
调试时请确保给应用安装权限,允许悬浮窗权限。
遇到 spawnSync adb ENOENT,参考 stackoverflow。
如果第一次就遇到打包失败,看看是不是遇到 read timeout 等问题,这表示需要科学上网。如果前一天还能打包成功,后一天就失败,也可能是依赖包无法获取的问题,因为 gradlew 依赖包只有 24 小时的缓存时间,尝试使用 --offline 命令。
</details>已在 mac M1 上调试成功,最近购入了 M1,尝试使用新环境,iOS expo 运行一路顺风, 但是打包 apk 遇到很多问题,总结如下:
一定要使用正确的 JAVA jdk,不是 jre!
打包前一定要安装 watchman,否则会遇到监听文件过多的错误
如果打包失败,请进入 android 目录执行 ./gradlew clean
命令后重新打包
如果打包失败,且错误提示中出现 node_modules 包的名称,请尝试下载补全该包
如遇到各种无法预料的问题,请务必尝试重启电脑
本项目所有数据信息均来自各网站,不提供任何形式的媒体下载、直接播放和修改功能
本项目承诺不保存任何第三方用户信息
本项目代码仅供学习交流,不得用于商业用途,如有侵权请联系
[Bangumi-OnAir] ekibun 的单集播放数据源
[bangumi-mosaic-tile] weizhenye 的用户统计瓷砖库
[bangumi-data] 番组数据索引
[bangumi-api] 官方接口
开发迭代不易,如果觉得客户端好用且有能力的话,可以赞助一下,也可以给个星星
<img src="https://yellow-cdn.veclightyear.com/0a4dffa0/bb692447-9cb1-43b6-a891-8b204be85dff.png" alt="https://yellow-cdn.veclightyear.com/0a4dffa0/bb692447-9cb1-43b6-a891-8b204be85dff.png" width="188" style="vertical-align: top" /> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/5f7cf12a-7fef-4aa2-9406-d95c9b7311dc.png" alt="https://yellow-cdn.veclightyear.com/0a4dffa0/5f7cf12a-7fef-4aa2-9406-d95c9b7311dc.png" width="188" style="vertical-align: top" />
最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号