Skip to content

alansuhe/expo-course-chat-ai

Repository files navigation

目标

概述

作者在Bilibili等视频网站推出的expo视频讲座相关内容。 关注我的ReactNative视频课程

本视频课程作者将从头开始实际操作。基于最新的Expo框架版本,配合作者精心选择的组件,开发一个ReactNative App,实现类似ChatGPT移动应用的主要功能,并录制成有参考学习作用的课程。

本课程以实际操作演示为主,基本概念内容均快速带过,目的是让同学可以边看边动手完成自己的App开发。

课程后期会根据情况,为课程学员提供文档和源码等资料。

功能点

  1. 对接AI大模型api接口,实现Completion, streaming等数据交互;
  2. 兼容OpenAI和类似模型;
  3. 对话界面,用户与AI文字聊天;
  4. 流式文字输出,just like ChatGPT;

部分要求

  1. 带Drawer抽屉菜单;
  2. 聊天过程本地留下记录;
  3. 明暗两种UI风格;
  4. 多语言;(中/En)

可选要求

  1. 用户管理:注册/登录/安全/修改等;
  2. 可选择不同AI平台和模型;

工具和组件

  1. Expo router;
  2. NativeWind?// tailwindCss
  3. OpenAI Nodejs;
  4. OpenAI封装兼容组件/或自己写;
  5. i18n插件;
  6. mmkv存储;
  7. 数据库?
  8. 用户服务?

操作内容

  1. Expo项目创建;
  2. 在Expo Go中开发调试;
  3. 在Development build中开发调试;
  4. 安装配置各种组件,实现相关功能;
  5. 注册各类云服务,充值...
  6. 对接AI大语言模型平台;
  7. AI聊天测试;
  8. UI美化+性能Ï调优;
  9. EAS build本地打包+云端打包;

课程设计

  1. 准备环境,创建项目;
  2. 导航和基本页面设计;
  3. 风格设计,tailwind? 明暗效果;
  4. 多语言实现;
  5. 主要组件;
  6. input;
  7. AI组件及api,注册moonshot;
  8. 实现completion;
  9. AI封装,实现streaming;
  10. 优化;
  11. 打包;

视频章节

  1. 预告
  2. 新建项目+设计对标
  3. 基本导航逻辑框架
  4. 自定义抽屉菜单
  5. 抽屉菜单项的聚焦效果
  6. 抽屉菜单中模拟历史chat列表
  7. 导航的push问题处理
  8. 建立风格体系的方法论探讨:tailwind组件和明暗切换
  9. 设计自己的Style风格体系
  10. 打造自己的风格钩子useStyle
  11. 导航框架Theme一致化改造
  12. 界面套用新风格

其他说明

  1. 作者主要在macos系统上操作,大多数情况下以iOS苹果设备为测试对象;
  2. 本人之前的其他Expo基础课程,对加深理解和快速进入开发状态非常有用,建议可以先学习;
  3. 本课程适合有一定前端基础的同学,如果是纯小白,建议也可以看个几集找找感觉,有兴趣了再从基础学起。