Skip to content

arez/arez

Repository files navigation

Arez

Arez

Build Status codecov GWT3/J2CL compatible

Arez is a simple, efficient and scalable state management library for client-side applications. Arez is powered by the reactive programming model found in spreadsheets, a dataflow programming model. Arez tracks usage of observable data and notifies observers when the observable data changes. The library scales from simple, flat domain models to complex, highly inter-connected graph-like domain models. Arez trades a higher memory usage for a faster execution speed and better developer experience. Arez is optimized for developer happiness by eliminating the need to monitor state changes. Instead, applications react to state changes on demand.

Arez is under heavy development, and sometimes the documentation does not keep up to date. However the goal of the toolkit is to be easy to use, and this includes clear and concise documentation. If something is unclear please report it as a bug because it is a bug. If a new user has a hard time, then we need to fix the problem.

For more information about Arez, please see the Website. For the source code and project support, please visit the GitHub project.

Contributing

Arez was released as open source so others could benefit from the project. We are thankful for any contributions from the community. A Code of Conduct has been put in place and a Contributing document is under development.

License

Arez is licensed under Apache License, Version 2.0.

Credit

  • Stock Software for providing significant support in building and maintaining Arez. The company was willing take a risk and base their next suite of applications on an idea and the bet paid off.

  • The toolkit began life as an attempt to port Mobx to java. Not all of the Mobx primitives made sense in a java world. There were also places where it was felt that we could improve on the Mobx model, at least for our environment. The idea of a "port" was soon discarded and Arez became a reimplementation of similar concepts. However there are some places (i.e. Transaction.completeTracking()) where the Mobx heritage is clear. Credit goes to Michel Weststrate and the Mobx team for their clean conceptual model and some inspirational talks. Later in the life of Arez, parts of the Mobx documentation acted as inspiration or were directly copied and modified (i.e. MobX's (@)computed) docs were used to seed docs/computable_values.md).

  • Other frameworks that influenced or are influencing the development of Arez include;