字节笔记本
2026年3月22日
flutter_hrlweibo:Flutter 仿微博客户端开源项目
本文介绍 flutter_hrlweibo,一个基于 Flutter 开发的仿微博客户端项目,高度还原了微博最新版本的核心界面与交互功能,涵盖了首页信息流、视频播放、发现页、消息聊天以及个人中心五大模块,是学习 Flutter 实战开发的优秀参考项目。
项目简介
flutter_hrlweibo 是由开发者 huangruiLearn 开源的一个 Flutter 仿微博客户端项目。该项目致力于还原微博最新版本约 80% 的界面,总共涉及数十个界面和接口调用,几乎用到了 Flutter 中的大部分核心组件。项目在 GitHub 上获得了 2.9k Star 和 693 Fork,是 Flutter 中文社区中备受关注的社交类应用示例。
项目采用原生技术栈构建,代码语言分布为 Dart(98.3%)、Java(1.5%),结构清晰,适合有一定 Flutter 基础的开发者深入学习和二次开发。
核心特性
五大模块完整覆盖
项目将微博客户端划分为五个核心模块,每个模块都实现了丰富的功能细节:
- 首页模块:包含微博信息流、轮播图展示、图文混排、多种卡片类型(纯文字、九宫格图片、视频、转发等)、下拉刷新与上拉加载、话题标签点击、评论与点赞交互、用户资料页跳转等完整的微博信息浏览体验。
- 视频模块:集成视频播放功能,支持视频列表浏览、全屏播放等操作,为用户提供沉浸式的短视频观看体验。
- 发现模块:包含热门话题、热搜榜单、附近动态、扫码等微博发现页的核心功能入口,界面布局与原版微博高度一致。
- 消息模块:仿照微博聊天界面设计,实现了私信对话列表、聊天消息展示、文字输入与发送、语音消息录制与播放等即时通讯功能。
- 我的模块:个人中心页面,包含用户头像与资料编辑、微博列表(原创/转发/收藏)、粉丝关注列表、设置页面等完整功能。
丰富的交互细节
项目在交互层面做了大量工作,包括但不限于:页面间的路由跳转与参数传递、键盘弹出的自适应布局处理、@和#等特殊字符在输入框中的处理、权限管理(相机、麦克风等)、录音与音频播放功能等。这些细节使得项目不仅仅停留在"形似"层面,更在"神似"上做到了较高的还原度。
测试账号支持
项目内置了多个测试账号,方便开发者快速体验完整功能而无需搭建后端服务。提供的测试账号包括 test1 到 test5,密码统一为 123。
技术栈
核心框架
- Flutter 3.0.5:项目基于 Flutter 3.0.5 版本开发,使用了该版本提供的大量现代化组件和 API。
- Dart:主要编程语言,占据项目 98.3% 的代码量。
关键第三方依赖
项目选用了多个成熟的 Flutter 第三方库来支撑各类功能需求:
| 第三方库 | 功能描述 | GitHub 地址 |
|---|---|---|
| dio | 网络请求框架,支持拦截器、全局配置等 | flutterchina/dio |
| flutter_swiper | 轮播图组件,用于首页轮播展示 | best-flutter/flutter_swiper |
| video_player | 视频播放基础组件 | flutter/plugins |
| chewie | 视频播放器封装,提供更友好的播放控制 | brianegan/chewie |
| fluro | 路由管理框架,支持通配符和参数传递 | theyakka/fluro |
| permission_handler | 运行时权限处理 | Baseflow/flutter-permission-handler |
| keyboard_visibility | 键盘显示与隐藏状态监听 | adee42/flutter_keyboard_visibility |
| audio_recorder | 音频录制功能 | pub.flutter-io.cn |
| audioplayers | 音频播放功能 | luanpotter/audioplayers |
| extended_text_field | 扩展文本输入框,支持 @ # 等特殊字符处理 | fluttercandies/extended_text_field |
平台支持
项目支持 Android 和 iOS 双平台,可通过删除原生目录后执行 flutter create . 重新生成平台配置文件来完成本地编译适配。
安装指南
环境要求
- Flutter SDK 3.0.5 或以上版本
- Android Studio / VS Code(推荐安装 Flutter 和 Dart 插件)
- Android SDK(Android 开发)或 Xcode(iOS 开发)
克隆项目
git clone https://github.com/huangruiLearn/flutter_hrlweibo.git
cd flutter_hrlweibo本地编译
如果遇到平台兼容性问题,可以重新生成平台配置:
# 删除现有平台目录
rm -rf android ios
# 重新创建平台配置
flutter create .
# 安装依赖
flutter pub get
# 运行项目
flutter run安装 APK
项目提供了预编译的 APK 文件,可以通过以下两种方式安装体验:
- 从项目目录下的
apk/app-release.apk直接安装 - 通过蒲公英分发平台下载:https://www.pgyer.com/lrhP
快速开始
登录测试
启动应用后,使用以下任一测试账号登录即可体验完整功能:
- 账号:test1 / 密码:123
- 账号:test2 / 密码:123
- 账号:test3 / 密码:123
- 账号:test4 / 密码:123
- 账号:test5 / 密码:123
模块导航
登录成功后,底部导航栏包含五个 Tab 对应五个核心模块,点击即可切换:
- 首页:浏览微博信息流,支持上下滑动浏览、点击查看详情
- 视频:浏览和播放短视频内容
- 发现:查看热门话题、热搜榜单等
- 消息:查看私信列表和聊天详情
- 我的:管理个人资料和设置
使用示例
学习价值
本项目非常适合以下场景的学习参考:
- Flutter 组件综合运用:项目中使用了 Flutter 的大部分组件,是学习组件使用的绝佳实践案例
- 复杂页面布局:信息流、聊天界面等复杂 UI 布局的实现方式
- 网络请求与数据管理:dio 的使用方式、JSON 数据解析、状态管理
- 路由管理:fluro 路由框架的配置与使用
- 多媒体功能集成:视频播放、音频录制与播放的实现
- 权限处理:运行时权限的请求与处理流程
二次开发建议
如需基于本项目进行二次开发,建议关注以下几点:
- 替换测试后端 API 为实际业务接口
- 根据业务需求调整各模块的页面布局和功能
- 考虑引入状态管理方案(如 Provider、Bloc、GetX 等)来优化数据流
- 升级 Flutter SDK 版本以获取更好的性能和新特性支持
项目链接
- GitHub 仓库:https://github.com/huangruiLearn/flutter_hrlweibo
- APK 下载:https://www.pgyer.com/lrhP
- Star 数:2.9k
- Fork 数:693
- 开源协议:遵循 GitHub 默认开源协议