推荐7个Flutter重磅开源项目!
2022-06-10 838
现在跨平台开发技术的发展可谓如火如荼,而跨平台中的双雄则是ReactNative和Flutter。而由Google推出的Flutter目前的发展更可谓是如日中天,大有一统各端开发的架势,以此给大家整理了一个优质的Flutter开源项目,帮助大家学习Flutter开发。
@[toc]
1.Flutter仿携程App
(1)应用截图:
https://ucc.alicdn.com/pic/developer-ecology/af0f7186550c446986d97cdf24fd70e1.png(2)实现功能及特性
实现首页、搜索、旅拍、我的四大模块;
实现网络图片本地缓存;
旅拍模块实现瀑布流布局;
接口数据抓取携程H5端;
集成友盟数据统计;
(3)项目结构:
依赖:
azlistview: ^0.1.2 cupertino_icons: ^0.1.2 cached_network_image: ^1.1.1 dio: ^3.0.3 flutter_swiper: ^1.1.6 flutter_staggered_grid_view: ^0.3.0 flutter_splash_screen: ^0.1.0 fluttertoast: ^3.1.3 flutter_webview_plugin: ^0.3.8 lpinyin: ^1.0.7 package_info: ^0.4.0+6
(4)项目地址:
Github地址:https://github.com/wkl007/flu…
2.Flutter仿微博客户端
(1)应用截图:
https://ucc.alicdn.com/pic/developer-ecology/b7d50fb7c9f64ab1a6d4f7c887b21063.png
(2)实现功能:
仿微博最新版本,还原微博80%的界面,总共涉及到了几十个界面和接口,用到了flutter中的大部分组件
分为首页 视频 发现 消息 我的五个模块
(3)依赖:
cupertino_icons: ^0.1.2 #https://github.com/luanpotter/audioplayers audioplayers: ^0.14.0 #https://github: com/best-flutter/flutter_swiper flutter_swiper: ^1.1.6 #https://github.com/best-flutter/flutter_page_indicator flutter_page_indicator: ^0.0.3 #https://github.com/flutter/plugins/tree/master/packages/video_player video_player: # https://github:com/brianegan/chewie: chewie: ^0.9.5 #https://github.com/flutterchina/azlistview azlistview: ^0.1.2 #https://github.com/flutterchina/lpinyin lpinyin: ^1.0.9 # https://github:com/fluttercandies/extended_text_field: extended_text_field: ^0.5.0 url_launcher: 5.3.0 # https://github: com/fluttercandies/extended_nested_scroll_view: extended_nested_scroll_view: ^0.4.0
(4)项目地址:
Github地址:https://github.com/huangruiLe…
3.Flutter仿抖音App
(1)应用截图:
https://ucc.alicdn.com/pic/developer-ecology/ad46cc4cdd984d0d9b65eed58ccd6dff.png
(2)实现功能:
上下刷视频,视频会自动加载封面
左右滑动去搜索与个人中心
双击冒爱心点赞
看评论
切换底部Tabbar
(3)项目结构:
依赖:
# 加载动画库(好像改版之后就没用到了) flutter_spinkit: ^4.1.2 # Bilibili开源的视频播放组件 fijkplayer: ^0.8.3 # 基础的透明动画点击效果 tapped: any # map安全取值 safemap: any
主要文件:
./lib ├── main.dart ├── mock │ └── video.dart # 假数据 ├── other │ └── bottomSheet.dart # 修改了系统BottomSheet的高度 ├── pages │ ├── cameraPage.dart # 拍摄页(没有实际功能) │ ├── followPage.dart # 略 │ ├── homePage.dart # 主页面,包含tikTokScaffold的实际应用功能 │ ├── msgDetailListPage.dart # 略 │ ├── msgPage.dart # 略 │ ├── searchPage.dart # 略 │ ├── todoPage.dart # 略 │ ├── userDetailPage.dart # 略 │ ├── userPage.dart # 略 │ └── walletPage.d # 略 ├── style │ ├── style.dart # 全局文字大小与颜色 │ └── text.dart # 主要的几个文字样式 └── views ├── backButton.dart # iOS形状的返回按钮组件 ├── loadingButton.dart # 可以设置为载入样式的按钮组件 ├── selectText.dart # 可设置为“选中”或者“未选中”样式的文字 ├── tikTokCommentBottomSheet.dart # 仿Tiktok评论样式 ├── tikTokHeader.dart # 仿Tiktok顶部切换组件 ├── tikTokScaffold.dart # 仿Tiktok核心脚手架,封装了手势与切换等功能,本身不包含UI内容 ├── tikTokVideo.dart # 仿Tiktok的视频UI样式封装,不包含视频播放 ├── tikTokVideoButtonColumn.dart # 仿Tiktok视频右侧的头像与点赞等按钮列的组件 ├── tikTokVideoGesture.dart # 仿Tiktok的双击点赞效果 ├── tikTokVideoPlayer.dart # 视频播放页面,带有控制滑动的VideoListController类 ├── tiktokTabBar.dart # 仿Tiktok的底部Tabbar组件 ├── tilTokAppBar.dart # 仿Tiktok的Appbar组件 ├── topToolRow.dart # 用户页面的顶部状态,在tab切换到user页面时隐藏返回按钮 └── userMsgRow.dart # 一条用户信息的样式组件
(4)项目地址:
GitHub仓库地址:https://github.com/mjl0602/fl…
4.Flutter仿斗鱼App
(1)应用截图:iOS
https://ucc.alicdn.com/pic/developer-ecology/8585cf7a474c48d093a8591bdf13b35b.pngAndroid
https://ucc.alicdn.com/pic/developer-ecology/06f65d5c01b849eeb635c99db37cd3cf.png
(2)实现功能:
登录(使用osc账号)
查看资讯(未登录即可查看)
查看、回复、发表、评论动弹(需要登录)
动弹小黑屋(需要登录)
“发现”部分的功能基本上都是用H5实现
资讯列表、动弹列表、评论列表支持下拉刷新或分页加载
支持主题切换(入口在侧滑菜单-设置-切换主题)
动弹中的图片预览暂未实现
摇一摇、“我的”页面功能暂时没完成
(3)项目地址:
Github地址:https://github.com/yubo725/fl…
6.Flutter仿豆瓣客户端App
(
dev-open
大家可以向这个分支根据豆瓣UI做设计稿,提交代码
- 这个分支供广大Flutter开发者来学习Flutter
- 此分支囊括了Flutter 90%的组件的基本与组合使用,是初学者真正实践的不错选择
- 在此豆芽APP的首页实现与影片详情的UI特效,基于魔改Flutter源码。有兴趣可以看看
- 大家想实战自己的Flutter能力,可以将某瓣APP作为设计稿,完成需求,并提交
- 每位开发者提交的代码,我都会在文档中进行备注
注意!!!建议使用模拟数据(mock_request.dart)
- 每个接口均有一定的调用限制
- 大家pull下的代码,进行测试调试时,对于特定接口,返回的特定数据。尽量不要每次求请求一次。可以请求到一次真实数据后,转成json保存 到本地。然后,自己调试开发的时候,使用这个模拟数据即可。 [可参考mock_request.dart]
未来版本计划(欢迎Flutter爱好者前来认领)
欢迎Flutter爱好者共同完成
涉及到UI,可参考豆瓣。
萌新TASK
- 完成任意一个未实现的按钮
- 完成任意一个未实现的页面
- 优化原有Widget
- 爱好者想实现但是未能实现的需求
- More …
进阶TASK
- 优化代码
- 适当缓存数据
- 解决卡顿(可参考:https://flutter-io.cn/docs/testing/ui-performance)
- 优化路由(可参考咸鱼方案:https://www.yuque.com/xytech/flutter/vf1dpf)
老手TASK
对魔改源码或者喜欢翻源码的童鞋可以看看下面两个
-
魔改Flutter AppBar源码实现豆瓣头部特效
-
魔改源码实现电影详情抽屉特效(GIF图如果加载不出来,多刷几次)
页面介绍
-
首页 pages/home
- homo_app_bar.dart 首页导航头
- home_page.dart 首页
- my_home_tab_bar.dart 首页tab
-
书影音 pages/movie
- book_audio_video_page.dart 书影音页面
- detail_page.dart 影片、电视详情页面
- person_detail_page.dart 演员页面介绍
- … 页面都有注释
-
小组 pages/group
-
市集 shop_page.dart
- 市集的数据使用两个webview
-
我的 page/person
更新记录
-
dev-0.1
- 魔改源码实现电影详情抽屉特效
- 魔改Flutter AppBar源码实现豆瓣头部特效
- 优化页面逻辑
- 优化加载速度
-
master
- 基本网络请求框架、UI框架
- 已经填入了”最为复杂的电影TAB页面”、影视详情页面、小组页面(UI与豆瓣一致,数据使用的是热映榜)
- 页面上下滑动
- 页面上下+左右滑动
- 数据加载
- TAB页面滑动
- ….
- 作为基本版本,一些逻辑不够完善,有一些bug。
默认条约
此项目仅供大家交流沟通使用,不得用于任何商业以及利益活动。由此引起的责任,跟我无关。谢谢!
如果您觉得还可以的话,给个Star白~
Thanks
Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
首页 pages/home
homo_app_bar.dart 首页导航头
home_page.dart 首页
my_home_tab_bar.dart 首页tab
书影音 pages/movie
book_audio_video_page.dart 书影音页面
detail_page.dart 影片、电视详情页面
person_detail_page.dart 演员页面介绍
小组 pages/group
市集 shop_page.dart
市集的数据使用两个webview
我的 page/person
(3)项目地址:
Github地址:https://github.com/kaina404/F…
7.闲鱼技术实践开源
阿里的咸鱼技术团队在国内进行Flutter技术研究是比较早的,现在咸鱼APP中的许多模块也是采用了Flutter进行开发,同时也开源了很多技术框架以及相应的技术文档。
https://ucc.alicdn.com/pic/developer-ecology/00eb78295d644dd1aee7142c0f81b153.png去年咸鱼团队发布了《Flutter in action》电子书,总结了在咸鱼APP开中的实践经验,现在又进行思考创新重新整理的升级版的文档,发布了《Flutter技术解析与实战》。
目前本书的电子版开放下载(30M左右 ,请开启wifi环境)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。