七分设计感的纯Flutter项目(Mung三部曲)
React版Mung
React-Native版Mung
Flutter版Mung
Mung-Flutter
1. Mung-Flutter:是一个基于Flutter编写,使用豆瓣开源API开发的一个项目。
2. 功能概述
- 启动页:添加了启动页主要是让最开始进入时不至于显示白屏。
- 数据保存 :支持断网加载缓存数据。
- 主题换肤 :现在只支持切换主题颜色,本项目没几张图片。
- 查看电影详情 :支持查看电影详情包括评论。
- 一键搜索: 支持标签和语句查找相关的电影。
- 查看剧照: 支持缩放图片。
3.1 动态演示(Android版)
3.2 运行结果图
4. 使用到的框架
- flutter_swiper :Banner栏图片轮播的效果。
- rxdart :和Rxjava、RxJs、RxSwift差不多,这里主要用它的BehaviorSubject配合Bloc模式实现状态管理。
- shared_preferences :简单的数据保存,比较细致的数据存储如列表等还是建议使用数据库。
- dio :实现网络请求,一个非常不错的三方网络包,功能非常多,如果刚入门或者项目比较急建议使用这个。
- flutter_spinkit : 加载时显示的加载组件,挺不错,建议看下。
- photo_view: 图片缩放组件,因为安卓里的photoview正好选了,使用了一个简单的功能,暂时没发现问题。
5. 项目全局状态管理
现在据我了解的比较成熟的状态管理有。
- InheritedWidget(自带的其他三方好像都是基于它开发,只是封装了下,更加方便)
- scoped_model: 不错。
- redux和前端的redux是一个意思,但我写过demo用过,个人愚见:差远了。
- Bloc:(Business Logic Component)paolo soares 和 cong hui 在2018年Google dartconf上提出的,它其实是一个模式InheritedWidget+stream配合使用。
本项目使用的就是Bloc。
6. 思考
这个开发的第一个flutter,都有这个项目来说该用的主流框架都恰到好处的用了,因为项目太小,适合入门和快速开发。对于flutter个人感觉。
- 上个月看了一个消息Flutter团队好像在今年不会推出热更新功能,好像是基于安全和可实现性考虑,这里要说下flutter编译模式: 开发阶段使用的是 Kernel Snapshot 模式编译,生产模式使用AOT。
- flutter上月好像推出了web端和桌面的适配,这个应该对flutter发展有很大帮助。
- 我之前一年多一直使用React-Native开发项目,感觉Flutter的组件比RN多,而且多很多,组件兼容性更好,而且更精致,但是嵌套的模式真心丑,而且巨乱,我开发时把组件拆分成多个函数这样会让界面清新一点。
- 状态管理,暂时还没有一个绝对好的状态管理功能,现在有些项目使用bloc或者bloc+redux,但个人认为不久的将来会有一个好的状态管理功能占据绝对的地址,想RN的redux、mobx一样。
- 组件生命周期函数很少,尤其是开发大型项目时,之前使用RN开发时就觉得RN比原生安卓生命周期少,自己还得去添加全局监听去管理生命周期,flutter就更少了。
- 性能,应该flutter,网上一大堆对比文章一番一大把,个人使用也明显感觉到flutter性能很好,这是现实原理的问题,尤其是列表,比fRN好很多,而且动画等也多,自定义组件还没看,不做评价。
- 社区,毫无疑问RN社区会比Flutter对于现在这个时间段来说,而且RN支持热更新对原生加(RN、Flutter)来说,RN也更站优势,三方组件来说RN已经很多了,开源项目比较多。
7. 提示
2019-5-12左右豆瓣把开源API关了,现在使用的别的开发者的地址,项目Baser_url是抽出来的后期可以自己改,现在项目使用的是https://douban.uieee.com/v2,可以正常运行。
8.下载地址
- 安卓版
- ios版(没有企业账号-?)
七分设计感的纯Flutter项目(Mung三部曲)相关推荐
- Flutter 学习之打包 - 纯Flutter项目生成Android包
###前言 前面介绍了Flutter中一些基本Widget的使用方法,下面我们来先下实战中是如何构建生成Android包的,本文我们主要介绍纯Flutter项目生成Android包的方法,以及遇到的问 ...
- Flutter 项目的闪屏页方案
前言 在APP项目中闪屏页(或启动页)的作用是为了解决在程序显示第一帧之前,不要出现白屏的现象,尤其是在纯RN和Flutter的项目里面,资源加载完成到显示的速度会比Native要逊色一些.这里主要总 ...
- 【Flutter】创建 Flutter 项目 ( Android Studio 创建并运行 Flutter 应用 | 命令行创建并运行 Flutter 应用 | 运行 Flutter 应用三种方式 )
文章目录 一.Android Studio 中创建 Flutter 项目 二.命令行创建 Flutter 项目 三.通过命令行方式运行 Flutter 项目 四.通过 Android Studio 可 ...
- flutter如何访问mysql数据库_手把手教你在Flutter项目优雅的使用ORM数据库
Flutter ORM数据库介绍 Flutter现在开发上最大的槽点可能就是数据库使用了,Flutter现在只提供了sqflite插件,这表明开发者手动写sql代码,建表.建索引.transation ...
- 【Flutter】Flutter 项目中使用 Flutter 插件 ( Flutter 插件管理平台 | 搜索 Flutter 插件 | 安装 Flutter 插件 | 使用 Flutter 插件 )
文章目录 一.Flutter 包和插件管理平台 二.Flutter 插件搜索示例 三.Flutter 插件装示例 1.添加 Dart 包依赖 2.获取 Dart 包 3.使用 Dart 包 4.官方的 ...
- dio设置自定义post请求_基于dio库封装flutter项目的标准网络框架
网络框架是每个应用的基石,封装一个好的网络框架不仅是项目的一个好的开始,并且直接影响到随后项目的稳定性和可扩展性.在移动开发的各个端都有非常赞的网络请求基础框架,比如Android的okhttp库.s ...
- Flutter 学习第四天 第一个flutter项目
这个转自我自己的有道云 想看图片去那里 文档:Day2_26 Dart 面向对象 异步语法.md 链接:http://note.youdao.com/noteshare?id=1dc3ee54f0dd ...
- Flutter项目快速搭建指南
本文字数:8683字 预计阅读时间:30 分钟 前言: 笔者在这之前已经有一年时间没有接触过flutter项目的开发了,目前由于新项目的需要,要重新开始搭建一个flutter项目.让我感到惊讶的是,f ...
- 七分努力二分喜悦一分失望---PMP学习考试总结
七分努力二分喜悦一分失望 ------PMP学习考试总结 2010年3月27日参加PMP考试,4月20日接到考试通过的邮件,一直想写个学习总结,只是从4月开始备考信息系统监理师,所以一直没有时间写,5 ...
最新文章
- BOS项目 第2天(BaseDao、BaseAction、用户登录、自定义strust登录拦截器)
- 春节将至 香港推广“绿色年宵”呼吁惜物减废
- 调用 fork() 两次以避免僵死进程
- 偷懒的inline-block解决方法
- RPC实现Provider服务端业务逻辑
- 10G_Ethernet_01 万兆以太网设计引言
- 【MySQL】MySQL自带的数据库
- 汉诺塔(三) 判断操作是否合法 + 栈(stack)数组
- 如何解决logcat TAG过长时Android studio提示错误的问题
- stm32mp1 Cortex M4开发篇6:TIM定时器中断
- 6款 jQuery Lightbox图片查看触控插件
- 怎么把多个pdf文件合并成一个?
- 计算机窗口的基本组成部分组成部分,windows7窗口的主要组成部分有哪些
- android的otg功能,android怎么打开otg功能
- 安卓系统命令 ftp服务器,安卓手机 ftp服务器
- 2021年边缘计算融资汇总
- cisco 2960交换机密码恢复教程
- dell服务器更换硬盘raid,DELL T620服务器硬盘坏,更换硬盘做RAID同步
- 小红书算法sign php,小红书API签名算法分析
- (二)Java线程与系统线程,生命周期
热门文章
- Visio中添加《include》包含符号
- 时空序列预测之PredRNN++(Casual LSTM和GHU解决时空预测学习中的深度困境)
- App Store,“穷人靠变异”的爬虫路
- 飞凌单片机解密_GX28E01单片机解密
- 跟着团子学SAP PS后台篇——项目编码配置 OPSJ/OPSK
- java wildcard_java泛型 wildcard
- 读书笔记:《人类简史:从动物到上帝》
- 极简OpenFoam编程
- 单元测试中 Right-BICEP 和 CORRECT
- 电脑连接手机热点用百度云下载一会后断网