dart

Flutter EventBus消息总线

亡梦爱人 提交于 2020-10-26 02:47:33
1、前言 在APP中,我们经常会需要一个广播机制,用以跨页面事件通知,Flutter中我们可以使用event_bus提供的事件总线功能来实现一些状态的更新,其核心是基于Dart Streams(流);事件总线通常实现了订阅者模式,订阅者模式包含发布者和订阅者两种角色,可以通过事件总线来触发事件和监听事件,接下来我将学习event_bus,并异步实现主题颜色的更新。 2、Flutter中集成EventBus 在pubspec.yaml文件中添加event_bus,当前版本1.1.0: event_bus: ^1.1.0 在dart代码中引入: import 'package:event_bus/event_bus.dart'; 现在已经引入event_bus插件库了,接下来可以在对应类中引入使用event_bus,也许使用flutter插件库都是同样的步骤吧! 3、创建EventBus 通常每个应用程序只有一个事件总线,但可以设置多个事件总线以对一组特定事件进行分组,因此新建event_bus.dart类,在类中创建EventBus实例,并使其能够在其他类中被使用,并定义了ThemeColorEvent通知修改主题颜色的事件: import 'package:event_bus/event_bus.dart'; /// 创建EventBus EventBus eventBus =

Flutter开发初探

旧巷老猫 提交于 2020-10-25 19:39:53
目前跨端开发比较热门的就是 React Native 和 Flutter 了,到底该选哪门技术似乎也快成了大前端圈的一个热门话题。对于web前端来说,基于web生态的 React Native 应该是一个更加顺畅而自然的选择;但 Flutter 让人动心的地方就是高性能和 跨端UI一致性。而 React Native 发展不太明朗和 Flutter 越发成熟的走势对比促使我从观望的心态转为加入 Flutter 。 这里主要就是记录一下学习 Flutter 的一些感想和看法: 包管理 布局和样式 json 状态管理 包管理 pubspec.yaml 文件的作用类似于 npm 的 package.json ,而yaml格式也比json方便。但是不能用命令行自动安装包却让习惯了npm的我觉得麻烦。因为Flutter 安装依赖包是这么一个流程: 打开 pub.dev 网站; 搜索需要的包,得到包的名称和版本; 把包名称和版本填入 pubspec.yaml ,最后才开始下载包。 我觉得应该直接命令行安装包,让它帮我们下载,名称版本自动写入 pubspec.yaml 。如果没有指定版本就是默认下载最新版本,因为很多时候我们并不想知道版本号,给我个能用的最新的版本号就ok了。 布局和样式 就和很多人想的一样,为什么不使用 jsx 或者 xml 格式进行布局,因为基于代码的方式看起来太不直观了