Skip to content

Feature proposals

Quentin Roy edited this page Apr 25, 2017 · 3 revisions

Syntax optimization

Currently, each filter syntax will be re-evaluated each time new data comes along. Different possibilites includes:

  1. Memoization
  2. Accept compiled syntax enabling pre-compilation
  3. Modify version of bind filter to get pre-compiling type of filters.

3 looks like the way to go as bound filters can also make the adaptation and distribution declaration more readable.

Synced data initialization

Protect against non string <Context> properties

Better manage the disconnected state

Currently there is a mismatch between the initialization (isConnected=false because the connection has not been established yet) where the application receives a default context and data value, and the disconnected state where it receives nothing but isConnected.

Advanced context syntax

Ability to specify target context property in the Reacolo grammar itself, allowing OR cases with context property E.g. roles:(phone & watch) | activity:walking

Custom orchestrators

E.g., Panelrama’s optimization with Reacolo.

Self-sufficient Context

I.e. Context that does not need to be contained in a Filter.

Usage with Redux

  • Reacolo alone should be easy (just need to connect Filter)
  • Creation of a Middleware for the synchronization?

Usage with Cordova

  • Implements a Cordova plugin for easy creation of native application using Reacology

Usage with React-Native

  • It is possible to use a Cordova plugin with react native (may be the way to go)
    • But it looks a bit troublesome

Cross-device reducer

  • Reacolo is not good at cross-device interaction because it is not easy to create state mutation from sources coming from different devices.
  • One idea would be to use reducers, running on only one of the devices (and only able to access the state) to merge the data. Of course, it implies that this reducer is able to ‘listen’ to events.
    • RxJs?

JS Events

Currently the ecology bridge only support data sync but not events.

Non graphical UI settings (e.g. IoT)

Enable to setup non graphical UI IoT node (e.g. lightbulb) inside the reacolo syntax. The goal is to be able to integrate these components as UI component themselves.