飞镖:流VS ValueNotifiers

问题描述 投票:3回答:3

我工作的一个团队正在开发其需要与传感器的工作表示车辆的状态的应用程序。这种状态可以或者通过通过外部硬件传感器的给定值来表示,或者通过移动设备自身的传感器最低限度地工作。并且我们想交换传感器封装的能力(移动或外部传感器之间切换)。我们也希望以异步方式显示这些价值观,我们正在研究在颤振/飞镖流和ValueNotifiers。

什么是去(流VS ValueNotifier)的最好方法?

mobile dart stream flutter
3个回答
5
投票

ValueNotifier是非常轻便,这就是为什么扑框架使用它们。 他们不想施加任何性能损失不管多么小,如果能够避免它。

流功能更加强大,expecially他们的组合性,可以很容易使用像由https://pub.dartlang.org/packages/rxdart提供的那些高层次的功能。

在由扑队取得同样的性能考虑您的自定义代码使用ValueNotifier可能是过早的优化。

我建议对业务逻辑流。


1
投票

为了补充冈特的答案,看看这个article。如果你没有对集团架构或数据流的任何以前的知识,这是启动并实施的好方法。


1
投票

我要去跳上即使我太迟了这次谈话。我认为这是为开发者言过其实流/集团/ RX /等的倾向。当然,欧元区的体系结构是强大的,但对我来说,似乎提供了很多样板相比,像ScopedModel - 本质上这似乎是一个InheritedWidget的内部版本ValueNotifier的。

该ScopedModel是好的,因为你可以把一个小部件ScopedModelDescendent(显然这是放置在ScopedModel内)内,让你随时调用notifyListeners()方法,你在实际ScopeModel改变值更新的孩子们。或者你可以使用它作为一种通过使用.of(上下文)抓住一些简单的数据,或者调用一个函数 - 这是更昂贵,因为它传播了widget树找到ScopedModel,所以我使用的东西像发送警报或初始化,调用构建之前从范围内的需要的数据的组件。

虽然,把我的意见与一粒盐。我只是一个有自己的见解小白。这也有助于解释为何我流/ BLOC不屑。我真的只是想简单的解决方案,而不是更强大的。如果我需要更多的功率的情况,然后我倾向于只是建立了一个定制的解决方案。就像在所有的事情,有一个用例为这些模式。

© www.soinside.com 2019 - 2024. All rights reserved.