/flutter_mvp

使用Flutter MVP结构开发的短视频类小项目,加入各种平滑的过渡动画。欢迎Star或Fork!

Primary LanguageDartApache License 2.0Apache-2.0

Flutter Mvp

Language Platform APi Version Release License Author

本项目是在学习Flutter过程中,利用业余时间开发的一款小项目,代码结构清晰,项目采用了传统的MVP模式。

项目中包含了Flutter在开发过程中常用控件(Widget)使用及部分自定的Widget。

本想项目使用了大量的过渡动画,使页面切换和Widget交互起来更加顺畅。

#界面 部分效果图如下

如果感觉这个项目对你有所帮助,希望给个Star鼓励下,谢谢~,同时欢迎提Issue

使用技术及实现内容

  • Flutter和原生交互的插件播放器封装使用 插件地址

  • 大量 Flutter Animation 使用

  • 部分自定的控件使用 (自定义搜索框等)

  • Sliver 复杂联动动画实现

  • Provider状态管理使用

  • 网络请求采用的是Dio ,对请求结果进行统一处理,使数据交互更加方便

  • 部分页面的管理采用了fluro 路由进行管理

项目体验下载地址

编译运行流程

  • 配置Flutter开发环境,详情见官网

  • Flutter Version v1.12.13+hotfix.5

  • Dart Version 2.5.0

  • clone 项目代码 执行 flutter packages get 或者打开 pubspec.yaml文件 点击 Package get,建议配置国内镜像 详情见官网

##注意事项

  • 本项目暂不支持IOS,由于暂时没有开发IOS播放器插件

  • 如果想体验的更流畅建议使用release版本,debug版本会有些许的卡顿属于正常现象

本项目采用的开源库

功能
dio 网络库
provider 状态管理
flutter_mvideo_plugin 播放器插件
fluro 路由管理
flutter_oktoast Toast工具
common_utils Dart 常用工具类库
flustars Flutter 常用工具类库
rxdart Dart的响应式扩展
sprintf String格式化工具
logger Flutter 日志工具
event_bus 事件分发工具
cached_network_image 图片加载
url_launcher 启动URL的插件
webview_flutter WebView插件
package_info 获取应用信息插件

更新日志

V1.0.0

  • 初始出版完成,主要功能基本完成

后续计划

  • 对代码进行优化及维护

  • 把之前开发过程的踩坑以文章的形式总结

  • 开发或引用IOS播放器插件,适配IOS

感谢

  • flutter-go 包含常规组件的使用工程

  • flutter_wanandroid 玩安卓的Flutter客户端

  • KotlinMvp 感谢该项目的作者同意我使用本项目的UI。

  • 感谢所有的开源项目

声明

项目中的 API 均来自开眼视频,UI来自KotlinMvp,纯属学习交流使用,不得用于商业用途!

License

Copyright 2019 ViktSun

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.