上一篇 Dart
语法的文章中介绍了对 Future
、Streams
的 unwrap
操作以及 List
、Map
的展开、合并和过滤等等,总觉得有点意犹未尽,还有很多有意思的并没有提到,本篇文章来介绍一下 Dart
语言中面向对象的内容——构造函数,在我们日常开发中,对象的初始化(构造函数)有哪些方式,它们之间的区别在哪里,不同的构造函数都适用于哪些场景呢,本篇文章来聊聊这些内容。
Flutter 设计模式全面解析:抽象工厂
设计模式作为软件开发中的经典解决方案,在 Flutter
的开发中也能为我们提供强大的架构支持。本文来介绍一下如何在 Flutter
中来实现抽象工厂设计模式,以及如何创建一系列相关或依赖对象并优雅地管理它们之间的复杂依赖关系。
Flutter 开发者必看!七个超实用的第三方 UI 库推荐
事情是这样的,前段时间和前端的同事在讨论关于前端 UI
库的问题,还列举了几个知名度比较高的 UI
库,如:有比较早的 Bootstrap
,还有 Element UI
、Ant Design
等等,提到了 Flutter
的 UI
库时,突然发现好像没怎么用到第三方的 UI
库,平时开发的时候用的最多的是 Flutter
自带 Material Design
组件库,直接支持谷歌 Material Design
规范,提供丰富的 Android
风格组件和主题配置,还有为 iOS
应用设计 Cupertino
组件库,是的 Flutter
开发的应用也能做到原生的视觉体验,加上 Flutter
官方库中还包含一些基础 Widgets
,比如 Container
、Row
、Column
、Stack
等,这些是构建 Flutter
界面的核心组件,支持高灵活性的自定义布局。已经有了这么多官方的 UI
组件,还需要第三方的 UI
库吗?这个问题我们先放一放,这里先来盘点一下个人觉得比较好用的开源的 Flutter
第三方组件库。
这么好看的 Flutter 搜索框,快来看看是怎么实现的
最近项目中在实现一个搜索的功能,根据 Flutter
的类似组件的调用习惯,输入 showSearch
后发现还真有,跳进源码中一看,Flutter
已经实现了相应的 Widget
和交互,简直不要太方便了,先来看看如何调用的。
Flutter大型项目架构:私有组件包管理
随着项目功能模块越来越多,怎么去管理这些私有组件包是一个不得不面对的问题,特别对于团队开发来讲,一些通用的公共组件往往会在多个项目间使用,多的有几十个,每个组件包都有有自己的版本,组件包之间还有依赖关系,那么如何在团队内部共享私有组件包,控制依赖私有组件包的版本和组件包的更新维护,而且要确保其安全环境,也就是没有公网无法访问的安全环境,这些都是需要考虑的,如何去管理这些组件对提升开发效率和代码质量就显得尤为重要,那有日常开发中哪些的方式来管理私有组件库呢?本篇文章就来介绍一下。
Flutter 图表查看国家统计局的房价指数
最近做可视化数据要用到折线图表来展示数据,Flutter
中的图表库有 charts_flutter
、fl_chart
等,从易用性上最终决定了使用 fl_chart
,本文以国家统计局房价指数为数据来源,来实现一个 fl_chart
图表的小项目。
解锁 Flutter 的神秘关键字,快来一探究竟!
Flutter中如何优雅地使用弹框
日常开发中,Flutter
弹框(Dialog
)是我们使用频率非常高的控件。无论是提示用户信息、确认用户操作,还是表单填写,弹框都能派上用场。然而,看似简单的弹框,实际使用起来却有不少坑和使用的技巧。今天,我们就来聊聊这些弹框的使用技巧,文末还有关于在 bloc
如何使用弹框的内容,保证你看完之后干货满满,下面直接开始吧。
Flutter设计模式全面解析:单例模式
谈到设计模式这个“古老”的话题,大家先别急着划走哈,虽然对它再熟悉不过,几乎是最初开始学习编程到现在伴随着我们整个编程生涯,最早 Java
、C++
语言实现的各种设计模式到现在还会经常有所接触,面试中也是必问的环节,在开发 Flutter
项目的时候,也会多少借鉴了其它语言设计模式的实现,但始终觉得dart
语言实现的设计模式理解不够系统,有的实现还缺点儿 dart
语言本身的语法特性。加上最近在看一些 Flutter
框架及常用第三方插件的源码时候,发现这些源码背后或多或少都有设计模式的影子。铺垫了这么多,还真不是我在这里故意卷Flutter
设计模式这些个话题,它对于我们日常编写高质量代码及理解 dart
语言特性、Flutter
的框架和热门第三方插件、OOP
设计模式、理解SOLID
原则及其应用、代码架构或软件工程等还是有很大的帮助的。既然这么多的好处,那还等什么呢?
Flutter大型项目架构:路由管理篇
在本系列的依赖管理篇讲到了以路由依赖为例子来介绍如何做依赖设计的,具体操作就是将抽象类 AppNavigator
和实现类 AppNavigatorImpl
通过依赖注入的方式联系起来,而在使用的时候调用 AppNavigator
,不再关心具体的实现逻辑,这种设计在做组件分层和处理多个组件间的依赖关系的时候显得尤为重要,也很好的诠释了软件架构设计中的 依赖于抽象而不是具体的实现。但是关于 Flutter
中路由管理知识以及在大型项目中如何做路由设计很少有介绍,本篇就来说一说路由管理在大型的项目的实践。