0%

上一篇 Dart 语法的文章中介绍了对 FutureStreamsunwrap 操作以及 ListMap的展开、合并和过滤等等,总觉得有点意犹未尽,还有很多有意思的并没有提到,本篇文章来介绍一下 Dart 语言中面向对象的内容——构造函数,在我们日常开发中,对象的初始化(构造函数)有哪些方式,它们之间的区别在哪里,不同的构造函数都适用于哪些场景呢,本篇文章来聊聊这些内容。

阅读全文 »

181732186465_.pic.jpg

设计模式作为软件开发中的经典解决方案,在 Flutter 的开发中也能为我们提供强大的架构支持。本文来介绍一下如何在 Flutter 中来实现抽象工厂设计模式,以及如何创建一系列相关或依赖对象并优雅地管理它们之间的复杂依赖关系。

阅读全文 »

事情是这样的,前段时间和前端的同事在讨论关于前端 UI 库的问题,还列举了几个知名度比较高的 UI 库,如:有比较早的 Bootstrap,还有 Element UIAnt Design 等等,提到了 FlutterUI 库时,突然发现好像没怎么用到第三方的 UI 库,平时开发的时候用的最多的是 Flutter 自带 Material Design 组件库,直接支持谷歌 Material Design 规范,提供丰富的 Android 风格组件和主题配置,还有为 iOS 应用设计 Cupertino 组件库,是的 Flutter 开发的应用也能做到原生的视觉体验,加上 Flutter 官方库中还包含一些基础 Widgets,比如 ContainerRowColumnStack 等,这些是构建 Flutter 界面的核心组件,支持高灵活性的自定义布局。已经有了这么多官方的 UI 组件,还需要第三方的 UI 库吗?这个问题我们先放一放,这里先来盘点一下个人觉得比较好用的开源的 Flutter 第三方组件库。

阅读全文 »

随着项目功能模块越来越多,怎么去管理这些私有组件包是一个不得不面对的问题,特别对于团队开发来讲,一些通用的公共组件往往会在多个项目间使用,多的有几十个,每个组件包都有有自己的版本,组件包之间还有依赖关系,那么如何在团队内部共享私有组件包,控制依赖私有组件包的版本和组件包的更新维护,而且要确保其安全环境,也就是没有公网无法访问的安全环境,这些都是需要考虑的,如何去管理这些组件对提升开发效率和代码质量就显得尤为重要,那有日常开发中哪些的方式来管理私有组件库呢?本篇文章就来介绍一下。

阅读全文 »

最近做可视化数据要用到折线图表来展示数据,Flutter 中的图表库有 charts_flutterfl_chart 等,从易用性上最终决定了使用 fl_chart ,本文以国家统计局房价指数为数据来源,来实现一个 fl_chart 图表的小项目。

阅读全文 »

Flutter 中常用到或者见到的关键字做一个收集和介绍。

1.showhideas

import 文件的时候,使用 show 关键字可以仅导入库中的某个特定部分,而不是整个库。在你只需要库中的一部分内容的时候非常有用,避免不必要的命名冲突,也能明确哪些部分被使用。而 hide 关键字可以导入库的大部分内容,但排除特定的部分。这在你需要库的几乎所有内容,但想要避免特定部分的命名冲突时非常有用。as 则为导入的库起个别名,避免类名冲突。

阅读全文 »

 _2_.png

日常开发中,Flutter 弹框(Dialog)是我们使用频率非常高的控件。无论是提示用户信息、确认用户操作,还是表单填写,弹框都能派上用场。然而,看似简单的弹框,实际使用起来却有不少坑和使用的技巧。今天,我们就来聊聊这些弹框的使用技巧,文末还有关于在 bloc 如何使用弹框的内容,保证你看完之后干货满满,下面直接开始吧。

阅读全文 »

Flutter _1_.png

谈到设计模式这个“古老”的话题,大家先别急着划走哈,虽然对它再熟悉不过,几乎是最初开始学习编程到现在伴随着我们整个编程生涯,最早 JavaC++ 语言实现的各种设计模式到现在还会经常有所接触,面试中也是必问的环节,在开发 Flutter 项目的时候,也会多少借鉴了其它语言设计模式的实现,但始终觉得dart 语言实现的设计模式理解不够系统,有的实现还缺点儿 dart 语言本身的语法特性。加上最近在看一些 Flutter 框架及常用第三方插件的源码时候,发现这些源码背后或多或少都有设计模式的影子。铺垫了这么多,还真不是我在这里故意卷Flutter 设计模式这些个话题,它对于我们日常编写高质量代码及理解 dart 语言特性、Flutter 的框架和热门第三方插件、OOP 设计模式、理解SOLID 原则及其应用、代码架构或软件工程等还是有很大的帮助的。既然这么多的好处,那还等什么呢?

阅读全文 »

在本系列的依赖管理篇讲到了以路由依赖为例子来介绍如何做依赖设计的,具体操作就是将抽象类 AppNavigator 和实现类 AppNavigatorImpl 通过依赖注入的方式联系起来,而在使用的时候调用 AppNavigator ,不再关心具体的实现逻辑,这种设计在做组件分层和处理多个组件间的依赖关系的时候显得尤为重要,也很好的诠释了软件架构设计中的 依赖于抽象而不是具体的实现。但是关于 Flutter 中路由管理知识以及在大型项目中如何做路由设计很少有介绍,本篇就来说一说路由管理在大型的项目的实践。

阅读全文 »